由于我在这个网站上找到了我的大部分问题的答案,我希望有人将我的答案藏在他们脑细胞的深处,并愿意为我提取它。我已经搜索了这个网站和互联网,但没有任何成功。这是情况。
我正在 ServerA 上执行一个 Powershell 脚本,如下所示:
"Creating a Session"
$session = New-PSSession –ComputerName $machine -authentication credssp -credential $cred -Name Upgrade
""
"Launching upgrade installation on $Machine"
Invoke-Command -session $session -ScriptBlock {param ($mc, $un, $pw) powershell.exe -executionPolicy bypass c:\PXInstall\AutoUpdate.ps1 -Machine $mc -userName $un -password $pw} -ArgumentList $Machine, $DomainAccount, $DomainAccountPassword
""
"Closing Session"
$rmSession = get-pssession -name Upgrade
#remove-pssession -session $session
remove-pssession -session $rmSession
远程脚本是一个安装 powershell 脚本,它做了很多事情来安装我们的软件。
问题
一旦 autoupdate.ps1 文件退出,它就会掉到我的 catch 块中,并显示错误"The network connection could not be found"。
如果我输出安装脚本运行后显示的所有错误(仍在 autoupdate.ps1 中)。有8个错误,没有一个说找不到网络连接。
在 autoupdate.ps1 脚本退出之前,我做了一个 $error.clear() 希望它不会返回错误,但它仍然存在。错误列表位置 0 的错误是“使用“1”参数调用“添加”的异常:指定的帐户名称已经是组的成员。”
所以看起来安装脚本正在做的事情是导致调用命令返回错误。任何想法如何清除该错误以便脚本正常返回,除了 $error.clear() 因为那不起作用。我希望安装脚本中抛出的合法错误从安装脚本冒泡到主脚本中,以便我可以采取相应措施。
---在弄清楚事情后为了简洁而编辑---