В этой статье мы рассмотрим, как узнать активирована ли копия Windows на вашем компьютере, и получить статус активации Windows со всех компьютеров в вашей сети с помощью PowerShell.
Как узнать, активирована ли Windows на компьютере?
Сначала рассмотрим, как узнать статус активации Windows на вашем компьютере. В современных билдах Windows 10 и Windows 11 информацию об активации Windows можно получить их приложения Параметры (Settings).
- В Windows 10 и Windows Server 2022/2019 перейдите в Settings -> Update & Security -> Activation (или выполните команду
ms-settings:activation
для быстрого доступа к нужному разделу ms-settings); - В Windows 11: Settings -> System -> ActivationНа данный момент Microsoft предлагает всем пользователям бесплатно обновиться с последних билдов Windows 10 до Windows 11. Если в вашем аккаунте Microsoft зарегистрирован компьютер с цифровой лицензией Window 10, то после апгрейда до Windows 11 компьютер должен автоматически проверить цифровую лицензию и активировать Windows. Обратите внимание на особенности переактивации Windows после замена части железа компьютера или переустановки.
Возможны следующие значения в статусе активации:
-
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
- N
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:
- 0 — Unlicensed
- 1 — Licensed
- 2 — OOBGrace
- 3 – OOTGrace – конфигурация компьютера изменена, и он не может активироваться автоматически, или прошло более 180 дней
- 4 — NonGenuineGrace
- 5 – Notification – срок ознакомительного использования Windows окончен
- 6 – ExtendedGrace (срок использования ознакомительной версии Windows можно продлить несколько раз с помощью команды slmgr /rearm или конвертировать в полноценную)
На скриншоте видно значение
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 сервере.
Получаем статус активации Windows в домене AD с помощью PowerShell
Вы можете использовать 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 в вашем домене.
Я понимаю, что, даже спустя год ОС-10 (как и 8-ка) будет работать без активации. Если не вводить ключ продукта, то ОС продолжит работать на встроенном KMS, при этом в панели управления будет говориться что ОС не активирована. Если посмотреть, то кол-во реармов (rearm) = 1001 (в WIN7 =3) (slmgr.vbs /dlv видно что ream count=1001 и можно продлевать если есть желание 1001 раз по 30 дней получаем «столько не живут» и спустя 3000 дней ну точно «или ишак…») . Я на 8-ке работаю без активации два или три года, состояние : «уведомление» и счетчик «оставшихся reams… «=1000 . И в 10-ке ничего не изменилось… Счетчик 1001! Вся «ущербность» от не активированной ОС сводится к тому, что серый пункт в «персонализация» и нет возможности экран заставки поменять — а оно надо?
есть люди которые трясутся за свою винду!!а кто понимает как все это хозяйство ставится-тому конечно все пофигу!..10 минут и чистая винда с программами уже стоит!с флешки быстрее..с диска подольше уже!!!или с архива акрониксом ..так вообще быстро…!поэтому когда человек пишет-я 10 лет на одной винде…то таким людям я искренне сочувствую!!!!хотя пока ничего не понимаешь-лелеешь её!!!!….
Кто понимает — тот винду не загаживает. И простоять она может ооочень долго без переустановки. А если ставить-удалять весь попавшийся софт без разбору, если делать с осью то, что не понимаешь, то, конечно, тут без акрониса и образов — никуда :-). Хотя, образ настроенной полностью винды, безусловно, в хозяйстве необходим. А вдруг винт накроется?
автору спасибо за данную статью..
все поставилось, все чудово. вельми вдячний
скрипт работает только если на удаленных компах WinRM включен, иначе «не удается выполнить операцию…»
Не знаю, но у меня на 10-ке около 180 дней, даже, может и больше, после года просит повторную активацию.
Это указывает, что используется KMS активация.