首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >获取Invoke-Command的状态

获取Invoke-Command的状态
EN

Stack Overflow用户
提问于 2017-08-09 21:37:23
回答 1查看 1.5K关注 0票数 1

我使用下面的命令连接到远程计算机并执行此操作:

代码语言:javascript
复制
$myfile = [System.IO.File]::ReadAllBytes("C:\temp\test.txt")
$session = $null
$session = New-PSSession -computerName $server -credential $user
Invoke-Command -Session $session -ArgumentList $myfile -ScriptBlock {[System.IO.File]::WriteAllBytes("C:\temp\test.txt", $args)}

但是我正在努力获取进程的状态,如何获取Invoke-Command的状态

我尝试过如下方法,但不起作用:

代码语言:javascript
复制
try {
    Invoke-Command -Session $session -ArgumentList $myfile -ScriptBlock {[System.IO.File]::WriteAllBytes("C:\temp\abc\Bank_Wiz_copy2.txt", $args)}
    $Stat = "Success"
}
catch {
    $Stat = "Failed"
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-09 21:42:19

有很多种方法。但在PowerShell中,Invoke-Command背后的思想是指定的脚本块以与本地脚本相同的方式执行。所以,你可以这样做:

代码语言:javascript
复制
try { Invoke-Command -Session $session -ScriptBlock { Write-Error "err" } -ErrorAction Stop } catch { Write-Host "!" }

由于ErrorActionStopWrite-Error会产生异常。异常是通过会话传输的,那么您就可以捕获它。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45592326

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档