【发布时间】:2016-09-01 16:02:59
【问题描述】:
这个问题让我很困惑,我很难提出正确的问题。所以低于我的最大努力。如果你能帮助我改进这个问题,我很高兴。
背景: 我通过 Chocolatey 管理安装在 Windows 10 客户端上的软件,而巧克力又由 Ansible 远程调用。 Chocolatey 包的存储库位于 NAS 上的 Windows 共享中。我首先遇到了第二个跃点问题,该问题已通过使用 kerberos 票证成功解决(请参阅https://github.com/ansible/ansible/issues/15682)。客户端和 Synology 已加入 AD 域。
我现在面临的问题是,如果存储库是 Synology Diskstation 上的 Windows 共享,如果通过 Ansible 远程调用,Chocolatey 看不到包。该命令实际上成功运行,但返回一个空列表。如果在本地调用相同的命令(choco list),一切都很好。如果存储库位于托管在 OpenMediaVault (OMV) NAS 上的共享上,则它可以与 Ansible 一起使用,但前提是启用了 Samba 选项允许来宾。我试图在 Synology 上找到类似的设置。我启用了访客访问,这似乎也可以工作,因为客户端无需提供用户名/密码即可连接到共享。
通过使用 Wireshark,我发现在本地运行 choco list 时会提供用户名/域(这是预期的)。如果通过 Ansible 远程调用命令,则不提供用户名/域(值为 NULL)(这不是真正预期的)。这解释了为什么它仅在启用允许访客访问时才在 OMV 上工作。
目前我看到了两种可能的解决方案:
-
获取远程执行的 choco 命令以在访问共享时发送用户凭据(更安全的首选解决方案)
- 如何配置远程执行的 PowerShell 脚本(例如 Chocolatey 使用)以在连接到共享时使用实际执行脚本的用户的用户名/域名?
-
让 Synology Diskstation 也接受远程执行脚本的无用户名登录
- 这实际上让我最困惑。访客访问原则上是有效的,因为我可以连接到允许用户访客从 Linux 和 Windows 框访问的共享,而不会提示输入密码/用户名。
- 有没有人知道为什么远程调用 choco 命令不起作用以及如何修复它?
我很乐意提供更多信息...
【问题讨论】:
标签: powershell ansible powershell-remoting chocolatey synology