我有一个 salt master 和一个 salt-minion (windows server 2019),我正在尝试使用 salt-state 来安装一些应用程序。作为此安装的一部分,我想从 salt-minion 的本地存储上已安装的网络驱动器复制许多文件。
我的网络驱动器安装在W上,我可以在服务器上很好地访问它,复制文件等。 我的问题是从 salt-master 运行命令时出现没有 W 驱动器的错误。
salt My_SERVER cmd.run "ls 'W:/FOLDER/'" shell=powershell
MY_SERVER:
ls : Cannot find drive. A drive with the name 'W' does not exist.
At line:1 char:1
+ ls 'W:/FOLDER/'
+ ~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (W:String) [Get-ChildItem], DriveNotFoundException
+ FullyQualifiedErrorId : DriveNotFound,Microsoft.PowerShell.Commands.GetChildItemCommand
我尝试添加
runas
并使用我登录服务器的用户,但没有得到任何输出。如果我从 master 到 minion 运行 whoami
命令,它就是 nt
用户。我尝试更改盐以运行为MY_USER
,但重新启动后似乎没有使用配置。
我缺少什么才能远程执行使用此网络驱动器的命令?
编辑: 我刚刚尝试使用 salt 在 cmd 上创建挂载,但也失败了,详细信息如下:
salt MY_SERVER cmd.run "net use W: \\10.192.68.68\Folder /persistent:Yes /user:ftp_user Password123"
MY_SERVER:
System error 67 has occurred.
The network name cannot be found.
如果我在 MY_SERVER 上本地运行该命令,则该命令也有效。使用 salt 在本地和远程运行 whoami 会得到相同的输出。
我没有使用 Salt 做过完全相同的事情,但做过类似的事情,我的笔记可能会有所帮助。
fsuser
)(下面的FILE_SERVER
)MY_SERVER
上为 SYSTEM
用户设置一个凭据,用于访问服务主机上的文件共享(为此,您需要 psexec)
$ psexec -s cmd
> cmdkey /add:FILE_SERVER /user:localhost\fsuser /pass:<password>
\\FILE_SERVER\ShareName
如果您必须使用网络驱动器访问文件(例如
W:
),有一个解决方法