getting_domain_windows_server_s_licensing_status
This is an old revision of the document!
Getting domain Windows Server's licensing status
This PowerShell script performs the following steps:
- Includes a hashtable $licenseStatusDescriptions that maps each `LicenseStatus` value to its corresponding description. When adding the results to the array, it uses this mapping to convert the numeric `LicenseStatus` to a descriptive string.
- Queries all domain computers with an operating system that includes “Windows Server”.
- For each server, it retrieves the license status using the Get-CimInstance cmdlet.
- Collects the results into an array.
- Exports the results to a CSV file located at C:\temp\WindowsServerLicenseStatus.csv.
# Import the Active Directory module
Import-Module ActiveDirectory
# Define a hashtable for license status descriptions
$licenseStatusDescriptions = @{
0 = 'Unlicensed'
1 = 'Licensed'
2 = 'OOBGrace (Out of Box Grace)'
3 = 'OOTGrace (Out of Tolerance Grace)'
4 = 'NonGenuineGrace'
5 = 'Notification'
6 = 'ExtendedGrace'
}
# Get all Windows Server machines in the domain
$servers = Get-ADComputer -Filter "OperatingSystem -Like '*Windows Server*'" -Property Name, OperatingSystem
# Initialize an array to store the results
$results = @()
foreach ($server in $servers) {
# Get the license status from each server
$licenseStatus = Get-CimInstance -ComputerName $server.Name -ClassName SoftwareLicensingProduct -Filter "Name like 'Windows%'" | Where-Object { $_.PartialProductKey } | Select-Object Description, LicenseStatus
foreach ($status in $licenseStatus) {
# Map the LicenseStatus to its description
$statusDescription = $licenseStatusDescriptions[$status.LicenseStatus]
# Add the result to the array
$results += [PSCustomObject]@{
ServerName = $server.Name
OperatingSystem = $server.OperatingSystem
Description = $status.Description
LicenseStatus = $statusDescription
}
}
}
# Export the results to a CSV file
$results | Export-Csv -Path "C:\temp\WindowsServerLicenseStatus.csv" -NoTypeInformation
getting_domain_windows_server_s_licensing_status.1725287816.txt.gz · Last modified: 2024/10/17 21:42 (external edit)
