2011-05-29 33 views
3

我有一個複雜的PowerShell腳本,使用遠程處理,並做了大量的文件複製和加載和卸載PowerShell模塊。在腳本中,我使用robocopy只移動更改文件,任何工作都可以。PowerShell的錯誤,其中外部命令默默無效

但是,每時每刻的PowerShell會話進入一個奇怪的狀態,從而不再執行外部命令。例如,如果我將robocopy輸入到控制檯中,它會立即返回,並且沒有錯誤並且沒有輸出。如果我輸入whoami,它會立即返回而沒有輸出。它只能進入這種狀態,每10次執行一次該腳本就有1次。

如果我關閉控制檯並開始一個新的會話,一切都會恢復正常。任何想法發生了什麼?我找不到調試或修復此狀態的方法。

謝謝, 邁克

更新 它看起來像有一個known issue有超陣列編寫主機可能導致此行爲。我不相信我在做這件事,但很難確定。當whoami的結果變空時,我設法設置了一個陷阱。奇怪的是,它似乎在等待長時間運行的遠程操作時發生。

+0

順便說一句我通過運行沒有詳細跟蹤的腳本解決。目前還不清楚這是否因爲寫入控制檯的內容較少而解決了問題,或者因爲它關閉了惡意跟蹤。 – TheCodeKing 2011-08-24 21:40:48

回答

1

不幸的是,我沒有爲你回答,但我也看到了這種確切的行爲,我可以添加一些洞察力;我知道一個事實,即我沒有使用寫主機,並且只有當我使用powershell V2的後臺作業和遠程處理功能時纔會出現此問題。通常,這發生在我運行了大量後臺作業之後,並且就像你將問題隔離到單個PowerShell進程一樣。重新啓動powershell總是解決問題。

0

對於任何其他人可能會遇到這樣 - 檢查有寫入主機的所有行 - 在我的案件的罪魁禍首是此行的腳本:

寫主機* ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ****

它被用來在年底爲所有循環已完成了視覺標記和它下面有一個總結......只要我刪除它,命令執行。如果我添加它,他們停止執行......也許星號溢出一些緩衝區?不知道,但我不會再使用它們...... :)

+1

有趣的是我沒有在痕跡中使用'****'。我嘗試將這1000次打印到控制檯,但它不會重現此問題。 – TheCodeKing 2011-09-16 20:34:23

0

如果您使用/ R選項與robocopy命令,然後嘗試增加重試次數。更好地使用默認值。 希望這工作正常。

-Archit

+0

問題在於PowerShell會話被破壞,因此甚至不再執行robocopy。 – TheCodeKing 2012-03-21 23:02:43

相關問題