天蓝色运行命令脚本来挂载文件存储

时间:2018-08-17 07:04:02

标签: azure virtual-machine file-storage runcommand

我创建了VM,该VM需要从Azure File Storage下载一些文件。我正在寻找一种自动化的方法,并且正在尝试Azure VM Run命令脚本。第一步CmdKey一切正常,但下一步是: 净使用Z:\ my123storageaccount.file.core.windows.net \ databases / u:AZURE \ my123storageaccount sskhgkghgkuytiytru ... ==

失败: enter image description here

当我登录到该VM并在PowerShell窗口中运行该命令时,它可以正常工作。

可能有用的一件事是错误中的存储帐户名正在修剪我的第一个字母。例如,如果在错误中将其称为MyStorageAccount,则表示yStorageAccount.file.core.windows.net

任何帮助

4 个答案:

答案 0 :(得分:0)

您可以像这样复制文件。可以使用Azure门户中共享的上下文菜单中的“连接”,从Azure复制powershell命令。如果这不起作用,则可能是连接问题或与SMB有关

<select>

答案 1 :(得分:0)

更新

在我这边,我可以使用Azure VM运行命令脚本从Azure文件存储中下载一些文件。

主要步骤如下:

  • 从我的存储帐户-文件-连接复制脚本。

  • 将脚本粘贴到Azure虚拟机运行命令-RunPowerShellScript-PowerShellScript。

enter image description here

根据此doc,运行命令需要具有Microsoft.Compute/virtualMachines/runCommand/action权限,而Contributor角色和更高级别的角色具有该权限。请检查这一边。

此外,登录到Azure VM时,请检查Azure VM代理,从任务管理器中查找进程名称WindowsAzureGuestAgent.exe。

参考:Azure Virtual Machine Agent overview

答案 2 :(得分:0)

如果您转到存储帐户->文件,则可以复制映射驱动器所需的powershell命令。

enter image description here

答案 3 :(得分:0)

对我来说,问题在于,根据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。