Ansible 在机器范围内对驱动器进行 SUBST
Ansible to SUBST a drive machine-wide
我已将 Ansible 设置为使用 WinRM 证书方法连接到 Windows Server 2019。我需要将 D 驱动器映射到简单的镜像 C。使用 SUBST 我可以做到 SUBST D: C:\
但是...
- 当我 运行 使用 Ansible 命令时
win_shell
远程桌面不显示驱动器。
- 反之亦然:当我运行远程桌面命令时,Ansible的shell没有看到新的D盘。
- 我尝试使用 registry tricks 使映射保持不变,重新启动后我可以在带有远程桌面的文件资源管理器中看到驱动器,但 PowerShell 和 Ansible 的
win_shell
都看不到它。
如何使用 Ansible 剧本将 C 映射到 D 机器范围?
我不知道你为什么要这样做,但你可以尝试使用工作站服务:
Net use d: \localhost\c$
您可能遇到的一个问题是该命令必须由使用它的同一用户 运行,例如,如果您 运行 在提升的管理员 shell 中,您不会在简单用户中看到它 shell.
驱动器的注册表值缺少 \??\
前缀。使用正确的注册表值一切正常。作为记录,这是我最终完成的 ansible 任务:
- name: Map D drive to C.
ansible.windows.win_regedit:
path: HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager\DOS Devices
name: "D:"
state: present
type: string
data: '\??\C:'
我已将 Ansible 设置为使用 WinRM 证书方法连接到 Windows Server 2019。我需要将 D 驱动器映射到简单的镜像 C。使用 SUBST 我可以做到 SUBST D: C:\
但是...
- 当我 运行 使用 Ansible 命令时
win_shell
远程桌面不显示驱动器。 - 反之亦然:当我运行远程桌面命令时,Ansible的shell没有看到新的D盘。
- 我尝试使用 registry tricks 使映射保持不变,重新启动后我可以在带有远程桌面的文件资源管理器中看到驱动器,但 PowerShell 和 Ansible 的
win_shell
都看不到它。
如何使用 Ansible 剧本将 C 映射到 D 机器范围?
我不知道你为什么要这样做,但你可以尝试使用工作站服务:
Net use d: \localhost\c$
您可能遇到的一个问题是该命令必须由使用它的同一用户 运行,例如,如果您 运行 在提升的管理员 shell 中,您不会在简单用户中看到它 shell.
驱动器的注册表值缺少 \??\
前缀。使用正确的注册表值一切正常。作为记录,这是我最终完成的 ansible 任务:
- name: Map D drive to C.
ansible.windows.win_regedit:
path: HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager\DOS Devices
name: "D:"
state: present
type: string
data: '\??\C:'