需求:查询Azure虚拟机Boot Diagnostics启用状态及存储账户的PowerShell脚本
检查Azure虚拟机Boot Diagnostics状态及存储账户信息的PowerShell脚本
以下是可批量检查Azure虚拟机Boot Diagnostics启用状态,并在启用时输出对应存储账户详情的PowerShell脚本:
# 登录Azure账户(未登录时执行) Connect-AzAccount # 可选:指定目标资源组,注释此行则检查订阅下所有虚拟机 $resourceGroupName = "YourResourceGroupName" # 获取目标虚拟机列表 $vms = if ($resourceGroupName) { Get-AzVM -ResourceGroupName $resourceGroupName } else { Get-AzVM } # 遍历虚拟机检查Boot Diagnostics配置 foreach ($vm in $vms) { $bootDiagConfig = Get-AzVMBootDiagnosticsData -ResourceGroupName $vm.ResourceGroupName -VMName $vm.Name -GetLatest | Select-Object BootDiagnosticsEnabled, StorageAccountUri Write-Host "`n=== 虚拟机: $($vm.Name) ===" Write-Host "Boot Diagnostics状态: $(if ($bootDiagConfig.BootDiagnosticsEnabled) { "*已启用*" } else { "未启用" })" if ($bootDiagConfig.BootDiagnosticsEnabled) { # 从URI中提取存储账户名称 $storageAccountName = ($bootDiagConfig.StorageAccountUri -split '/')[2].Split('.')[0] Write-Host "存储账户名称: $storageAccountName" Write-Host "存储账户URI: $bootDiagConfig.StorageAccountUri" } }
关键说明:
- 首次运行需通过
Connect-AzAccount完成Azure账户登录,自动化场景可使用Connect-AzAccount -UseDeviceAuthentication实现无交互登录 - 若只需检查特定资源组内的VM,取消注释并修改
$resourceGroupName的值即可,否则脚本会遍历当前订阅下所有虚拟机 Get-AzVMBootDiagnosticsData命令直接获取VM的Boot Diagnostics核心配置,包含启用状态和存储账户的访问URI- 存储账户名称通过解析标准Azure存储URI格式提取,无需额外调用存储账户查询命令
内容的提问来源于stack exchange,提问作者Deepthi S
相关产品推荐
相关产品推荐

