Comprobación del estado de activación de Windows en equipos con Active Directory
En este artículo, le mostraremos cómo asegurarse de que su copia de Windows esté activada en la computadora y verificar el estado de activación de Windows desde todas las computadoras en su red de dominio de Active Directory usando PowerShell.
¿Cómo comprobar si Windows está activado?
En primer lugar, veamos cómo verificar el estado de activación de Windows en su computadora. Puede ver el estado de activación de Windows mediante la aplicación Configuración (en las versiones modernas de Windows 10 y Windows 11).
En Windows 10 y Windows Server 2022/2019/2016, vaya a Configuración -> Actualización y seguridad -> Activación (o ejecute el
ms-settings:activationcomando URI para acceder rápidamente a la configuración de ms)
En Windows 11, abra Configuración -> Sistema -> Activación
Hoy, Microsoft ofrece actualizar de forma gratuita las versiones más recientes de Windows 10 a Windows 11. Si una computadora con una licencia digital de Windows 10 está registrada en su cuenta de Microsoft, luego de actualizar a Windows 1, la computadora verificará automáticamente la licencia digital y activará Windows.
Es posible que vea uno de los siguientes estados de activación:
Windows is activated using your organization’s activation service- significa que su copia de Windows está activada en un servidor KMS corporativo (preguntas frecuentes sobre la activación de KMS);
Windows is activated with a digital license- su copia de Windows se activa mediante una licencia digital que no está vinculada a una cuenta de usuario de Microsoft;
Windows is activated with a digital license linked to your Microsoft accountNot Activated - Windows reported that no product key was found on your device. Error code: 0xC004F214- Windows está instalado sin una clave de producto y no está activado.
Puede obtener la activación de Windows desde un símbolo del sistema. Para hacerlo, utilice el script SLMgr.vbs, que permite administrar las licencias y activación de Windows. Ejecute el símbolo del sistema (cmd) como administrador e ingrese el siguiente comando:
slmgr /xprEn unos segundos una ventana con “
The machine is permanently activated
Aparece el mensaje.
Si Windows no está activado, verá el mensaje:
Windows is in Notification modeConsejo. Si desea mostrar el estado de activación en la consola del símbolo del sistema, use este comando:
cscript slmgr.vbs -xprComprobar la activación de Windows mediante PowerShell
Puede usar PowerShell para obtener información de activación de Windows en una computadora local o remota. Ejecute el siguiente comando para obtener datos de CIM (WMI):
Get-CimInstance SoftwareLicensingProduct -Filter "Name like 'Windows%'" | where { $_.PartialProductKey } | select Description, LicenseStatusPosibles valores de LicenseStatus:
0: sin licencia
1: con licencia
2 - Gracia OOB
3 - OOTGrace: la configuración de la computadora ha cambiado y no se puede activar automáticamente, o han pasado más de 180 días
4: Gracia no genuina
-
5: notificación: el período de prueba de Windows ha terminado
6 - ExtendedGrace (puede extender el período de evaluación de Windows varias veces usando el
slmgr /rearmcomando o convertir la evaluación a una versión completa)
La siguiente captura de pantalla muestra que
LicenseStatus = 1. Significa que Windows se activa mediante una clave de producto minorista (sistema operativo Windows(R), canal MINORISTA).
Para obtener un estado de activación de una computadora remota, especifique su nombre en el parámetro -ComputerName:
Get-CimInstance SoftwareLicensingProduct -Filter "Name like 'Windows%'" -ComputerName mun-srv03 |where { $_.PartialProductKey } | select Description, LicenseStatusEste
VOLUME_KMSCLIENT channelcadena significa que la computadora está activada en el servidor KMS.
O use los cmdlets Enter-PSSession o Invoke-Command WinRM para acceder a una computadora remota.
Obtenga el estado de activación de Windows en computadoras AD con PowerShell
Puede usar PowerShell para obtener de forma remota los estados de activación de las computadoras de escritorio de Windows y los hosts de Windows Server en un dominio de Active Directory. Puede ver un ejemplo del script a continuación.
Para obtener una lista de equipos en un dominio, se usa el cmdlet Get-ADComputer del módulo Active Directory para PowerShell. Este script de PowerShell verifica la disponibilidad de cada computadora en Active Directory a su vez (un simple ping ICMP usando Test-NetConnection), obtiene una compilación y versión del sistema operativo instalado en ellos y el estado de activación de 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 = @()
$ADComps = Get-ADComputer -Filter {enabled -eq "true" -and OperatingSystem -Like '*Windows*'}
Foreach ($comp in $ADComps) {
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 = "Computer offline"
}
}
$Report += $objReport
}
$Report |Out-GridView El script está disponible en mi repositorio de GitHub: https://github.com/maxbakhub/winposh/blob/main/ActiveDirectory/AD_Computers_Check_Windows_Activation_Status.ps1
La información sobre el estado de activación de Windows en los equipos del dominio se muestra en forma de tabla Out-GridView. O puede exportarlo a un archivo CSV (
Export-Csv -Path .\ad_windows_activation_report.csv -NoTypeInformation).
Puede encontrar un script de PowerShell similar para verificar el estado de activación de Microsoft Office en las computadoras del dominio.
Por lo tanto, puede encontrar rápidamente todas las copias no activadas (sin licencia) de Windows en las computadoras de su dominio.





