使用Write-Host将网络共享位置输出到控制台

时间:2016-12-15 10:47:17

标签: powershell

我有以下代码:

$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:\数据\客户端被感染!"。

这可以实现吗?

非常感谢

1 个答案:

答案 0 :(得分:1)

$ FilesToSearch是一个包含您找到的文件的数组。 所以要实现你想要的目标:

If($FilesToSearch -ne $null) 
{
    foreach ($file in $FilesToSearch){
        Write-Host "System Infected! Directory:" $file.DirectoryName
    } 
    exit 2015
}