我有以下脚本。创建的后台作业永远不会完成。 (如果我只是在-ScriptBlock { ... }
中运行脚本,它会在几秒钟内完成。
修改
我的机器是XP / sp3。这可能是乔恩发现的原因。
Start-Job -ScriptBlock {
if ( (Get-PSSnapin -Name Sql* -ErrorAction SilentlyContinue) -eq $null )
{
Add-PSSnapin Sql*
}
Invoke-Sqlcmd -Query "select 1 a" -ServerInstance serverX -ErrorAction stop
}
Receive-Job *
不返回任何内容,Get-Job
始终返回以下行。
> Get-Job
Id Name State HasMoreData Location Command
-- ---- ----- ----------- -------- -------
29 Job29 Running True localhost ...
答案 0 :(得分:4)
您的代码似乎在我的测试环境中工作(Windows 7)。您可能在Windows XP / 2003上遇到this (Background jobs keep running infinitely in Win XP SP3)。
答案 1 :(得分:4)