实际上,我正在尝试使用自定义脚本执行创建 Azure Runbook。Runbook 针对 Linux VM 运行。我构建了一个简单的脚本,它在 VM 上创建一个目录。如果我第一次执行 runbook,则将立即创建目录。然后,我删除了该目录,再次运行 Runbook 并没有再次创建该目录。在网上搜索了一番后,我发现了一个提示,您只能在虚拟机上运行具有相同参数的脚本一次。所以我在我的 SettingString 中添加了一个时间戳。不幸的是,要么这不能解决问题,要么我的代码中有错误。
希望您能帮助我找出我的错误或给我一个提示,如何针对同一个 VM 多次执行脚本。
非常感谢!
$timestamp = (Get-Date).Ticks
Write-Output $timestamp
$SettingsString = '{"timestamp": "$timestamp", "fileUris":["myURI"],"commandToExecute":"sh myscript.sh"}';
$ProtectedSettingsString = '{"storageAccountName": "xxx","storageAccountKey":"xxx"}'
Set-AzureRmVMExtension -ResourceGroupName "xxx" -Location "xxx" -VMName "xxx" -Name "xxx" -Publisher "Microsoft.OSTCExtensions" -ExtensionType "CustomScriptForLinux" -TypeHandlerVersion 1.5 -SettingString $SettingsString -ProtectedSettingString $ProtectedSettingsString