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

如何通过PowerShell获取与指定Key Vault关联的Azure VM列表

关联指定Azure Key Vault的VM清单查询及PowerShell导入流程

前置准备

  • 已安装Azure PowerShell Az模块,最低版本要求6.0.0以上,未安装可执行Install-Module -Name Az -AllowClobber -Scope CurrentUser完成安装
  • 已通过Connect-AzAccount命令登录Azure账号,且账号对目标Key Vault、对应VM资源有至少读取权限
  • 明确目标Key Vault的名称、所属资源组、订阅ID信息

实现逻辑说明

VM和Key Vault的关联主要覆盖三类主流场景:Azure磁盘加密的密钥/密钥加密密钥存储在Key Vault、VM配置了自动从Key Vault拉取机密/证书、VM扩展绑定了Key Vault,以下操作会覆盖上述场景的关联VM查询。
注意:如果你的VM使用用户分配托管身份关联Key Vault,需要额外补充托管身份访问权限的筛选逻辑,下述脚本默认覆盖系统分配托管身份+磁盘加密的主流关联场景

PowerShell完整操作步骤

步骤1:配置目标Key Vault参数

# 替换为实际的Key Vault信息
$keyVaultName = "替换为你的Key Vault名称"
$keyVaultRG = "替换为Key Vault所属资源组名称"
$subscriptionId = "替换为Key Vault所属订阅ID"

# 切换到目标Key Vault所在订阅
Set-AzContext -Subscription $subscriptionId

步骤2:查询所有关联该Key Vault的VM

# 获取目标Key Vault的唯一资源ID
$kvId = (Get-AzKeyVault -VaultName $keyVaultName -ResourceGroupName $keyVaultRG).Id

# 筛选所有关联该Key Vault的VM资源
$associatedVMs = Get-AzVM | Where-Object {
    # 匹配磁盘加密关联场景
    ($_.StorageProfile.OsDisk.EncryptionSettings.Enabled -eq $true -and $_.StorageProfile.OsDisk.EncryptionSettings.DiskEncryptionKey.KeyVaultId -eq $kvId) -or
    ($_.StorageProfile.OsDisk.EncryptionSettings.Enabled -eq $true -and $_.StorageProfile.OsDisk.EncryptionSettings.KeyEncryptionKey.KeyVaultId -eq $kvId) -or
    # 匹配VM扩展、机密拉取关联场景
    ($_.Identity -ne $null -and ($_.Extensions | Where-Object {$_.Settings.ToString().Contains($kvId)}))
}

步骤3:导出/导入关联VM清单

  • 导出为可通用导入的CSV格式:
# 将关联VM清单导出到本地指定路径,可直接导入Excel、资产管理系统等
$associatedVMs | Select-Object Name,ResourceGroupName,Id,Location,ProvisioningState | Export-Csv -Path "C:\KeyVault关联VM清单.csv" -NoTypeInformation -Encoding UTF8
  • 从CSV文件导入清单到PowerShell会话:
# 读取本地已导出的CSV清单,导入到当前PowerShell会话中使用
$importedVMList = Import-Csv -Path "C:\KeyVault关联VM清单.csv" -Encoding UTF8

结果验证

  • 执行$associatedVMs.Name可直接输出所有关联VM的名称
  • 导入完成后执行$importedVMList可查看已导入的所有VM明细信息
  • 需要确认单台VM的关联关系时,可执行Get-AzVM -Name <VM名称> -ResourceGroupName <VM资源组> | Select-Object -ExpandProperty StorageProfile.OsDisk.EncryptionSettings查看加密配置绑定的Key Vault信息

内容的提问来源于stack exchange,提问作者Joseph

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 14:57:05