[英]Powershell script: List files with specific change date (Amount if possible)
对于许可证文件,我尝试自动进行计数过程,而不必登录到每个服务器,进入目录,搜索文件名并根据更改日期对结果进行计数。
我是否要针对:每个月运行一个Powershell脚本,以递归方式在目录“ C:\\ Users”中检查文件“ Outlook.pst”。 然后按更改日期(一个月或更晚)过滤结果。 然后将其打包到电子邮件中以发送到我的收件箱。
我不确定这是否可行,因为我对Powershell相当陌生。 感谢您的帮助!
有可能的。
我不知道如何在远程计算机上启动ps会话,但是我认为cmdlet Enter-PSSession可以解决问题。 或至少它是搜索“打开远程Powershell会话”时的第一个结果。 如果这样不起作用,请按lit的建议使用Invoke-Command
来获取$ outlookFiles,如下所示。
其余使用此。
$outlookFiles = Get-ChildItem -Path "C:\Users" -Recurse | Where-Object { $_.Name -eq "Outlook.pst" }
现在,您拥有了所有具有该名称的文件。 如果您不熟悉Powershell中的管道,它将使用Get-ChildItem找到的所有对象重定向到下一个管道部分,此处Where-Object将过滤接收到的对象。 如果当前对象($ _)将通过条件,则它将由整个命令返回。
现在,您可以再次过滤这些对象,使其仅包含最新对象。
$latestDate = (Get-Date).AddMonths(-1)
$newFiles = $outlookFiles | Where-Object { $_.LastAccessTime -gt $latestDate }
现在,您可以在一个对象中拥有所需的所有数据。 现在,您只需$mailBody = $newFiles | Out-String
自己喜欢的方式对其进行格式化,例如,可以使用$mailBody = $newFiles | Out-String
$mailBody = $newFiles | Out-String
,然后使用Send-MailMessage -To x@yz -From r@gb -Body $mailBody
发送邮件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.