2016-06-09 5 views
0

워크 플로가있는 PowerShell 스크립트와 foreach -parallel이 있습니다. InlineScript 블록의 워크 플로 내에 TimeoutSec을 설정했습니다. 내가 (모든 foreach 요소에 대한 오류 당 하나 개의 파일) 로그 파일이 오류를 쓰기 원하는워크 플로에 파일 오류 처리

Microsoft.PowerShell.Utility\Write-Error : The activity has exceeded the 
specified maximum running time of 10 seconds. 
At create-new-vms:25 char:25 
+ 
    + CategoryInfo   : NotSpecified: (:) [Write-Error], TimeoutException 
    + FullyQualifiedErrorId : System.TimeoutException,Microsoft.PowerShell.Commands.WriteErrorCommand 
    + PSComputerName  : [localhost]

: 나는 15 초에 잠 명령을 설정하면

, 나는 아래에 오류가 발생했습니다. 이 작업을 수행하는 방법? 스크립트에 무엇을 추가해야합니까?

내 스크립트 :

$newvmlist = "test1", "test2" 

workflow create-new-vms { 
    param(
    [string[]]$vms 
) 

    foreach -parallel ($vm in $vms) { 
    $run = InlineScript { 
     # Create New VM 
     echo " " 
     echo " " 
     echo "___" 
     echo "VM Name - $Using:vm " 
     echo "----" 
     echo " " 
     echo " " 
     sleep 15 
    } -PSActionRunningTimeoutSec 10 

    $run 
    } 
} 

create-new-vms -vms $newvmlist 

답변

2

당신은 사용할 수 있습니다 ErrorVariable :

create-new-vms -vms $newvmlist -ErrorVariable err 
$err |% {$i=0}{ $i++; $_ | out-file "$i.log" }