You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

需求:查询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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 04:40:02