Заметки о Windows и других программных продуктах Microsoft...

Управление Windows Defender с помощью PowerShell

Управление Windows Defender с помощью PowerShell

Защитник Windows (Windows Defender) — программный продукт компании Microsoft, предназначенный для защиты от вредоносных программ. Впервые Defender появился как антивирусная утилита в Windows XP, а начиная с Vista он встроен в операционную систему и является ее неотъемлемой частью. В Windows 8 Defender объединен с другим антивирусным продуктом Microsoft Security Essentials, так что на данный момент он представляет собой полноценный антивирус.

Windows Defender достаточно производителен и нетребователен к ресурсам.  Он умеет обновляться с внутреннего сервера обновлений WSUS, так что его вполне можно использовать не только на домашних компьютерах, но и в корпоративных сетях. Но основным достоинством Defender является простота использования, ведь он уже имеется в системе, включен по умолчанию и практически не требует настройки.

В большинстве случаев Defender неплохо работает с настройками по умолчанию, однако иногда их все же требуется изменить. Наибольшее количество настроек доступно из консоли PowerShell, где для этих целей есть специальный модуль Defender. Он появился в PowerShell 4.0 и предназначен для управления Windows Defender. В него входит 11 командлетов, которые мы сегодня и рассмотрим.

список командлетов для управления Defender

 

Get-MpComputerStatus выводит данные о состоянии антивируса — включенные опции, дату обновления и версии антивирусных баз, расписание и дату последней проверки и многое другое.

вывод состояния защиты

 

Для вывода настроек Defender можно использовать командлет Get-MpPreference, а для изменения — соответственно Set-MpPreference. Например, нам надо включить сканирование съемных дисков. Выведем текущие настройки сканирования командой:

Get-MpPreference | fl disable*

Параметр DisableRemovableDriveScanning имеет значение True, т.е. сканирование съемных дисков отключено. Включим его командой:

Set-MpPreference -DisableRemovableDriveScanning $false

вывод настроек Defender

 

Также для добавления\удаления новых параметров можно использовать командлеты Add-MpPreference и Remove-MpPreference. Для примера добавим в исключения антивируса пару папок:

Add-MpPreference -ExclusionPath C:\Temp, C:\Windows

А затем удалим одну:

Remove-MpPreference -ExclusionPath C:\Windows

изменение настроек Defender

 

Запуск обновления производится командлетом Update-MpSignature. По умолчанию для обновления Defender использует дефолтные настройки компьютера, но с помощью параметра UpdateSource можно указать, откуда именно забирать обновления. Для него можно указать следующие значения:

InternalDefinitionUpdateServer — внутренний сервер обновлений (WSUS);
MicrosoftUpdateServer — сервер обновлений Microsoft;
MMPC — Microsoft Malware Protection Center;
FileShares — файловая шара.

Для примера запустим обновление и укажем в качестве источника Microsoft Malware Protection Center:

Update-MpSignature -UpdateSource MMPC

запуск обновления вирусных баз

 

Примечание. Если вы хотите указать в качестве источника файловую шару, то надо предварительно скачать необходимые обновления в Microsoft Malware Protection Center и поместить их в сетевую папку, после чего прописать путь к папке в настройках антивируса. Сделать это можно командой:

Set-MpPreference -SignatureDefinitionUpdateFileSharesSources \\server\share

Для запуска сканирования предназначен командлет Start-MpScan. Тип сканирования задается параметром ScanType, который может принимать одно из трех значений:

FullScan — полная проверка.  Выполняется проверка всех файлов на компьютере, а также системного реестра и запущенных в текущий момент программ;
QuickScan — быстрая проверка. Производится анализ только тех областей, которые наиболее вероятно могут быть заражены вредоносными программами;
CustomScan — выборочная проверка. Предоставляется возможность выбрать область для сканирования.

Для примера запустим выборочную проверку системной папки Windows командой:

Start-MpScan -ScanType CustomScan -ScanPath C:\Windows

запуск сканирования

 

Стоит упомянуть, что все командлеты могут выполняться не только локально, но и удаленно. Для этого он имеют параметр CimSession. Для примера посмотрим дату последней проверки на удаленном компьютере wks81:

$session = NewCimSession -ComputerName wks81
Get-MpComputerStatus -CimSession $session | fl fullscan*

запуск команды в удаленной сессии

 

В заключение несколько замечаний.

• На данный момент Windows Defender входит в состав только клиентских ОС. В текущих серверных версиях Windows он отсутствует, хотя в недавно появившейся бета-версии Windows Server его можно установить как серверную фичу (features);
• По умолчанию  PowerShell 4.0 (в который входит модуль Defender) есть только в Windows 8.1\Server 2012 R2. Для Windows 7, Windows Server 2008R2\2012 его можно загрузить здесь:  http://www.microsoft.com/en-us/download/details.aspx?id=40855;
• Более подробное описание всех командлетов Windows Defender и их параметров можно найти здесь: http://technet.microsoft.com/en-us/library/dn433280.aspx.

 
 
Комментарии
Андрей Владимирович

Добрый день.
Я правильно понял, что нет возможности через PS выключить Defender?

Если надо временно отключить, то можно так:
Set-MpPreference -DisableRealtimeMonitoring $true
Совсем выключить через этот модуль нельзя, можно через реестр. С помощью PoSh будет выглядеть примерно так:
Set-ItemProperty -Path «HKLM\Software\Policies\Microsoft\Windows Defender» -Name «DisableAntiSpyware» –Value 0

Ответить