2012-07-17 24 views
2

我想運行一個我稱爲「systemInfo.vbs」的腳本,該腳本將系統名稱和Service Pack輸出到日誌文件。PsExec沒有將文件複製到執行

在命令提示符下,我正在執行「PsExec.exe \ REMOTECOMPUTER -c systemInfo.vbs」。

我從我的本地系統上的目錄中只有PsExec.exe和systemInfo.vbs

我得到的錯誤運行此

PSEXEC無法啓動的REMOTESERVER systemInfo.vbs:「 找不到指定的文件系統。

任何想法,爲什麼這可能是?我想我能做到這一點運行遠程腳本,就好像它是在遠程服務器上?

回答

1

您需要在遠程PC上或通過PC上的共享或網絡驅動器上的共享上的UNC路徑指定腳本的路徑。因此,如果腳本對遠程℃的副本:\

PsExec.exe \\REMOTECOMPUTER -c c:\systemInfo.vbs 

,或者如果它是在共享\\ MYPC \共享

PsExec.exe \\REMOTECOMPUTER -c \\mypc\shared\systemInfo.vbs 

而且你需要在確保您擁有管理員權限在哪裏啓動腳本,並根據您的腳本可能在遠程PC上做什麼。

+0

我想用-c,它會在複製腳本並執行它在遠程系統上? – envinyater 2012-07-17 18:04:25

+0

從來沒有使用過這個選項,如果遇到麻煩,我肯定會忽略它並像我建議的那樣嘗試,你的錯誤信息清楚地表明這個選項存在問題,但是首先嚐試給出本地系統腳本的完整路徑,因爲psexec用管理權限執行它可能會失去上下文 – peter 2012-07-17 20:12:37

0

對於任何未來可能遇到此問題的人,-c標記確實允許您複製文件以供執行;文檔沒有指定,但是您需要在本地計算機上使用它的路徑跟隨您想要複製和執行的二進制文件。 (我向文檔提交了一個pull請求。)

例如,可以通過複製Web安裝程序將「Blend for Visual Studio SDK for .NET」添加到Visual Studio 2017 Professional的遠程安裝中(名稱爲vs_professional.exe)與憑證相關聯的計算機(\\TargetMachine)(注意DOMAIN僅在您使用域而不是本地用戶時),並使用適當的參數執行。

D:\PSTools\PsExec64.exe "\\TargetMachine" -u "DOMAIN\user" -p "pass" -h -c "D:\deploy\vs_professional.exe" vs_professional.exe modify --installPath "C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional" --add Microsoft.Component.Blend.SDK.WPF --passive 

另一人爲的例子:

PsExec64.exe \\Target -u user -p password -h -c "filetoremoteexec.exe" filetoremoteexec.exe --flag param1 param2