2013-07-04 27 views
4

我在PowerShell中嘗試使用作業,但無法接收結果。這裏有一些shell的輸出。未收到來自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服務器。它是域中唯一的計算機,不與任何其他計算機關聯。

我在其他計算機上運行這些命令時沒有收到結果的問題。什麼會導致這項工作不產生產出?我應該在哪裏調試這個問題?我瀏覽了事件日誌並沒有發現任何問題。

編輯:感謝大家的幫助,但我會考慮解決這個問題。我相信在構建服務器或安裝修補程序期間某些內容已損壞,因爲沒有其他計算機顯示此行爲。我已經遷移了數據並重建了服務器,並且工作正常。

+0

您是否嘗試將作業轉儲到文本文件? –

回答

1

Maybe您正在搜索的目錄在這臺計算機上恰好是空的,但其他的不是。您可以嘗試在作業中提供一個-path參數DIR/GCI:

Start-Job -ScriptBlock { dir -path c:\folderThatIsForSureNotEmpty } 
1

Start-Job不會在當前目錄下開始工作。它啓動一個新的PowerShell進程,併爲該作業使用不同的目錄。如另一個答案所示,它的可能目錄在你的服務器上是空的,所以沒有任何東西被返回。如果您只在Start-Job腳本塊中寫入一些輸出,會發生什麼情況?你有輸出嗎?

Start-Job { Write-Host "In ur job." ; Get-Location ; dir } | Wait-Job | Receive-Jo 
+0

請再次閱讀我的文章。你會在底部看到我已經在運行'Receive-Job'並且沒有輸出。 – Starfish

+0

糟糕。我想知道爲什麼答案似乎如此明顯。我更新了我的答案,並提供了進一步的調試建議。 –