Назад | Перейти на главную страницу

С чем связаны перечисления Powershell ThreatAction в Защитнике Windows?

Я смотрю на конфигурацию Защитника по умолчанию в Server 2016. Я не знаю, как определить, что эти «0» означают для ThreatDefaultAction:

HighThreatDefaultAction                       : 0
LowThreatDefaultAction                        : 0
MAPSReporting                                 : 2
ModerateThreatDefaultAction                   : 0

Я бы подумал от Set-MpPreference документация, что это Карантин, но тот же кусок текста ссылается на набор параметров, который начинается с «Очистить», а не «Карантин». В этом объяснении ThreatIdDefaultActions даже нет 0 в списке: Добавить-MpPreference

Определенно похоже, что там нет документации. Если вы посмотрите на пример для SignatureScheduleDay он намного лучше документирует сопоставление, которое выстраивается в точном соответствии с их списком в наборе параметров.

Лучше всего было бы, чтобы они отображались в соответствии с «Наборами параметров». Что также соответствует синтаксической части файла справки:

                             0   |      1     |   2    |   3   |      4      |     5    |   6   
[-HighThreatDefaultAction {Clean | Quarantine | Remove | Allow | UserDefined | NoAction | Block}]

Я проверил, указана ли проблема для этого в github, и не нашел. Вы определенно можете узнать больше здесь: https://github.com/MicrosoftDocs/windows-powershell-docs/blob/master/docset/windows/defender/set-mppreference.md

Хорошо, получил ответ от службы поддержки Microsoft. 0 то же самое, что и NULL (пример документов Вот), что означает соблюдение значений по умолчанию, которые Microsoft применяет к каждой угрозе. Другими словами, каждый вирус, вредоносное ПО и т. Д. к нему прилагаются меры серьезности и угрозы (т. е. смягчение). «0» в GetMpPreference означает использование этого смягчения, а не любое значение, которое вы могли бы здесь указать, чтобы переопределить это универсально для каждого уровня серьезности. Надеюсь, что это поможет любым будущим путешественникам.

Все HighThreatDefaultAction, LowThreatDefaultAction, ModerateThreatDefaultAction, SevereThreatDefaultAction и UnknownThreatDefaultAction являются свойствами [ThreatAction] перечислить тип. Их значение указывает, какое автоматическое действие по исправлению необходимо предпринять для дано уровень угрозы.

Следует учитывать нулевую стоимость любого вышеуказанного свойства. неопределенный как успешно выполнено Remove-MpPreference командлет устанавливает их значение в ноль. Демонстрация в следующем примере:

PS C:\WINDOWS\system32> Import-Module Defender

PS C:\WINDOWS\system32> Get-MpPreference | Select-Object -Property *DefaultAction


HighThreatDefaultAction     : 2
LowThreatDefaultAction      : 0
ModerateThreatDefaultAction : 0
SevereThreatDefaultAction   : 2
UnknownThreatDefaultAction  : 0


PS C:\WINDOWS\system32> Remove-MpPreference -Force -HighThreatDefaultAction

PS C:\WINDOWS\system32> Get-MpPreference | Select-Object -Property *DefaultAction


HighThreatDefaultAction     : 0
LowThreatDefaultAction      : 0
ModerateThreatDefaultAction : 0
SevereThreatDefaultAction   : 0
UnknownThreatDefaultAction  : 0

Однако есть еще одна неясность Set-MpPreference документация; например:

-HighThreatDefaultAction

Указывает, какое автоматическое действие по исправлению необходимо предпринять для угрозы высокого уровня. Допустимые значения для этого параметра:

Quarantine
Remove
Ignore

но попытка Set-MpPreference -HighThreatDefaultAction Ignore приводит к InvalidData ошибка как [ThreatAction] перечисление типов не содержит имени Ignore:

PS > Import-Module Defender
PS > [Microsoft.PowerShell.Cmdletization.GeneratedTypes.MpPreference.ThreatAction] |
    Get-EnumValue

Name                           Value
----                           -----
Clean                          1
Quarantine                     2
Remove                         3
Allow                          6
UserDefined                    8
NoAction                       9
Block                          10

Обратите внимание Get-EnumValue функция исходит из это мой ответ на CodeReview.