gpt4 book ai didi

windows - 在 Powershell 中检测 Windows 8

转载 作者:可可西里 更新时间:2023-11-01 10:35:08 25 4
gpt4 key购买 nike

我目前在我的 powershell 脚本中有下面这段代码,它为 11 以下的所有版本的 IE 安装,所以它排除了为 windows 8 安装的可能性。

# Get the Internet Explorer version
$ieVersion = Get-Item "HKLM:Software\Microsoft\Internet Explorer" -ErrorAction SilentlyContinue | Get-ItemProperty | Select "svcVersion" -ExpandProperty "svcVersion"
$ieSubstringPos = $ieVersion.IndexOf(".")
[int]$ieShortVersion = $ieVersion.Substring(0, $ieSubstringPos)


## <Perform Installation tasks here>
If ($ieShortVersion -lt 11) {
Execute-MSI -Action Install -Path "install_flash_player_18_active_x.msi" -Parameters "/qn"
}

现在我们正在将我们的环境升级到 IE11,这样它将不再有效。有没有一种方法我可以做同样的事情但检测 Windows 7 x64 和 x32

最佳答案

如果你想得到Windows版本,你可以简单地查询WMI。示例:

$OS = Get-WmiObject -Class Win32_OperatingSystem `
| Select-Object -Property @("Version", "OSArchitecture")
$OS | Format-List

输出(对于 Win7 x64):

Version        : 6.1.7601
OSArchitecture : 64-bit

然后您可以使用switchif 语句根据版本和/或arch 执行不同的代码。示例:

switch -Regex ($OS.Version ) {
"^6\.1\." {
# Windows 7
if ($OS.OSArchitecture -eq "64-bit") {
# do something
} else {
# do something else
}
}
"^6\.[23]\." {
# Windows 8 or Windows 8.1
if ($OS.OSArchitecture -eq "64-bit") {
# do something
} else {
# do something else
}
}
default {
Write-Error "Unexpected OS version."
}
}

Win32_OperatingSystem 类有许多其他属性,如果您需要进一步缩小条件,您可能会发现这些属性很有用。参见 MSDN reference了解详情。

关于windows - 在 Powershell 中检测 Windows 8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31592432/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com