前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >powershell判读Windows操作系统版本

powershell判读Windows操作系统版本

原创
作者头像
Windows技术交流
修改2025-02-10 15:42:17
修改2025-02-10 15:42:17
10700
代码可运行
举报
文章被收录于专栏:Windows技术交流
运行总次数:0
代码可运行

一些应用场景,需要做操作系统版本的前置判断,如下powershell代码我调试OK,适用PC、Server

代码语言:txt
复制
# 定义函数以获取注册表值
function Get-RegistryValue {
    param (
        [string]$Path,
        [string]$Name
    )
    try {
        return (Get-ItemProperty -Path $Path -Name $Name -ErrorAction Stop).$Name
    }
    catch {
        return $null
    }
}

# 获取 InstallationType
$installationType = Get-RegistryValue -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion" -Name "InstallationType"

if ($installationType -eq "Client") {
    $buildNumber = [int](Get-RegistryValue -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion" -Name "CurrentBuildNumber")
    $osVersion = if ($buildNumber -ge 19041 -and $buildNumber -le 19045) { "Windows 10" } elseif ($buildNumber -ge 22000) { "Windows 11" } else { "未知版本" }
    $displayVersion = Get-RegistryValue -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion" -Name "DisplayVersion"
    Write-Output "OSType: $installationType"
    Write-Output "OSVersion: $osVersion"
    Write-Output "DisplayVersion: $displayVersion"
    Write-Output "CurrentBuildNumber: $buildNumber"
}elseif ($installationType -eq "Server") {
    $productName = Get-RegistryValue -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion" -Name "ProductName"
    Write-Output "OSType: $installationType"
    Write-Output "ProductName: $productName"
}

注意事项:

powershell中,elseif、else前后不要换行,否则可能会有异常。

例如:

把下面这2行

代码语言:javascript
代码运行次数:0
复制
}
elseif ($installationType -eq "Server") {

写成

代码语言:javascript
代码运行次数:0
复制
}elseif ($installationType -eq "Server") {

把下面这2行

代码语言:javascript
代码运行次数:0
复制
}
else {

写成

代码语言:javascript
代码运行次数:0
复制
}else {

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档