我需要在工作中启动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”。
我试过了:
在主线程中创建PSSession,然后传输会话对象或object.Id作为作业的-InputArguments
结果:在主线程中创建的PSSession无法在子作业中使用,无论是通过Get-PSSession转移还是在作业的脚本块中找到
提前致谢!