Windows 10 имеет достойный антивирус, встроенный прямо в систему, а именно Защитник Windows. Чтобы получить подробную информацию о его статусе, просто используйте этот командлет для выяснения.
Get-MpPreference
Однако, если у вас установлен сторонний AntiVirus, Get-MpPreference уже недостаточно хорош, поскольку он работает только и раскрывает информацию о Защитнике Windows. Вместо этого используйте следующее:
Get-CimInstance -Namespace root/SecurityCenter2 -Classname AntiVirusProduct
Чтобы использовать его на удаленном компьютере, добавьте переключатель -ComputerName вместе с командой.
Get-CimInstance -Namespace root/SecurityCenter2 -Classname AntiVirusProduct -ComputerName $ computer
Покопавшись немного глубже, как узнать статус установленного антивирусного программного обеспечения?
Закодировано в ProductState — это ряд дополнительных сведений, например о том, работает ли антивирусный движок и использует ли обновленные сигнатуры данных. Чтобы расшифровать значение этой информации, обратитесь к этому сообщению, которое демонстрирует, как использовать новую поддержку PowerShell для перечислений.
Чтобы собрать все вместе,
# определить битовые флаги [Flags ()] enum ProductState {Off = 0x0000 On = 0x1000 Snoozed = 0x2000 Expired = 0x3000} [Flags ()] enum SignatureStatus {UpToDate = 0x00 OutOfDate = 0x10} [Flags ()] enum ProductOwner {NonMs = 0x000 Windows = 0x100} # определить битовые маски [Flags ()] enum ProductFlags {SignatureStatus = 0x00F0 ProductOwner = 0x0F00 ProductState = 0xF000} # получить биты $ infos = Get-CimInstance -Namespace root/SecurityCenter2 -ClassName AntiVirusProduct ( $ info в $ infos) {[UInt32] $ state = $ info.productState # декодировать битовые флаги, маскируя соответствующие биты, а затем преобразовывая [PSCustomObject] @ {ProductName = $ info.DisplayName ProductState = [ProductState] ($ state -band [ProductFlags] :: ProductState) SignatureStatus = [SignatureStatus] ($ state -band [ProductFlags] :: SignatureStatus) Владелец = [ProductOwner] ($ state -band [ProductFlags] :: ProductOwner)}}
Результат довольно приятный.
Более полезным было бы запустить сценарий по всей сети, чтобы оценить, как антивирусное программное обеспечение развертывается и поддерживается в вашей сети.