我需要在PowerShell中创建一个脚本来验证操作系统版本(Pro,Enterprise,Home等)。我发现了许多关于如何使用ID号验证操作系统版本(Vista,7,8,8.1等)的信息,但我找不到有关版本代码的任何信息。我的问题是:
JPanel
,如何格式化以在任何Windows操作系统上选择版本?https://msdn.microsoft.com/en-us/library/windows/desktop/ms724833(v=vs.85).aspx
答案 0 :(得分:7)
该信息在Win32_OperatingSystem
类的OperatingSystemSKU
属性中编码:
Value Meaning ----- ------- 0 Undefined 1 Ultimate Edition 2 Home Basic Edition 3 Home Premium Edition 4 Enterprise Edition 5 Home Basic N Edition 6 Business Edition 7 Standard Server Edition 8 Datacenter Server Edition 9 Small Business Server Edition 10 Enterprise Server Edition 11 Starter Edition 12 Datacenter Server Core Edition 13 Standard Server Core Edition 14 Enterprise Server Core Edition 15 Enterprise Server Edition for Itanium-Based Systems 16 Business N Edition 17 Web Server Edition 18 Cluster Server Edition 19 Home Server Edition 20 Storage Express Server Edition 21 Storage Standard Server Edition 22 Storage Workgroup Server Edition 23 Storage Enterprise Server Edition 24 Server For Small Business Edition 25 Small Business Server Premium Edition 29 Web Server, Server Core 39 Datacenter Edition without Hyper-V, Server Core 40 Standard Edition without Hyper-V, Server Core 41 Enterprise Edition without Hyper-V, Server Core 42 Hyper-V Server
将上面的列表放在hashtable中,以便将整数值映射到描述:
$editions = @{
0 = 'Undefined'
1 = 'Ultimate Edition'
2 = 'Home Basic Edition'
...
41 = 'Enterprise Edition without Hyper-V, Server Core'
42 = 'Hyper-V Server'
}
$sku = (Get-WmiObject Win32_OperatingSystem).OperatingSystemSKU
'Edition is {0}.' -f $editions[$sku]
但请注意,Server {2003}及更早版本不提供OperatingSystemSKU
。在这些系统上,您必须检查Caption
和/或OSProductSuite
属性。
答案 1 :(得分:1)
您还可以使用“ Get-WindowsEdition -online”。
参考:https://docs.microsoft.com/en-us/powershell/module/dism/get-windowsedition