我使用WinRS在远程计算机上运行可执行文件。反过来,该可执行文件需要访问UNC网络共享。我在使用AD的Windows网络上运行,并将所有内容作为域管理员帐户(不是本地帐户)运行,该帐户是相关服务器的计算机管理员,并具有网络共享的完全控制权(文件夹和共享) 。但是,当我使用WinRS运行远程进程时,该远程进程似乎没有网络访问权限。我能将其提炼出来的最简单的例子是:
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;我可以访问目标计算机上的任何内容,但网络上没有任何内容。顺便说一句,我在这里发现了一个与此有关的问题:" Error when creating mapped drive using winrs",但没有答案。
答案 0 :(得分:5)
您所描述的是双跃点场景,需要在客户端和服务器上进行额外配置才能支持。双跃点方案是远程登录到Windows服务器,然后访问远程网络共享:
client -> server -> file share
您可以通过CredSSP or Kerberos delegation完成此操作。
CredSSP身份验证适用于无法使用Kerberos委派的环境。添加了对CredSSP的支持,允许用户连接到远程服务器,并能够访问第二跳机器,例如文件共享。
虽然我没有尝试过这些说明,但它们似乎是一个合理的起点。此外,Travis Gan的this blog post似乎也很有帮助。