Windows-Server-2012

辨識 Windows 2012 Server 核心

  • June 5, 2017

我想檢測是否已使用 WMI 將 2012 伺服器設置為核心安裝。較早的問題似乎表明我可以從 Win32_OperatingSystem 獲取 OperatingSystemSKU。我的 Windows 2012 Core 系統報告的 OperatingSystemSKU 為 7。來自另一個問題的文章似乎表明是 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 中:

Get-WMIObject Win32_OptionalFeature | where Name -eq 'Server-Gui-Shell' | Select InstallState

在完整伺服器上返回1 ,在伺服器核心安裝上返回2 。

編輯:

雖然我上面的回答是正確的,但它有兩個問題:

  1. 在工作站上使用此命令時,它不會返回任何內容,因此您必須為此添加額外的檢查。
  2. 它很慢,當我嘗試它時,它花了 600 到 3500 毫秒。

所以更實用的方法是只檢查某個文件是否存在:

(Test-Path "$env:windir\explorer.exe")

$false對於伺服器核心安裝和$true所有其他安裝,這將返回,並且執行需要一毫秒

引用自:https://serverfault.com/questions/529124