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

Начиная с Windows 8 продукт Windows Defender (Защитник Windows) получил функционал Microsoft Security Essentials и из простейшего сканера шпионских программ теперь стал полнофункциональным антивирусным решением, способным обнаруживать широкий спектр потенциально вредоносного ПО.

Поставляется бесплатно, функционирует как служба и обеспечивает проверку до входа пользователя в систему, а поэтому он интересен не только для персонального применения, но и для организаций, которые по тем или иным причинам не могут внедрить System Center 2012 Endpoint Protection или другие антивирусные решения.

На данный момент Windows Defender входит в состав клиентских версий ОС и Windows Server 2012 R2 в варианте установки Server Core и включен по умолчанию (https://technet.microsoft.com/en-us/library/b92b04bc-95db-4732-b4ec-d35b3f639275#BKMK_WindowsDefender). Это удобно, так как эти системы защищены сразу после установки. В недавно появившейся бета-версии Windows Server его можно установить как компонент (Install-WindowsFeature-Name Windows-Server-Antimalware).

Проверить статус работы службы можно, введя sc query Windefend.

Кроме GUI, настройки Windows Defender устанавливаются с помощью групповых политик (Computer Configuration - Admin Templates - Windows Components - Windows Defender). Кроме этого, в PowerShell 4.0 появился модуль Defender, состоящий из 11 командлетов ( https://technet.microsoft.com/en-us/library/dn433280.aspx). Просмотреть их список можно, введя комманду:

PS> Get-Command -Module Defender

Командлеты Get-MpComputerStatus и Get-MpPreference выводят данные о состоянии антивируса – версии антивируса и баз, включенные параметры, расписание, дату проверки и так далее. Все командлеты могут выполняться как локально, так и удаленно.

PS> $session = NewCimSession -ComputerName comp1 PS> Get-MpComputerStatus -CimSession $session

В настройках по умолчанию отключены IPS, проверка съемных дисков, email и некоторые другие. Для установки параметров используется командлет Set-MpPreference. Например, чтобы включить проверку внешних носителей, установим DisableRemovableDriveScanning в false (по умолчанию true):

PS> Set-MpPreference -DisableRemovableDriveScanning $false

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

PS> Add-MpPreference -ExclusionPath C:\Temp

Для обновления баз следует применять командлет Update-MpSignature, по умолчанию используются настройки компьютера, но с помощью дополнительных параметров можно указать другие источники (сервер WSUS, сервер обновлений Microsoft, MMPC или каталог). В случае применения для обновлений каталога следует скачать обновления с Microsoft Malware Protection Center (http://www.microsoft.com/security/portal/mmpc) и положить в папку, на которую указать с помощью SignatureDefinitionUpdateFileSharesSources:

PS> Set-MpPreference -SignatureDefinitionUpdateFileSharesSources \\server\update PS> Update-MpSignature -UpdateSource FileShares

Запуск сканирования осуществляется командлетом Start-MpScan, по умолчанию производится т.н. быстрая проверка только критически важных файлов. Тип проверки можем изменить с помощью параметра ScanType - FullScan, QuickScan или СustomScan.

PS> Start-MpScan -ScanType FullScan

Два параметра – Get-MpThreat и Get-MpThreatDetection – позволяют просмотреть информацию по угрозам, обнаруженным на компьютере. Командлет Remove-MpThreat позволяет удалить активные угрозы:

PS> Get-MpThreat PS> Remove-MpThreat

Список известных Windows Defender угроз выводит Get-MpThreatCatalog.

PS> Get-MpThreatCatalog | select SeverityID, ThreatName