private/core-operatingsystem/ConvertTo-OSDCoreOperatingSystemInfo.ps1
|
function ConvertTo-OSDCoreOperatingSystemInfo { <# .SYNOPSIS Converts a Windows build number to operating system release information. .DESCRIPTION Maps a known five-digit Windows build number to the operating system name, release version, and combined operating system label used by OSDCloud catalog records. Unknown build numbers return no result. .PARAMETER OSBuild Five-digit Windows build number to convert. .EXAMPLE ConvertTo-OSDCoreOperatingSystemInfo -OSBuild '26300' Returns Windows 11 26H2 operating system release information. .INPUTS None You cannot pipe input to this function. .OUTPUTS PSCustomObject Operating system release information for a known build number. .LINK https://www.osdeploy.com/ .NOTES Author: OSDeploy 2026-09-25 - Initial version #> [CmdletBinding()] [OutputType([pscustomobject])] param ( [Parameter(Mandatory)] [ValidatePattern('^\d{5}$')] [string]$OSBuild ) $Error.Clear() switch ($OSBuild) { '19045' { $OSName = 'Windows 10'; $OSVersion = '22H2' } '22000' { $OSName = 'Windows 11'; $OSVersion = '21H2' } '22621' { $OSName = 'Windows 11'; $OSVersion = '22H2' } '22631' { $OSName = 'Windows 11'; $OSVersion = '23H2' } '26100' { $OSName = 'Windows 11'; $OSVersion = '24H2' } '26200' { $OSName = 'Windows 11'; $OSVersion = '25H2' } '26300' { $OSName = 'Windows 11'; $OSVersion = '26H2' } '28000' { $OSName = 'Windows 11'; $OSVersion = '26H1' } default { return } } return [pscustomobject]@{ OperatingSystem = "$OSName $OSVersion" OSName = $OSName OSVersion = $OSVersion } } |