FSRM powershell行为

我正在处理一个脚本,可以将它推送到几十台Windows Server 2012 / 2012R2服务器,以启用FSRM文件屏幕,当它们检测到正在写入磁盘的特定文件名时,它将向事件日志中写入警报。

$a = gwmi win32_logicaldisk -filter DriveType=3 | Select -ExpandProperty DeviceID Install-WindowsFeature -Name FS-Resource-Manager -IncludeManagementTools New-FsrmFileGroup -Name "CryptoWall File Monitor" -IncludePattern @("*DECRYPT*") $Notification = New-FsrmAction -Type Event -EventType Warning -Body "Alert text here" -RunlimitInterval 30 foreach ($i in $a){ New-FsrmFileScreen -Path "$i" -IncludeGroup "CryptoWall File Monitor" -Notification $Notification } 

现在,脚本本身工作正常,只有一个小问题:运行时,第一个文件屏幕(通常在C :)上具有正确的设置:

 Active : False Description : IncludeGroup : {CryptoWall File Monitor} MatchesTemplate : False Notification : {MSFT_FSRMAction} Path : C:\ Template : PSComputerName : 

但后来的屏幕不(注意下面的Active:True输出)

 Active : True Description : IncludeGroup : {CryptoWall File Monitor} MatchesTemplate : False Notification : {MSFT_FSRMAction} Path : D:\ Template : PSComputerName : 

运行New-FSRMFileScreen cmdlet时,“Active”属性应该使用-Active标志显式设置,我相当确信我不会以某种方式插入循环的后续迭代中。

这是一个问题,因为我们确实希望在端点发生Cryptowall感染的情况下将文件写入磁盘。 恶意软件通常会将文件写入受影响的目录,并提供有关如何支付赎金的“帮助”指示,这意味着要尽快警告我们正在发生的事情。 如果文件屏幕主动阻止文件被写入磁盘,事后识别受影响的文件将变得更加困难。

那么这是一个错误,还是我犯了一个错误?

是否有一些原因,你为什么不通过-Active:$false开关显式设置选项为false? 我还没有testing过,但是这肯定好像应该强制它永远closures。