是否可以透過 Windows Server 2016 Nano 上的 powershell 命令取得 Windows 版本?

是否可以透過 Windows Server 2016 Nano 上的 powershell 命令取得 Windows 版本?

我正在使用 Windows Server 2016 nano 的最新預覽版。

使用遠端 powershell 會話,我透過 連接到遠端系統Enter-PSSession,然後嘗試使用最常見的技術來檢查 Windows 版本,因為完整的 .Net 框架不可用。此外,Get-WmiObject cmdlet 不可用。

我可以看到一些資訊的唯一方法是使用這個非 powershell 命令 DISM:

Dism /Online /Get-Feature

這給了我這個輸出以及已安裝功能的清單:

Deployment Image Servicing and Management tool
Version: 10.0.10514.0

Image Version: 10.0.10514.0

Features listing for package : Microsoft-Windows-Foundation-Package~31bf3856ad364e35~amd64~~10.0.10514.0

從高於我的 Windows 10 桌面的 10514 值,我可以了解核心構建,有趣的是 Windows 10 桌面具有相同的“Microsoft-Windows-Foundation-Package”,但核心構建較低數字。

有沒有人找到一個 cmdlet 或一些可以編寫的 powershell 函數或別名,它們可以為我檢測到我的 powershell 腳本正在奈米伺服器上運行這一事實,以某種不太可能中斷的方式,或者任何命令實際上列印出“Windows Server 2016 Nano Server”?

更新:這更接近我想要的,但有點黑客:

  Get-Item -Path 'Registry::HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion'

更新 2:Get-WmiObject 不存在,雖然以下方法有效,但它只報告內核版本:

[System.Environment]::OSVersion.Version

上面將報告版本 10514,而 Windows 10 客戶端作業系統 RTM 目前報告為 10240,但上面實際上是“內核版本”,而不是作業系統產品/版本/服務包等級。

答案1

您可以嘗試以下操作,我沒有奈米伺服器可以嘗試。如果它為你帶來了其他東西,請刪除它select,看看你想要的東西是否儲存在 Server 2016 Nano 中的不同屬性下

Get-CIMInstance -ClassName Win32_OperatingSystem -Property * | select caption

在真實的 Nano 實例上進行測試時,不需要 -session 參數,但如果您在將來的某個日期需要它,請使用 -session 的變體:

$cuser = "Your username"
$cservername = "Your Servername"
$csession = New-CimSession –Credential $cuser –ComputerName $cservername
Get-CIMInstance –session $csession -ClassName Win32_OperatingSystem -Property * | select caption

答案2

這只是您編輯的擴展,但透過僅獲取 ProductName 來清理輸出

$(Get-ItemProperty -Path 'Registry::HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion' ProductName).ProductName

答案3

Microsoft 方式又稱為 Cert 方式是使用Get-WindowsEdition -Online

有關該命令及其所有選項的其他資訊可以在以下位置找到:這裡!

答案4

PowerShell 管理命令提示字元並鍵入:

 Get-WmiObject -Class Win32_Operatingsystem

返回:

Build Number and Version

相關內容