Как узнать, какое антивирусное программное обеспечение установлено на удаленном компьютере с Windows

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)}}  

Результат довольно приятный.

Более полезным было бы запустить сценарий по всей сети, чтобы оценить, как антивирусное программное обеспечение развертывается и поддерживается в вашей сети.

Оцените статью
toodcast.ru
Добавить комментарий