2

我正在使用 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 时遇到了类似的限制;我可以访问目标机器上的任何东西,但网络上什么也没有。顺便说一句,我在这里发现了一个有点相关的 SO 问题:“使用 winrs 创建映射驱动器时出错”,但那里没有答案。

4

1 回答 1

5

您描述的是双跳场景,需要在客户端和服务器上进行额外配置才能支持。双跳场景是远程登录到 Windows 服务器,然后访问远程网络共享:

client -> server -> file share

您可以通过CredSSP 或 Kerberos 委托来完成此操作。

CredSSP 身份验证适用于无法使用 Kerberos 委派的环境。添加了对 CredSSP 的支持以允许用户连接到远程服务器并能够访问第二跳计算机,例如文件共享。

虽然我没有尝试过这些说明,但它们似乎是一个合理的起点。此外,Travis Gan 的这篇博文似乎很有帮助。

于 2015-06-30T05:58:20.093 回答