azure - 列出与特定密钥保管库关联的 azure vm?
问题描述
如何通过 powershell 导入与特定密钥保管库关联的 Azure Vm 列表?
解决方案
我使用以下 PowerShell 脚本仅测试了一个资源组,因此您可以删除资源组,它将显示订阅的所有 VM。
Connect-AzAccount
$vaultname="your KeyVault name"
$virtualmachines=Get-AzVM -ResourceGroupName "your resource group name"
$vm=@()
foreach ($virtualmachine in $virtualmachines) {
$sp = Get-AzADServicePrincipal -displayname $virtualmachine.Name
$id=$sp.Id
$keyvault= Get-AzKeyVault -VaultName $vaultname -ResourceGroupName "your resource group name"
$obj=$keyvault.AccessPolicies.ObjectId
if ($obj -eq $sp.Id){
$deviceprops = [ordered] @{
VMDisplayName = $sp.DisplayName
}
$deviceobj = new-object -Type PSObject -Property $deviceprops
$vm += $deviceobj
}
}
$vm
$vm | Export-CSV "C:\VMNames.csv"
输出。
推荐阅读
- python - 如何通过扩展名'filename_ext'.txt附加文件并递归地附加到文件夹中的所有文件并将它们转换回原始扩展名
- jquery - 使用 JQuery 在附加行中显示表详细信息
- prometheus-node-exporter - 为什么我使用 node_exporter 来获取 cpu 利用率是负数?
- angular - 生产构建中的 Angular 和 Ionic 应用程序问题
- c# - 使用自定义控件排序列表
- c# - 是否可以创建基础 EF DbContext 并在许多服务中使用它?
- c# - editorConfig 命名约定不起作用 c# visual studio 2019 16.4.2
- angular - 角度材料分页未按预期工作
- flutter - 颤振简单的选框小部件并使 ScrollController 未附加到任何滚动视图错误
- php - 如何以特定模式打印数字?