Powershell Script:
#Get SoftwareLicensingProduct WMI object where the name begin by Windows and partial key is not null
$ActualKeyinformations = Get-CimInstance SoftwareLicensingProduct -Filter "Name like 'Windows%'" | where { $_.PartialProductKey}
$GetLicenseStatus = $ActualKeyinformations | select description, licenseStatus
$GetLicenseStatusReason = $ActualKeyinformations.LicenseStatusReason
$ConverErrorCodeToHex = '{0:x}' -f $GetLicenseStatusReason
$ConverToReadableErrorCode = "0x$ConverErrorCodeToHex"
#Create custom object table (LicenseStatus)
$LicenseStatus = [pscustomobject]@{
LicenseDescription = $GetLicenseStatus.Description
LicenseStatus = $GetLicenseStatus.LicenseStatus
ActivationStatusCode = $ConverToReadableErrorCode
}
Write-Output $LicenseStatus
$ActualKeyinformations = Get-CimInstance SoftwareLicensingProduct -Filter "Name like 'Windows%'" | where { $_.PartialProductKey}
$GetLicenseStatus = $ActualKeyinformations | select description, licenseStatus
$GetLicenseStatusReason = $ActualKeyinformations.LicenseStatusReason
$ConverErrorCodeToHex = '{0:x}' -f $GetLicenseStatusReason
$ConverToReadableErrorCode = "0x$ConverErrorCodeToHex"
#Create custom object table (LicenseStatus)
$LicenseStatus = [pscustomobject]@{
LicenseDescription = $GetLicenseStatus.Description
LicenseStatus = $GetLicenseStatus.LicenseStatus
ActivationStatusCode = $ConverToReadableErrorCode
}
Write-Output $LicenseStatus
| Description | Value |
| Unlicensed | 0 |
| Licensed | 1 |
| OOBGrace | 2 |
| OOTGrace | 3 |
| Non Genuine Grace | 4 |
| Notification | 5 |