如果我在 Windows 10或Windows 11上運行以下版本測驗,它們都報告$Major為 10 和$Minor0,因此該測驗不足以確定我們是在 Windows 10 還是 Windows 11 上運行。
[version]$OSVersion = [Environment]::OSVersion.Version
$Major = $OSVersion.Major
$Minor = $OSVersion.Minor
# Other ways to test:
# $OSVersion = [Version](Get-ItemProperty -Path "$($Env:Windir)\System32\hal.dll" -ErrorAction SilentlyContinue).VersionInfo.FileVersion.Split()[0]
# [version]$OSVersion = Get-CimInstance -Class Win32_OperatingSystem | Select-Object -ExpandProperty Version
在 PowerShell 中,我們如何區分我們是在 Windows 10 還是 Windows 11 中運行?
uj5u.com熱心網友回復:
在 Wikipedia 上,您可以找到內部版本號串列以及它們所屬的作業系統版本的資訊。 [Environment]::OSVersion.Version.Build使用此資訊,您可以通過比較屬性來確定作業系統版本。
此外,該Get-ComputerInfocmdlet 將 OSName 作為字串回傳給您,如下所示:
微軟視窗 11 專業版
您可以使用-match運算子來檢查字串是否包含“11”:
(Get-ComputerInfo | Select-Object -expand OsName) -match 11
這在大多數情況下應該有效,但我懷疑這將是最佳選擇。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/523414.html
