PowerShell,确定我们是在 Windows 10 还是 Windows 11 上运行

Yor*_*ubs 5 powershell version windows-10 windows-11

如果我在 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

Run Code Online (Sandbox Code Playgroud)

在PowerShell中,我们如何区分我们是在Windows 10还是Windows 11中运行?

NiK*_*iZe 3

直接使用WMI数据需要更少的开销

$isWin11 = (Get-WmiObject Win32_OperatingSystem).Caption -Match "Windows 11"
Run Code Online (Sandbox Code Playgroud)