В этой статье мы рассмотрим, как узнать активирована ли копия Windows на вашем компьютере, и получить статус активации Windows со всех компьютеров в вашей сети с помощью PowerShell.
Сначала рассмотрим, как узнать статус активации Windows на вашем компьютере. В современных билдах Windows 10 и Windows 11 информацию об активации Windows можно получить их приложения Параметры (Settings).
ms-settings:activation
для быстрого доступа к нужному разделу ms-settings ); Возможны следующие значения в статусе активации:
Windows is activated using your organization’s activation service
– значит ваша копия Windows активирована на корпоративном KMS сервере ( FAQ по KMS активации ); Windows is activated with a digital license
– ваша копия Windows активирована цифровой лицензией, не привязанной к аккаунту пользователя Microsoft; Windows is activated with a digital license linked to your Microsoft account
ot Activate – Windows reported that no product key was found on your device. Error code: 0xC004F214
– Windows установлена без ключа и не активирована. Можно получить статус активации Windows из команды строки. Для этого используется скрипт SLMgr.vbs , который используется для управления лицензиями и активацией Windows. Откройте командную строку ( cmd
) с правами администратора и выполните команду:
slmgr /xpr
Через несколько секунд появится окно с текстом “ The machine is permanently activated ”.
Если Windows не активирована, появится сообщение Windows is in Notification mode
.
cscript slmgr.vbs -xpr
Для получения информации об активации Windows на локальном или удаленном компьютере можно использовать PowerShell. Выполните следующую команду для получения данных из CIM (WMI):
Get-CimInstance SoftwareLicensingProduct -Filter "Name like 'Windows%'" | where { $_.PartialProductKey } | select Description, LicenseStatus
Возможные значения параметра LicenseStatus:
На скриншоте видно значение LicenseStatus = 1
, это значит, что Windows активирована ретейл ключом (Windows(R) Operating System, RETAIL channel).
Чтобы получить статус активации с удаленного компьютера, укажите его имя в параметре ComputerName:
Get-CimInstance SoftwareLicensingProduct -Filter "Name like 'Windows%'" -ComputerName msk-srv01 |where { $_.PartialProductKey } | select Description, LicenseStatus
Строка VOLUME_KMSCLIENT channel
говорит о том, что компьютер активирован на KMS сервере .
Вы можете использовать PowerShell для удаленного сбора статуса об активации десктопных редакций Windows и Windows Server в домене Active Directory. Ниже представлен готовый пример такого скрипта.
Для получения списка компьютер в домене используется командлет Get-ADComputer из модуля Active Directory PowerShell . Данный PowerShell скрипт последовательно проверяет доступность каждого компьютера из Active Directory (простая проверка ICMP ping с помощью Test-NetConnection ), получает версию и билд ОС и статус активации Windows.
enum Licensestatus{
Unlicensed = 0
Licensed = 1
Out_Of_Box_Grace_Period = 2
Out_Of_Tolerance_Grace_Period = 3
Non_Genuine_Grace_Period = 4
Notification = 5
Extended_Grace = 6
}
$Report = @()
$complist = Get-ADComputer -Filter {enabled -eq "true" -and OperatingSystem -Like '*Windows*'}
Foreach ($comp in $complist) {
If ((Test-NetConnection $comp.name -WarningAction SilentlyContinue).PingSucceeded -eq $true){
$activation_status= Get-CimInstance -ClassName SoftwareLicensingProduct -ComputerName $comp.name -Filter "Name like 'Windows%'" |where { $_.PartialProductKey } | select PSComputerName, @{N=’LicenseStatus’; E={[LicenseStatus]$_.LicenseStatus}}
$windowsversion= Get-CimInstance -ClassName Win32_OperatingSystem -ComputerName $comp.name| select Caption, Version
$objReport = [PSCustomObject]@{
ComputerName = $activation_status.PSComputerName
LicenseStatus= $activation_status.LicenseStatus
Version = $windowsversion.caption
Build = $windowsversion.Version
}
}
else {
$objReport = [PSCustomObject]@{
ComputerName = $comp.name
LicenseStatus = "Offline"
}
}
$Report += $objReport
}
$Report |Out-GridView
Информация по статусу активации Windows на компьютерах домена предоставлена в виде таблицы Out-Gridview . Либо вы можете экспортировать ее в CSV файл ( Export-Csv -Path .win_activation_report.csv -NoTypeInformation
).
Таким образом вы можете быстро найти все неактивированные (нелицензированные) копии Windows в вашем домене.
Если говорить о том, какие лучшие дистрибутивы Linux мы знаем, то этот список может быть…
Хотя Ubuntu и поставляется со встроенным обозревателем Firefox многие пользователи считают что это не самая…
Что такое Remmina? Remmina — это совершенно бесплатный и свободный клиент так называемого удаленного рабочего…
Как мы знаем, Ubuntu это самая популярная сборка из систем на базе ядра Linux. У…
Выбор ноутбука для каждого пользователя это довольно кропотливый процесс. Люди стараются подобрать ноутбук который будет…
Если вы решили ознакомиться с операционной системой Linux более детально и задались вопросом как установить…