Job-block中的新PSSession作业

时间:2012-01-26 14:20:14

标签: powershell remoting

我需要在工作中启动PSSession。但我不能使用Invoke-Command -AsJob产品架构。

我尝试过类似的事情:

$block {
    "Job started"

    $session = New-PSSession -computername "host-name"
    "Session started"
}
$job = Start-Job -ScriptBlock $block 
Wait-Job -Job $job -Timeout 10 | Out-Null
Receive-Job -Job $job

(我在系统上没有PS我发布这个问题,所以我可能会在语法上出错,请跳过它)

但是,而不是创建远程会话作业在New-PSSession行上永远被阻止。 Wait-Job将在超时时退出,Recieve-Job将仅返回“Job started”。

我试过了:

  1. 我确保主线程中的远程处理工作正常,并且Invoke-Command -AsJob也正常工作。
  2. Invoke-Command和其他基于PSSession的cmdlet具有相同的行为 - 阻止作业执行。
  3. 在主线程中创建PSSession,然后传输会话对象或object.Id作为作业的-InputArguments

    结果:在主线程中创建的PSSession无法在子作业中使用,无论是通过Get-PSSession转移还是在作业的脚本块中找到

  4. 提前致谢!

0 个答案:

没有答案