Управление Microsoft Defender в PowerShell: полное руководство
PowerShell — это не просто терминал для системных администраторов, а мощный инструмент автоматизации, который позволяет управлять компонентами Windows гораздо быстрее и точнее, чем через стандартный графический интерфейс. Если вам нужно установить специфическое программное обеспечение, конфликтующее с защитником, или проверить производительность системы без фоновой нагрузки, отключать антивирус кликами по меню неудобно. Одна строка кода решит задачу мгновенно.
Для полноценного управления состоянием защиты используйте следующие команды:
1. Полное отключение мониторинга в реальном времени Эта команда приостанавливает сканирование запускаемых файлов и процессов до тех пор, пока вы не дадите обратную команду или не перезагрузите компьютер. Set-MpPreference -DisableRealtimeMonitoring $true
2. Восстановление защиты после тестов Чтобы вернуть системе штатный уровень безопасности, достаточно изменить логическую переменную на противоположную. Set-MpPreference -DisableRealtimeMonitoring $false
3. Проверка текущего состояния (санити-чек) Прежде чем запускать сомнительный софт, полезно убедиться, что защита действительно спит. Эта связка команд выведет статус службы прямо в консоль. Get-MpPreference | Select-Object DisableRealtimeMonitoring Если в ответе стоит True — защита выключена, если False — активна.
4. Отключение с диагностикой процесса Добавление флага подробности (Verbose) заставляет систему проговорить каждое свое действие вслух. Это помогает сразу увидеть, если у терминала возникли проблемы с правами доступа к ядру безопасности. Set-MpPreference -DisableRealtimeMonitoring $true -Verbose
5. Повышенная надежность выполнения Если вы пишете скрипт для автоматического тестирования, добавьте параметр прерывания при ошибке. Если служба откажется выключаться (например, из-за корпоративной политики), скрипт немедленно остановится, а не продолжит работу в небезопасном режиме. Set-MpPreference -DisableRealtimeMonitoring $true -ErrorAction Stop
Важные нюансы работы в Windows 10 и 11:
Права администратора: Без повышения привилегий ничего не сработает. Нажмите «Пуск», введите PowerShell, кликните правой кнопкой мыши по результату и выберите «Запуск от имени администратора». Обычный пользовательский сеанс получит ошибку Access Denied.
Временный характер отключения: По умолчанию эти команды работают только до следующей перезагрузки. Microsoft Defender спроектирован как самовосстанавливающаяся система. После старта Windows проверка файлов включится снова, чтобы защитить незакрытую сессию. Для постоянного отключения придется использовать редактор групповых политик (gpedit.msc) или реестр.
Автоматизация тайминга: Часто требуется отключить защиту ровно на 10 минут установки программы. Вы можете объединить команды в один пакетный сценарий, используя утилиту timeout, чтобы не забыть включить щит обратно вручную.
Управление Microsoft Defender в PowerShell: полное руководство
Как проверить, что команды PowerShell изменили статус Microsoft Defender
Чтобы убедиться, что команды успешно применились и антивирус действительно изменил свое состояние, можно использовать несколько уровней проверки — от прямого запроса к консоли до анализа системных журналов.
Способ 1. Прямой запрос через Get-MpPreference Это самый точный метод, так как он опрашивает непосредственно объект настроек защитника в оперативной памяти системы.
Для получения простого логического ответа введите:
(Get-MpPreference).DisableRealtimeMonitoringРезультат: если защита отключена командой Set-MpPreference, вы увидите значение True. Если она активна — False.
Для более наглядного вывода с заголовком столбца используйте:
Get-MpPreference | Format-Table DisableRealtimeMonitoring -AutoSizeСпособ 2. Проверка через графический интерфейс (Безопасность Windows) Если вам неудобно читать текст в терминале, результат всегда отразится в меню параметров системы.
- Нажмите сочетание клавиш Win + I, чтобы открыть Параметры.
- Перейдите в раздел Конфиденциальность и безопасность.
- Выберите пункт Безопасность Windows, а затем — Защита от вирусов и угроз.
- В блоке Параметры защиты от вирусов и угроз посмотрите на переключатель Защита в режиме реального времени:
- Если он выключен и горит предупреждение о том, что устройство может быть уязвимо, значит, команда отработала.
- Обратите внимание: после выполнения команды в PowerShell карточке интерфейса может потребоваться 5–10 секунд на обновление статуса из-за кэширования данных службы.
Способ 3. Использование флагов при выполнении самой команды Чтобы не проверять статус постфактум, можно заставить PowerShell вывести подтверждение прямо в момент отключения. Используйте флаг Verbose:
Set-MpPreference -DisableRealtimeMonitoring $true -VerboseВ консоли появится подробный лог действий службы (например, VERBOSE: Performing the operation...), который подтвердит, что драйвер принял вашу команду без ошибок доступа Access Denied.
Способ 4. Анализ журнала событий (Event Viewer) Если команда выполнилась без красных ошибок, но визуально статус не изменился, причину нужно искать в системных логах операционной системы.
- Нажмите Win + R, введите eventvwr.msc и нажмите Enter.
- Раскройте путь: Журналы приложений и служб -> Microsoft -> Windows -> Windows Defender -> Operational.
- Ищите события с ID 5001 (означает Antivirus real-time protection monitoring has been disabled) или ID 5007 (изменение конфигурации).
- Дважды щелкнув по событию, во вкладке Общие вы увидите строку DisableRealtimeMonitoring = 1, что является прямым доказательством работы вашей команды.
Важное замечание о постоянстве настроек По умолчанию изменение через Set-MpPreference работает только до первой перезагрузки компьютера. Microsoft Defender спроектирован как самовосстанавливающаяся система безопасности. После старта Windows проверка файлов включится снова.
Если после перезагрузки (Get-MpPreference).DisableRealtimeMonitoring снова возвращает False, это нормальное поведение ОС. Для постоянного отключения требуется вмешательство через редактор групповых политик gpedit.msc или реестр, либо использование специализированных утилит для жесткой фиксации параметра.
проверить статус Microsoft Defender, Get-MpPreference PowerShell, Event Viewer код события 5001, отключить защиту в реальном времени, параметры безопасности Windows 11, верификация командлетов PS, verbose output powershell
Чтобы комментировать, зарегистрируйтесь или авторизуйтесь