2017-03-17 53 views
0

數據搜索我有一個腳本:如何做遠程PC的

get-childitem c:\users -include *.mov,*.avi,*.asf,*.flv,*.swf,*.mpg,*.mp3,*.mp4,*.wmv,*.wav,*.jpg,*.tif,*.png,*.gif,*.bmp 
-recurse > collection.txt 

這在本地計算機上收集時的偉大工程。不過,我需要同時在多個計算機上運行同樣的事情。所以,我想這在一個BAT文件:

PSexec @list.txt -u UserID -p Password PowerShell get-childitem c:\users -include *.mov,*.avi,*.asf,*.flv,*.swf,*.mpg,*.mp3,*.mp4,*.wmv,*.wav,*.jpg,*.tif,*.png,*.gif,*.bmp 
-recurse > collection.txt 2>&1 pause 

這個工作的一些遠程PC的,但我遇到了幾個問題:

1)collection.txt文件包含所有沒有識別信息其中一部分與哪臺電腦配合。

2)當一臺計算機上運行,​​有時,它看起來像它正在運行,但從來沒有完成和/或從未報告說,它已經完成或寫入文件。

有另一種方式來收集已登錄到計算機的所有用戶相同的數據?或者,我只是不這樣做是正確的

+0

問題1和2是當我在遠程計算機上運行它。 – RussSC

回答

0

更好的方法是使用PSRemoting而非PSEXEC。

$list = "RemoteComputer1","RemoteComputer2" 
Invoke-Command -ComputerName $list -ScriptBlock {get-childitem c:\users -include *.mov,*.avi,*.asf,*.flv,*.swf,*.mpg,*.mp3,*.mp4,*.wmv,*.wav,*.jpg,*.tif,*.png,*.gif,*.bmp -recurse} | Out-File .\collection.txt 

如果您需要使用PSEXEC和BAT文件:

PSexec @list.txt -u UserID -p Password PowerShell -command $env:computername; get-childitem c:\users -include *.mov,*.avi,*.asf,*.flv,*.swf,*.mpg,*.mp3,*.mp4,*.wmv,*.wav,*.jpg,*.tif,*.png,*.gif,*.bmp -recurse 2>&1 > collection.txt