0

实际上,我正在尝试使用自定义脚本执行创建 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
4

1 回答 1

1

您可以使用Set-AzVMExtensionwith-ForceRerun参数来实现这一点,每次都需要传入不同的字符串。

https://docs.microsoft.com/en-us/powershell/module/az.compute/set-azvmextension?view=azps-1.3.0

于 2019-02-13T19:35:43.683 回答