2015-06-17 103 views
2

我正在使用WinRS在遠程計算機上運行可執行文件。該可執行文件反過來需要訪問UNC網絡共享。我在使用AD的Windows網絡上運行所有服務器,並以域管理員帳戶(而非本地帳戶)運行所有服務器的機器管理員,並擁有網絡共享的完全控制(文件夾和共享)。但是當我使用WinRS運行遠程進程時,該遠程進程似乎沒有網絡訪問權限。我可以提煉出它歸結爲最簡單的例子是:WinRS可以訪問UNC路徑嗎?

winrs -r:RedServer dir \\BlueServer\SomeSharedFolder 

這給錯誤

訪問被拒絕。

注意WinRS本身工作在RedServer,因爲這個運行良好:所以

winrs -r:RedServer dir C: 

,這聽起來像一個權限問題,對不對?但是爲了證明此帳戶確實有過\\BlueServer\SomeSharedFolder份額完全控制,我登錄到RedServer以相同的帳戶和運行這個在命令提示符下出現:

dir \\BlueServer\SomeSharedFolder 

它運行得很好,給了我該文件夾的內容。這只是WinRS + UNC路徑導致錯誤的組合。

有什麼我需要配置不同,或者這是Windows的限制/保障?我遇到了Sysinternals的PsExec.exe類似的限制;我可以訪問目標機器上的任何內容,但網絡上沒有任何內容。順便說一句,我在這裏找到了一個有點相關的SO問題:「Error when creating mapped drive using winrs」,但沒有答案。

回答

5

您所描述的是雙跳場景,需要在客戶端和服務器上進行額外配置才能支持。雙跳場景遠程登錄到Windows服務器,然後訪問遠程網絡共享:

client -> server -> file share

您可以通過CredSSP or Kerberos delegation做到這一點。

CredSSP身份驗證適用於不能使用Kerberos委派的環境。增加了對CredSSP的支持,以允許用戶連接到遠程服務器並且能夠訪問第二跳機器,如文件共享。

雖然我還沒有嘗試過這些說明,但它們似乎是一個合理的開始。此外Travis Gan的this blog post似乎是有幫助的。