无法使用Azure自定义脚本扩展名复制文件

时间:2018-02-26 15:54:26

标签: azure-virtual-machine azure-powershell

我想在配置后在Azure虚拟机中安装NAGIOS等工具。我想使用" Azure自定义脚本"安装工具。下面是我正在使用的代码。

作为自定义脚本发送的Powershell脚本:

new-item "C:\newfile.txt" -Type file
copy-item -Path "\\xxx.xx.x.x\c$\Nagios for windows" -Destination "C:\nagios" -Recurse
Start-Process "c:\nagios\NSCP-0.4.3.143-x64.msi" /qn -Wait

问题: 第一行代码正在工作(我将它作为一个完整性检查来确认脚本确实正常工作)。但是,第二行和第三行不起作用(最重要的部分)。我也没有在日志中看到任何错误。有人可以帮帮我吗?

2 个答案:

答案 0 :(得分:1)

作为解决方法,您可以将文件上传到Azure存储帐户(Blob,容器),然后使用PowerShell下载它。

您可以像这样创建容器:

enter image description here

然后通过Azure门户上传文件到该blob。

然后您可以使用PowerShell命令下载它:

Invoke-WebRequest -Uri https://jasondisk2.blob.core.windows.net/msi/01.PNG -outfile 'C:\'

您可以将此命令添加到Azure自定义脚本扩展。

希望这有帮助。

答案 1 :(得分:1)

碰巧看到了这个。

要加深故障排除方法,建议您尝试将脚本作为“系统”帐户运行。您可以使用psexec tool from the sysinternal suite

您可以从提升的cmd.exe(以管理员身份运行)使用“ psexec / s powershell”启动新的powershell会话,并以“ system”身份运行脚本。

我假设您会看到下载失败,因为在Jumphost上的c $文件共享上缺少对“系统”的权限。

然后您可以继续进行操作,并在Jumphost上创建一个新共享,“ Everyone”可以访问该共享,并尝试从此处下载Nagios软件。最好不要在共享/文件夹/文件名中包含空格和特殊字符,因为它总是使脚本级别上的不必要的“复杂”。