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

从PowerShell脚本A调用脚本B时出现执行错误求助

问题修复方案

核心错误点及修正:

  1. 未正确指定被调用脚本路径
    变量$B未定义,PowerShell无法定位要执行的脚本。需直接指定同目录下B.ps1的相对路径:.\B.ps1。

  2. 参数传递语法错误
    调用脚本时不能使用赋值语句$message = "Deployment In Progress",必须遵循-参数名 参数值的格式,改为-message "Deployment In Progress"。

  3. 变量覆盖导致属性调用失效
    原$p1/$p2是[switch]类型参数,赋值为整数后再调用IsPresent属性会报错(整数无该属性)。需改用新变量存储数值,避免覆盖原开关参数。

修正后的A.ps1脚本:

param([switch] $p1, [switch] $p2)

# 指定同目录下B.ps1的路径
$targetScript = ".\B.ps1"

if ($p1.IsPresent)
{
    $p1Value = 2
    & $targetScript -onboardingId "" -p1 $p1Value -message "Deployment In Progress" -connectionString $connectionString
}
elif ($p2.IsPresent)
{
    $p2Value = 3
    & $targetScript -onboardingId "" -p2 $p2Value -message "Deployment In Progress" -connectionString $connectionString
}

额外注意事项:

  • 确认B.ps1存在于当前工作目录,若路径不同需调整$targetScript的绝对/相对路径。
  • 若$connectionString未在A.ps1中提前定义,需补充赋值逻辑,否则会传递$null给B.ps1。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 04:55:28