我正在使用 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