[英]Need to scan all domain computers for .pst files
我是全新的powershell sctipting。 我有一些使用Exchange PowerShell的经验,但这一直是针对非常具体的项目,如调整日历权限等。 没有什么可以强大的。
目前我正在开发一个powershell脚本,通过组策略推出,该策略将在每台域PC上运行搜索。 我一直在寻求同事的帮助,但他现在无法使用,我有时很难跟着他。 我是这个网站,它的用户可能能够帮助我。 我想要做的事情(我相信我很接近)正在为域中的每台计算机提取驱动器列表。 一旦我拉出该列表,就将其输入变量,然后对该变量进行搜索,查找以.pst结尾的任何文件。 一旦搜索完成,如果搜索结果,则应使用每个文件的FUllname“路径”创建文件,并且应使用计算机名称来命名文件。 如果搜索没有结果,则文件将为空,但文件名仍应以计算机命名。 我相信我已经得到了一切正确,除了我不知道如何根据计算机名称命名文件。 感谢您的时间和帮助。
到目前为止,这是我的代码:
$drives=Get-WmiObject -query "SELECT * from win32_logicaldisk where
DriveType = '3'" | select deviceid
foreach ($drive in $drives){
$pstfound=Get-ChildItem $drive.deviceid *.pst -recurse | select
fullname
$pst+=$pstfound
}
IF ($pst -eq $null) {
$pst | Out-File \\"Servername"\Searchresults\Null
} Else {
$pst | Out-File \\"Servername"\Searchresults\HasItems
}
谢谢。 我最初并没有计划使用UNC路径,但无论如何都要改变它,我认为这样可以让以后更容易完成。 我还想出了在运行它的计算机后命名生成的文件的问题。 我只是设置一个变量$ hostname = hostname,然后将文件设置为\\ $ hostname.csv
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.