2013-04-02 104 views
1

我有一個批處理文件,它的一部分將文件夾及其內容複製到本地目錄,然後繼續執行批處理,然後嘗試執行該文件夾的內容。在本地運行它可以在所有wintel操作系統上運行,並將文件從\ networkshare \ folder *。*複製到%systemdrive%\ temp \。批處理文件 - 遠程複製和執行問題

我試圖使用例如psexec @ serverlist.txt -c batfile.bat -s -f -d來複制文件,然後遠程執行它,問題在於當遠程運行時不會複製文件。我認爲它是一個身份驗證問題後,你已經遠程執行批處理文件遠程系統不會允許我訪問/驗證網絡共享

我已經嘗試xcopy,複製,robocopy。

回答

0

AFAIK您只能使用隱式憑證對下一跳進行身份驗證。即使用戶具有所需的權限,從第一跳到第二跳的連接嘗試也會失敗。見例如here獲得解釋。所以你對遠程主機驗證

psexec @serverlist.txt -u %USERDOMAIN%\%USERNAME% -d -c batfile.bat 

使用明確憑據:

試試這個。由此第二跳將成爲您已驗證會話的下一個躍點。不要將本腳本作爲本地系統(-s)運行,因爲該帳戶僅限於本地資源。

0

我以前有過這個問題。如果可以,則不要試圖複製/運行BAT文件,而是從UNC路徑運行腳本。我認爲問題在於BAT文件實際上不能通過PSEXEC運行並像您想象的那樣複製。它是否提供退出代碼?

以下是我前一段時間安裝Adobe reader的示例。我試圖通過批處理文件,但沒有骰子。無論是否複製,我都無法在批處理文件中運行它。我不記得確切的原因,我認爲它與系統中調用批處理文件的方式有關,並且在某種本地環境中運行。不要在此引用我的意思,因爲我不記得確切的原因。

這裏是我的代碼示例:

psexec /accepteula \\%computer% -s cmd /c msiexec /i "\\UNC\Software\adobe\Adobe Reader 7.0.9.msi" TRANSFORMS="acrobat7.mst" /qn