gpt4 book ai didi

powershell - 获取Invoke-Command的状态

转载 作者:行者123 更新时间:2023-12-03 01:07:26 26 4
gpt4 key购买 nike

我下面有一个命令可以连接到远程计算机并执行以下操作:

$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的状态?

我已经尝试过以下操作,但无法正常工作:
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"
}

最佳答案

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

try { Invoke-Command -Session $session -ScriptBlock { Write-Error "err" } -ErrorAction Stop } catch { Write-Host "!" }
Write-Error生成异常,因为 ErrorActionStop。通过 session 传输异常,然后您可以捕获它。

关于powershell - 获取Invoke-Command的状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45592326/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com