2017-04-17 10 views
1

リモートサーバー上で実行されているinvoke-commandスクリプトブロックをどのように終了しますか?私はnextを試しました。私はあなたがExitキーワードを使用したい疑う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スクリプトで遊んだ。それは 機能の実行を終了するための素晴らしい方法だ。」

関連する問題