【发布时间】:2019-01-11 19:47:08
【问题描述】:
所以我一直试图从 Invoke-Command 错误中获取完整的错误消息和堆栈跟踪,但没有任何运气。
我运行了这段代码:
Invoke-command -COMPUTER "TESTCOMPUTER" -ScriptBlock {
klist purge -li 0x3e7
Return Get-Service
} -ErrorVariable errmsg
Write-Host "`r`nError: $errmsg"
这是我在控制台中收到的输出:
[TESTCOMPUTER] 连接到远程服务器 TESTCOMPUTER 失败并显示以下错误消息:WinRM 无法完成操作。 验证指定的计算机名称是否有效,该计算机是否可以通过网络访问,并且该计算机的防火墙例外 WinRM 服务已启用并允许从此计算机进行访问。默认情况下,公共配置文件的 WinRM 防火墙例外限制访问 同一本地子网中的远程计算机。有关详细信息,请参阅 about_Remote_Troubleshooting 帮助主题。 + CategoryInfo : OpenError: (TESTCOMPUTER) [], PSRemotingTransportException + FullyQualifiedErrorId : WinRMOperationTimeout,PSSessionStateBroken
错误:[TESTCOMPUTER] 连接到远程服务器 TESTCOMPUTER 失败,并显示以下错误消息:WinRM 无法完成操作。 验证指定的计算机名称是否有效,该计算机可通过网络访问,并且 WinR 的防火墙例外 M 服务已启用并允许从此计算机进行访问。默认情况下,公共配置文件的 WinRM 防火墙例外限制对远程的访问 e 同一本地子网中的计算机。有关详细信息,请参阅 about_Remote_Troubleshooting 帮助主题。
如您所见,第二部分是缺少堆栈跟踪的错误副本。我怎样才能把整个错误变成一个字符串?
【问题讨论】:
标签: powershell error-handling invoke-command