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

Test-Path检测注册表项在Windows Terminal正常但PowerShell ISE运行脚本失效

PowerShell 使用 Test-Path 检测注册表项异常问题

我尝试使用Test-Path命令判断指定注册表项是否存在,相关代码如下:

if((Test-Path -Path 'HKLM:\SOFTWARE\IDTSettings') -eq $true) {
    echo "Registry Key Exists, Ignoring this machine."
    exit
}
else {
    # 后续逻辑
    ...
}

问题现象

我手动在注册表编辑器中创建了路径为HKLM:\SOFTWARE\IDTSettings的注册表项,在Windows Terminal中单独执行Test-Path -Path 'HKLM:\SOFTWARE\IDTSettings'命令可以正常返回True,但直接运行.ps1脚本时始终进入else分支,无法检测到该注册表项存在。

排查结论

经过测试确认,该异常为PowerShell ISE环境的特有问题:

  • 在Windows Terminal中运行该PowerShell脚本可以正常识别注册表项,逻辑运行符合预期
  • 仅在PowerShell ISE中运行脚本时才会出现检测失效的问题
  • 实际生产调用脚本的场景不受影响,问题已解决

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 17:45:02