例如,如果我输入start-job -name newjob -scriptblock {get-process}
,则作业失败。
随后输入(get-job -name newjob).ChildJobs[0].JobStateInfo
,我得到类似
System.Management.Automation.Remoting.PSRemotingTransportException: The background process reported an error with the following message: 2012-02-28 18:45:25 info [native] No Registry-Settings exist for this process.
有什么问题? (WinRm服务正在运行。)
答案 0 :(得分:1)
我想我不妨提供更正式的答案。正如您所建议的那样,后台作业需要PowerShell的远程处理基础架构,甚至可以运行本地作业。您已经说过WinRM服务正在运行,这很好。您可以通过运行New-PSSession来创建“本地”远程会话吗?
PS C:>新的PSSession
如果远程处理工作正常,您应该获得一个会话对象。如果出现问题,那么我预计工作会失败。您可以尝试新的PowerShell会话和/或重新启动。或者再次运行Enable-PSRemoting。我想知道GPO是否被推下来改变了你的远程配置。
您表示没有任何内容与Start-Job一起运行。尝试此命令,看看它是否有效:
invoke-command {get-process} -ComputerName $ env:computername
它与Start-Job类似。
答案 1 :(得分:1)
PSRemotingTransportException
的原因是.NET分析工具,它可以更改.NET进程的日志输出。显然后台作业进程必须返回某个日志输出。禁用分析工具的初始记录会使后台作业再次起作用。