我正在准备PowerShell脚本来禁用自动-多个资源组中所有Azure VM的关闭选项。到目前为止,我已经准备好脚本,通过将资源组名称和VM名称定义为变量,为单个资源组和单个VM禁用自动关闭选项。但我只需要将资源组名称定义为变量,并且我需要从该资源组变量获取VM详细信息。可以使用请帮我解决这个问题。
下面是PowerShell脚本:
# Sign in to your Azure account
Connect-AzAccount
# Define an array of resource group names
$resourcegroups = @("RG-Test1", "RG-Test2")
# Define an array of VM names
$vms = @("devvm1", "DevVm2")
$shutdown_time = "0000"
$shutdown_timezone = "India Standard Time"
# Loop through resource groups and VMs
for ($i = 0; $i -lt $resourcegroups.Length; $i++) {
$resourcegroup = $resourcegroups[$i]
$vm = $vms[$i]
$properties = @{
"status" = "Disabled"
"taskType" = "ComputeVmShutdownTask"
"dailyRecurrence" = @{"time" = $shutdown_time }
"timeZoneId" = $shutdown_timezone
"notificationSettings" = @{
"status" = "Disabled"
"timeInMinutes" = 00
}
"targetResourceId" = (Get-AzVM -ResourceGroupName $resourcegroup -Name $vm).Id
}
New-AzResource -ResourceId ("/subscriptions/{0}/resourceGroups/{1}/providers/microsoft.devtestlab/schedules/shutdown-computevm-{2}" -f (Get-AzContext).Subscription.Id, $resourcegroup, $vm) -Location (Get-AzVM -ResourceGroupName $resourcegroup -Name $vm).Location -Properties $properties -Force
}
字符串
1条答案
按热度按时间uhry853o1#
您可以使用下面的脚本只定义资源组名称作为变量,并从该资源组获取VM详细信息。
字符串
现在您可以获取VM详细信息并禁用多个资源组中所有Azure VM的自动关闭选项。如下所示:
的数据