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

PowerShell新手求助:验证Edge默认站点加载的判断问题

解决PowerShell判断Edge窗口标题失败的问题

你的问题核心在于**Select MainWindowTitle返回的是对象而非纯字符串**,直接和字符串做-like对比自然不匹配,哪怕属性值看起来一致。

问题分析

Get-Process | Select MainWindowTitle输出的是一组自定义对象,每个对象包含MainWindowTitle属性,而非直接的标题文本。比如实际输出是类似@{MainWindowTitle="Wikipedia, the free encyclopedia"}的结构,和纯字符串"wikipedia.org"对比时,PowerShell会把对象转为字符串后再比较,结果肯定不相等。

修正方案

方案1:提取纯标题字符串后判断

用-ExpandProperty参数直接提取MainWindowTitle的字符串值,再做通配符匹配(注意标题通常包含更多内容,需要用*包裹目标字符串):

# 只针对Edge进程,避免其他进程干扰
$edgeTitles = Get-Process msedge | Select-Object -ExpandProperty MainWindowTitle
if ($edgeTitles -like "*wikipedia.org*") {
  Write-Host "Site successfully opened."
} else {
  Write-Host "Site failed."
}

方案2:直接在进程对象上过滤判断

用Where-Object直接检查每个Edge进程的窗口标题属性,逻辑更简洁:

if (Get-Process msedge | Where-Object { $_.MainWindowTitle -like "*wikipedia.org*" }) {
  Write-Host "Site successfully opened."
} else {
  Write-Host "Site failed."
}

额外提示

  • 优先指定进程名msedge,避免遍历所有进程,提升效率同时减少误判。
  • 如果需要精确匹配,可改用-match正则表达式,或者根据实际标题内容调整通配符位置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 02:38:14