如何退出远程服务器上运行的invoke-command
脚本块?我试过next
。
这是我的代码:
$Res = Invoke-Command -Session $Ses -ArgumentList ($ROOTdir, $PARAMS.SYS, $PARAMS.main, $PARAMS.zip) -ScriptBlock {
Param($ROOTdir, $SYS, $MAIN, $ZIP)
$list | %{
$completed = $false
$retrycount = 1
while (-not $completed) {
try {
$Copytime = (Measure-Command {
Copy-Item -Path $_.FullName -Destination ($SYS.KITCHENdir) -Force -ErrorVariable copyerror
}).TotalSeconds
$completed = $true
} catch {
if ($retrycount -gt $MAIN.Retry ) {
break or exit #HOW STOP EXECUTING NEXT STEPS AND EXIT
} else {
Start-Sleep $MAIN.DelayRetry
$retrycount++
}
}
}
#IF copy bad result need stop and exit
#The final one can produce flavors here, but it does not look quite kosher
#next steps
}
答案 0 :(得分:0)
我怀疑您要使用Exit
关键字。
“exit关键字用于退出上下文;它将退出 (当前正在运行)代码运行的上下文。这意味着 如果您在脚本中使用此关键字,则启动该脚本 直接从您的控制台,它将退出脚本和 控制台,因为它们都在相同的上下文中运行。但是,如果 您在脚本中的函数中使用exit关键字,然后调用 该函数来自同一个脚本,它只会退出脚本而且 不是整个控制台。 exit关键字最适用于函数, 当在脚本中调用这些函数时。这是一个很好的方式 终止函数的执行。“