Я работаю над сценарием, который я могу отправить на несколько десятков серверов 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 :
Атрибут "Активный" должен быть установлен явно с помощью -Active
флаг при запуске New-FSRMFileScreen
командлет, который, я уверен, я не вставляю каким-либо образом в последующие итерации цикла.
Это проблема, потому что мы действительно хотим, чтобы файлы были записаны на диск в случае заражения Cryptowall на конечной точке. Вредоносная программа обычно записывает файлы в затронутые каталоги с «полезными» инструкциями о том, как заплатить выкуп, и это означает как можно скорее предупредить нас о том, что что-то происходит. Если экран файла активно блокирует запись файлов на диск, становится труднее идентифицировать затронутые файлы постфактум.
Так это ошибка или я ошибся?
Есть ли причина, по которой вы не проходите -Active:$false
переключить, чтобы явно установить для параметра значение false? Я не тестировал, но это определенно похоже на то, что он должен всегда выключаться.