gpt4 book ai didi

用于通过多个标签查询重新启动 VM 的 Azure Runbook

转载 作者:行者123 更新时间:2023-12-03 04:19:58 26 4
gpt4 key购买 nike

我知道如何为具有一个标签的虚拟机重新启动/安排重新启动。但是,我很难找到如何根据多个标签的存在来重新启动虚拟机。这可能吗?

例如:如果虚拟机的标签 1= True 且标签 2=True,那么我希望它重新启动。如果任一标记为 false,请不要重新启动。如果任一标签丢失,请勿重新启动。

最佳答案

您的意思是要使用 Azure Runbook 来重新启动带有某些标签的 VM 吗?

如果我是对的,也许你可以使用这个脚本来做到这一点:

$connectionname = "AzureRunAsConnection"
try
{
$servicePrincipalConnection=Get-Automationconnection -Name $connectionname
Login-AzureRmAccount -servicePrincipal -TenantId $servicePrincipalConnection.TenantId -applicationId $servicePrincipalConnection.applicationId -certificateThumbprint $servicePrincipalConnection.certificatethumbprint
}
catch{
if (!$serviceprincipalconnection)
{
$ErrorMessage = "Connection $connectionName not found."
throw $ErrorMessage
} else{
Write-Error -Message $_.Exception
throw $_.Exception
}
}

$VMs = Get-AzureRMVm | Where {$_.Tags.keys -contains "Tier" -and $_.Tags.Values -eq "2" -and $_.Tags.Values -eq "1"} | select Name, ResourceGroupName, Tags
ForEach ($vm in $vms)
{
$VMStatus2 = Get-AzureRMVM -Name $VM.Name -ResourceGroupName $VM.ResourceGroupName -Status

$VMName = $VM.Name
$VMRG = $VM.ResourceGroupName
$VMPS = $VMStatus2.Statuses[1].DisplayStatus
If ($VMPS-eq "VM Running")
{
Restart-AzureRMVM -Name $VMName -ResourceGroupName $VMRG -force
"$VMName is restarting"
}
}

您可以使用该脚本列出标签键包含 Tier 且值为 12 的虚拟机。

这是我的屏幕截图:

enter image description here

关于用于通过多个标签查询重新启动 VM 的 Azure Runbook,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49981884/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com