2012-02-28 122 views
0

例如,如果我輸入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

我們可以假設運行Get-Process正常工作正常嗎? – 2012-02-28 18:32:35

+0

不,每個開始的作業都會返回狀態「失敗」 – s106mo 2012-02-28 18:45:25

+0

不,沒有使用作業,您可以在沒有錯誤的情況下運行Get-Process嗎?你在運行什麼操作系統?該錯誤似乎表明有關稱爲信息的過程。你能告訴我們關於它的任何事嗎? – 2012-02-28 18:48:56

回答

0

PSRemotingTransportException的原因是一個.NET分析工具,用於更改.NET進程的日誌輸出。顯然,後臺作業進程必須返回某個日誌輸出。禁用分析工具的初始日誌記錄可讓後臺作業再次運行。

1

我想我可能會提供更正式的答案。正如你所建議的,後臺作業需要PowerShell的遠程處理基礎架構,甚至可以運行本地作業。你說過WinRM服務正在運行,這很好。你可以通過運行New-PSSession創建一個「本地」遠程會話嗎?

PS C:>新的PSSession

如果遠程工作正常,你應該得到一個會話對象。如果有問題,我會希望工作失敗。您可以嘗試新的PowerShell會話和/或重新啓動。或者再次運行Enable-PSRemoting。我想知道一個GPO是否被推下來改變了你的遠程配置。

您表示沒有運行Start-Job。試試這個命令,看看它的工作原理:

調用命令{得到處理} -ComputerName $ ENV:計算機名

它在本質上啓動工作類似。

+0

- 啓用-PSRemoting - >完成; - new-pssession - >工作; - invoke-command {get-process} -ComputerName $ env計算機: - >工程; 然而,啓動工作仍然失敗 – s106mo 2012-02-29 08:11:37

+0

所以遠程處理的作品,但任何運行具有啓動作業失敗,如果你試試這個,會發生什麼: 得到-WmiObject可以win32_service時-AsJob 我去。假設它會失敗,但更好的是徹底。 – 2012-02-29 13:15:47

+0

我決定安裝所有Windows管理框架3.0 - 社區技術預覽(包括PowerShell 3),現在它可以工作......感謝您的幫助! – s106mo 2012-02-29 13:27:15