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 Ajustes -> Actualización y seguridad -> Activación (o ejecutar el
ms-settings:activation
comando URI para acceder rápidamente a la configuración de ms) - En Windows 11, abra Ajustes -> Sistema -> Activación
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 account
Not 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, utiliza el SLMgr.vbs script, 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 /xpr
En 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 mode
.
Consejo. Si desea mostrar el estado de activación en la consola del símbolo del sistema, use este comando:
cscript slmgr.vbs -xpr
Comprobar 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, LicenseStatus
Posibles valores de LicenseStatus:
- 0 – Sin licencia
- 1 – Con licencia
- 2 – OOB Gracia
- 3 – OOTGrace: la configuración de la computadora se cambió y no se puede activar automáticamente, o pasaron 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 /rearm
comando 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 comercial (Sistema operativo Windows(R), canal MINORISTA).
Para obtener un estado de activación de una computadora remota, especifique su nombre en el -Nombre del ordenador parámetro:
Get-CimInstance SoftwareLicensingProduct -Filter "Name like 'Windows%'" -ComputerName mun-srv03 |where { $_.PartialProductKey } | select Description, LicenseStatus
los VOLUME_KMSCLIENT channel
cadena significa que la computadora está activada en el servidor KMS.
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
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
).
Por lo tanto, puede encontrar rápidamente todas las copias no activadas (sin licencia) de Windows en las computadoras de su dominio.
Artículos Interesantes
Relacionados:
Contenido