我有以下代码:
$exclude = 'Remote Admin', 'Remote IPC', 'Default share'
$shared = Get-WmiObject Win32_Share |
Where-Object { $exclude -notcontains $_.Description } |
Select-Object -Expand Path
$FilesToSearch = Get-ChildItem $shared -Filter '*_HELP_instructions*' -Recurse -ErrorAction SilentlyContinue
If($FilesToSearch -ne $null)
{
Write-Host "System Infected!"
exit 2015
}
else
{
Write-Host "System Clear!"
exit 0
}
基本上是扫描本地服务器上的所有共享,以查找文件名中包含 _HELP_instructions 的任何文件。
如果找到与此名称匹配的文件,则输出" System Infected!"到控制台并使用特定代码退出脚本。
我希望它能够实际详细说明受感染的共享位置并将其输出到控制台。输出看起来像"网络共享E:\数据\客户端被感染!"。
这可以实现吗?
非常感谢
答案 0 :(得分:1)
$ FilesToSearch是一个包含您找到的文件的数组。 所以要实现你想要的目标:
If($FilesToSearch -ne $null)
{
foreach ($file in $FilesToSearch){
Write-Host "System Infected! Directory:" $file.DirectoryName
}
exit 2015
}