我想检测是否已使用WMI将2012服务器设置为Core安装.之前的一个问题,似乎表明我可以获得
OperatingSystemSKU from Win32_OperatingSystem.我的Windows 2012 Core系统报告的OperatingSystemSKU为7.另一个问题的
article似乎表明是PRODUCT_STANDARD_SERVER,如果有核心安装我应该期待而是为PRODUCT_STANDARD_SERVER_CORE查看值0x0000000D.
我在这里想念的是什么我最终想要创建策略并使用项目级别定位仅将该策略应用于Windows 2012 Server Core安装.
PS C:\Users\zoredache\Documents> gwmi -Query "select OPeratingSystemSKU,Version,ProductType from Win32_OperatingSystem" __GENUS : 2 __CLASS : Win32_OperatingSystem __SUPERCLASS : __DYNASTY : __RELPATH : Win32_OperatingSystem=@ __PROPERTY_COUNT : 3 __DERIVATION : {} __SERVER : __NAMESPACE : __PATH : OperatingSystemSKU : 7 ProductType : 2 Version : 6.2.9200
在PowerShell中:
原文链接:https://www.f2er.com/windows/370642.htmlGet-WMIObject Win32_OptionalFeature | where Name -eq 'Server-Gui-Shell' | Select InstallState
在完整服务器上返回1,在服务器核心安装上返回2.
编辑:
虽然我的上述答案是正确的,但它有两个问题:
>在工作站上使用此命令时,它不返回任何内容,因此您必须为此添加额外的检查.
>它很慢,当我尝试它时,需要600到3500之间
毫秒.
(Test-Path "$env:windir\explorer.exe")
这将为服务器核心安装返回$false,为所有其他安装返回$true,并且执行需要1毫秒.