You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerShell脚本匹配Power BI版本号返回True却无法获取结果,求助

解决PowerShell脚本获取Power BI版本号的问题

你的脚本里正则匹配部分存在两个关键问题,导致无法获取具体版本号:

  • 正则中的.是通配符,可匹配任意字符,若要匹配版本号里的点号,必须转义成\.
  • 未给版本号内容添加捕获分组,因此$Matches[1]取不到对应值

将正则部分修改为"(\d+\.\d+\.\d+\.\d+) "即可解决问题:用\d+确保每个版本段至少包含一位数字,括号将整个版本号包裹为捕获组,这样$Matches[1]就能直接拿到完整的版本号。

修正后的完整脚本:

$Uri = 'https://aka.ms/pbiSingleInstaller'
$web = Invoke-WebRequest -Uri $uri 
$url=$web.Links | Where-Object href -Like "*confirmation*" | Select-Object -expand href 
$downloadurlid = "https://www.microsoft.com/en-us/download/" + $url
$idcontent = Invoke-WebRequest -Uri $downloadurlid 
$downloadurl = $idcontent.Links | Where-Object href -Like "*x64.exe" | Select-Object -First 1 -expand href 
$a = $web.Content
if ($a -match "(\d+\.\d+\.\d+\.\d+) ") {
    $latestversion = $Matches[1]
    $FileName = $downloadurl.Split('/')[-1]
    # 输出验证结果
    Write-Host "最新版本号:$latestversion"
    Write-Host "安装包文件名:$FileName"
} else {
    Write-Host "未匹配到版本号"
}

额外建议:增加if判断匹配结果会更稳妥,避免匹配失败时$latestversion为空的情况。

内容的提问来源于stack exchange,提问作者atefeh kasiri

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 06:20:24