故障控制Powershell工作流超时

时间:2015-01-28 21:42:01

标签: powershell workflow-foundation powershell-v3.0 workflow-activity

我有一个PowerShell工作流程,它会生成错误:

  

“操作未在指定的超时时间内完成   00:00:30。分配给此操作的时间可能是一部分   更长的超时“

工作流脚本是:

Workflow Test-Me (){
    Param
    (
        $Path = "c:\temp"
    )

    $Files = InlineScript{
                Get-ChildItem -Path $using:Path -File -Recurse -Force | Where-Object {$_.LastWriteTime -lt ((get-date).AddDays(-$using:Days))} | Select FullName
             }

    Foreach -parallel ($File in $Files){
        sequence{
            InlineScript{
                Remove-Item -Path $using:File.FullName -force -ErrorAction:SilentlyContinue
            } -PSActionRunningTimeoutSec 300
        }
    }
}

生成错误的行是处理InlineScript操作的remove-item。它在到达操作之前运行并工作30秒,然后退出上面引用的错误。我已将-PSActionRunningTimeoutSec参数添加到InlineScript,但这不会影响错误。我还设置了工作流通用参数,如下所示:

-PSRunningTimeoutSec = 300
-PSElapsedTimeoutSec = 0

我使用以下过程调用工作流cmdlet:

PS C:\> . "c:\path\to\Test-Me.ps1"
PS C:\> Test-Me -PSRunningTimeoutSec 300 -PSElapsedTimeoutSec 0

显然有一个我无法找到/不知道的超时,但是PowerShell并不具体。我错过了什么超时,如何更改?

参考文献:

about_WorkflowCommonParameters

PowerShell Workflows: Using Parameters

Syntactic Differences Between Script Workflows and Scripts

about_InlineScript

0 个答案:

没有答案