2017-04-17 86 views
1

如何退出在远程服务器上运行的invoke-command脚本块?我试过next如何退出PowerShell中的Invoke-Command-ScriptBlock?

这里是我的代码:

$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

要使用Exit关键字我怀疑。

“出口关键字用于从上下文退出;将退出在您的代码运行 (当前运行)上下文这意味着 ,如果你在脚本中使用此关键字,并启动脚本 直接从您的控制台,它将退出脚本和 控制台,因为它们都运行在相同的上下文中。但是,如果 您在脚本中的函数中使用exit关键字,并调用 函数同样的脚本,它只会退出脚本,而不是整个控制台。exit关键字最适用于函数 ,当这些函数是ca在剧本里。这是一个伟大的方式来终止 功能的执行。”