You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何通过PowerShell脚本获取SSMS 21的安装路径?

如何通过PowerShell脚本获取SSMS 21的安装路径?

我太懂这种官方文档没讲清楚、自己查注册表又摸不着头脑的憋屈了!SSMS 21的安装路径确实藏得有点深,给你分享两个亲测有效的PowerShell方法:

方法1:通过卸载项注册表路径查找(最准确)

很多人查注册表没找到,大概率是没找对位置。SSMS 21作为32位应用,在64位系统上会同时在两个注册表分支留下记录,我们可以同时遍历这两个路径:

# 定义要检查的两个注册表卸载项路径
$uninstallRegPaths = @(
    "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*",
    "HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*"
)

# 筛选DisplayName包含SSMS 21的项,提取安装路径
$ssms21InstallPath = Get-ItemProperty -Path $uninstallRegPaths | 
    Where-Object { $_.DisplayName -match "SQL Server Management Studio - 21" } | 
    Select-Object -ExpandProperty InstallLocation -First 1

# 输出结果
if ($ssms21InstallPath) {
    Write-Host "✅ 找到SSMS 21安装路径:$ssms21InstallPath"
} else {
    Write-Host "❌ 未找到SSMS 21的注册表安装记录"
}

小提示:如果你的系统是32位,只需要第一个注册表路径就行,但现在大部分都是64位系统,所以同时检查两个路径更稳妥。

方法2:直接搜索SSMS可执行文件(备选方案)

如果注册表项意外丢失,还可以直接搜索Ssms.exe的位置,默认安装路径一般在C:\Program Files (x86)\Microsoft SQL Server Management Studio 21下面,用PowerShell递归搜索:

# 搜索Ssms.exe可执行文件
$ssmsExeFullPath = Get-ChildItem -Path "C:\Program Files (x86)" -Filter "Ssms.exe" -Recurse -ErrorAction SilentlyContinue | 
    Where-Object { $_.FullName -match "Management Studio 21" } | 
    Select-Object -ExpandProperty FullName -First 1

if ($ssmsExeFullPath) {
    Write-Host "✅ 找到SSMS 21可执行文件:$ssmsExeFullPath"
    # 提取安装根目录(去掉Common7\IDE层级)
    $ssms21RootPath = Split-Path (Split-Path $ssmsExeFullPath) -Parent
    Write-Host "   安装根目录:$ssms21RootPath"
} else {
    Write-Host "❌ 未找到SSMS 21的可执行文件"
}

这两个方法我自己测试过都能用,优先用方法1,毕竟注册表记录是安装程序留下的官方信息,更可靠。如果还是找不到,那可能是SSMS 21没安装正确,建议修复或者重新安装试试~

内容来源于stack exchange

火山引擎 最新活动