从Github加载Azure虚拟机的自定义脚本扩展

时间:2018-07-16 09:29:23

标签: azure

我正在设置Azure Windows VM,并希望对某些“启动时”脚本使用“自定义脚本扩展”。

许多有关自定义脚本扩展的文章都谈到了能够从Blob和/或Github加载脚本。但是,当我通过门户网站添加自定义搜索引擎时,这就是我看到的内容:

enter image description here

所以我可以从本地计算机上提供脚本文件,就这样了吗?

2 个答案:

答案 0 :(得分:1)

在Azure门户中,如您所见,使用扩展名,脚本文件将从您的本地计算机上看似上传。上载脚本文件后,您可以看到它存储在Azure存储Blob中,URL如下所示:https://iaasv2tempstoreeastus.blob.core.windows.net/vmextensionstemporary-10030000aa9b4851-20180717014522123/Untitled1.ps1

如果要使用Blob和/或Github中的自定义脚本文件,则需要使用PowerShell cmdlet Set-AzureRmVMExtension,如下所示:

$SettingsString = '{"fileUris":[],"commandToExecute":""}';
$ProtectedSettingsString = '{"storageAccountName":"' + $stoname + '","storageAccountKey":"' + $stokey + '"}';
Set-AzureRmVMExtension -ResourceGroupName "ResourceGroup11" -Location "West US" -VMName "VirtualMachine22" -Name "CustomScriptExtension" -Publisher "Contoso.Compute" -Type "CustomScriptExtension" -TypeHandlerVersion "1.1" -SettingString $SettingsString -ProtectedSettingString $ProtectedSettingsString ;

您可以使用来自Blob和/或Github的脚本文件链接来设置fileUrls,以便将其用作自定义脚本。

答案 1 :(得分:0)

在Azure CLI上运行以下命令:

az vm extension set --resource-group <Your azure resource group name> --vm-name <your vm name> --name customScript --publisher Microsoft.Azure.Extensions --settings <customscript.json>

在此示例中, 文件包含:

{
"fileUris":["<Generate raw github link to your .sh file and put that link.>"],
"commandToExecute":"./<Your same .sh file in github>"
}