4

PowerShell でジョブを試していますが、結果を受け取ることができません。シェルからの出力を次に示します。

Windows PowerShell
Copyright (C) 2009 Microsoft Corporation. All rights reserved.

PS C:\Users\Administrator> dir


    Directory: C:\Users\Administrator


Mode                LastWriteTime     Length Name
----                -------------     ------ ----
d-r--         6/18/2013  11:52 AM            Contacts
d-r--         6/20/2013   1:00 PM            Desktop
d-r--         6/18/2013  11:52 AM            Documents
d-r--         6/18/2013  11:52 AM            Downloads
d-r--         6/18/2013  11:52 AM            Favorites
d-r--         6/18/2013  11:52 AM            Links
d-r--         6/18/2013  11:52 AM            Music
d-r--         6/18/2013  11:52 AM            Pictures
d-r--         6/18/2013  11:52 AM            Saved Games
d-r--         6/18/2013  11:52 AM            Searches
d-r--         6/18/2013  11:52 AM            Videos
-a---         6/20/2013  12:57 PM      13404 services.html


PS C:\Users\Administrator> Start-Job -ScriptBlock { dir }

Id              Name            State      HasMoreData     Location             Command
--              ----            -----      -----------     --------             -------
1               Job1            Running    True            localhost             dir


PS C:\Users\Administrator> get-job

Id              Name            State      HasMoreData     Location             Command
--              ----            -----      -----------     --------             -------
1               Job1            Completed  False           localhost             dir


PS C:\Users\Administrator> Receive-Job -id 1
PS C:\Users\Administrator>

上記の出力は、私が構築してドメイン コントローラーにアップグレードしたストックの Win2008 R2 サーバーからのものです。ドメイン内の唯一のコンピューターであり、他のコンピューターに関連付けられていません。

これらのコマンドを他のコンピューターで実行しても、結果を受け取るのに問題はありません。このジョブが出力を生成しない原因は何ですか? この問題をデバッグするにはどこを見ればよいですか? イベントログを調べましたが、問題は見つかりませんでした。

編集:ご協力いただきありがとうございますが、この質問は解決済みと見なします。サーバーのビルド中またはパッチのインストール中に何かが破損したと思われます。他のコンピューターでそのような動作が見られなかったからです。その後、データを移行してサーバーを再構築しましたが、問題なく動作しています。

4

2 に答える 2

1

Start-Job現在のディレクトリでジョブを開始しません。新しい PowerShell プロセスを開始し、そのジョブに別のディレクトリを使用します。別の回答が示唆するように、サーバー上でこのディレクトリが空である可能性があるため、何も返されません。Start-Jobスクリプト ブロックに出力を書き込むとどうなりますか? 出力はありますか?

Start-Job { Write-Host "In ur job." ; Get-Location ; dir } | Wait-Job | Receive-Jo
于 2013-07-09T09:30:55.750 に答える