windows - WinRS 可以访问 UNC 路径吗?

标签 windows batch-file winrm winrs

我正在使用 WinRS 在远程计算机上运行可执行文件。反过来,该可执行文件需要访问 UNC 网络共享。我在带有 AD 的 Windows 网络上,并将所有内容作为域管理员帐户(不是本地帐户)运行,该帐户是相关服务器的机器管理员,并且具有网络共享的完全控制权(文件夹和共享)。但是当我使用 WinRS 运行远程进程时,该远程进程似乎没有网络访问权限。我可以提炼出的最简单的例子是:

winrs -r:RedServer dir \\BlueServer\SomeSharedFolder

给出了错误

Access is denied.

请注意,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 ”,但那里没有答案。

最佳答案

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

客户端 -> 服务器 -> 文件共享

您可以通过 CredSSP or Kerberos delegation 完成此操作.

CredSSP authentication is intended for environments where Kerberos delegation cannot be used. Support for CredSSP was added to allow a user to connect to a remote server and have the ability to access a second-hop machine, such as a file share.

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

关于windows - WinRS 可以访问 UNC 路径吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30900492/

相关文章:

mysql - 通过批处理脚本运行mysql脚本

powershell - 从 Windows 资源管理器 'Send To' 菜单调用 powershell 命令

c - 有什么方法可以使用批处理脚本杀死Windows Task Manager?

python - 如何使用域帐户通过 Python (pywinrm) 中的 WinRM 连接到远程计算机?

windows - 为什么在删除 WinRM 日志时 Windows guest 配置失败?

c++ - C++ 中的对话框不接收某些击键

java - 从 Java 执行 cmd.exe 命令

java - Hibernate - 在 Linux 和 Windows 上的不同行为

python - 如何在 Windows 下用 Python 将表情符号渲染为图像?

azure - 无法使用 Azure 认证测试工具 1.2 连接到 VM