2012-02-28 20 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の実行は正常に動作すると仮定できますか? –

+0

いいえ、開始された各ジョブは状態 "失敗"で返されます – s106mo

+0

いいえ、ジョブを使用せずにエラーなしでプロンプトでGet-Processを実行できますか?どのOSを実行していますか?このエラーは、infoというプロセスに関する何かを示すようです。あなたはそれについて何か教えてもらえますか? –

答えて

0

PSRemotingTransportExceptionの理由は、.NETプロセスのログ出力を変更する.NETプロファイリングツールでした。明らかに、バックグラウンドジョブプロセスは特定のログ出力を返さなければなりません。プロファイリングツールの初期ログを無効にすると、バックグラウンドジョブが再び機能します。

1

もっと正式な回答があると思いました。お勧めのとおり、バックグラウンドジョブでは、ローカルジョブを実行する場合でもPowerShellのリモートインフラストラクチャが必要です。あなたはWinRMサービスが稼働していると言いました。これは良いことです。 New-PSSessionを実行して「ローカル」リモートセッションを作成できますか?

PS C:リモートが正常に動作している場合>新しいPSSessionは

あなたはセッションオブジェクトを取得する必要があります。問題があれば、私は仕事が失敗すると予想します。新しいPowerShellセッションを試みたり、再起動したりすることができます。または、再度Enable-PSRemotingを実行します。 GPOがプッシュダウンされてリモート設定が変更されたのだろうかと思います。

Start-Jobで何も実行されていないことを示します。このコマンドを試してみて、それが動作するかどうかを確認:

Invoke-Commandコマンド-ComputerNameの$ ENV {プロセスを取得する}:コンピュータ名

それは、ジョブを開始するために本質的に似ています。

+0

- Enable-PSRemoting - > done; - new-pssession - > works; - invoke-command {get-process} -ComputerName $ env 私はするつもりです-AsJob 取得-WmiObjectコマンドWin32_Serviceの:; - :しかし を、開始ジョブがまだ – s106mo

+0

のでリモーティング作品を失敗したが、何も、あなたはこれを試すとどうなりますかスタート・ジョブが失敗して実行するコンピュータ名>が動作します。それが失敗すると思うが、徹底的になる方が良い。 –

+0

私は、すべてのWindows管理フレームワーク3.0 - コミュニティテクノロジープレビュー(PowerShell 3を含む)、今すぐ動作します...あなたの助けてくれてありがとう! – s106mo

関連する問題