我创建了需要从 Azure 文件存储下载一些文件的 VM。我正在寻找一种自动执行此操作的方法,并且正在尝试 Azure VM Run 命令脚本。
第一步 CmdKey 一切正常,但下一步是:
net use Z: \\my123storageaccount.file.core.windows.net\databases /u:AZURE\my123storageaccount sskhgkghgkuytiytru...==
失败 with these messages .
当我登录到该虚拟机并在 PowerShell 窗口中运行命令时,它可以正常工作,没有任何错误。
可能有帮助的一件事是错误中的存储帐户名称正在修剪我的第一个字母。例如,如果错误中名为 MyStorageAccount,则表示为 yStorageAccount.file.core.windows.net
任何帮助
最佳答案
对我来说,问题是,根据 Azure docs 、“脚本在 Windows 上作为系统运行。”因此,当您以普通用户身份登录时,该用户不会保存凭据,也无法查看已安装的驱动器内容。
要解决此问题,您可以使用 psexec
(来自 PSTools
package )以普通用户身份运行。例如:
psexec.exe \\your-ip -u your-user -p your-pass cmdkey /add:...
psexec.exe \\your-ip -u your-user -p your-pass net use Z: \my123storageaccount.file.core.windows.net\databases /u:AZURE\my123storageaccount sskhgkghgkuytiytru...==
注意:由于 voodoo black magic ,您必须使用 psexec.exe\\your-ip
的形式,而不仅仅是 psexec.exe
作为系统用户,否则可能会惹恼 Billy Goates。
关于azure run 命令脚本来挂载文件存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51890029/