Выясняем статус активации Windows PowerShell`ом. Маленькие скриптики.

Есть большая доменная сеть, нужно узнать сколько у нас не активированных Win Server.

Как узнать сколько всего в домене 2019 серверов? В AD, в учетке компьютера указана ОС, оттуда и будем получать данные:

Get-ADComputer -Filter {operatingSystem -like "windows Server 2019 Standard"} | select Name

Далее получаем статус активации доменного компьютера, внимание на указание имени сервера:

Get-CimInstance SoftwareLicensingProduct -Filter "Name like 'Windows%'" -ComputerName %win-2019-srv% | where { $_.PartialProductKey } | select PSComputerName, Description, LicenseStatus

Команда вернет статус лицензии в виде числа:

  • 0=Unlicensed
  • 1=Licensed
  • 2=OOBGrace
  • 3=OOTGrace
  • 4=NonGenuineGrace
  • 5=Notification
  • 6=ExtendedGrace

Активированный Win должен иметь статус «1», все остальное Grace или отсутствие лицензии.

И теперь итоговый скрипт который выплюнет нам список имен компов со статусом лицензии:

$comp = Get-ADComputer -Filter {operatingSystem -like "windows Server 2019 Standard"} | select Name
foreach ($c in $comp)
{
    Get-CimInstance SoftwareLicensingProduct -Filter "Name like 'Windows%'" -ComputerName $c.name | where { $_.PartialProductKey } | select PSComputerName, Description, LicenseStatus
}

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *


Срок проверки reCAPTCHA истек. Перезагрузите страницу.