Чтобы перечислить виртуальные машины azure, связанные с конкретным хранилищем ключей?

#azure #powershell #azure-keyvault #script

Вопрос:

Как импортировать список виртуальных машин Azure, связанных с определенным хранилищем ключей, с помощью powershell ?

Комментарии:

1. Привет,вы пробовали какой-нибудь скрипт powershell? если да, пожалуйста, отредактируйте вопрос с помощью сценария powershell.

2. Привет @Джозеф, Если мой ответ вам полезен, вы можете принять его как ответ( нажмите на галочку рядом с ответом, чтобы переключить его с серого на заполненный.). Это может быть полезно для других членов сообщества. Спасибо

Ответ №1:

Я протестировал только одну группу ресурсов с помощью приведенного ниже сценария PowerShell, поэтому вы можете удалить группу ресурсов, в которой будут отображаться все виртуальные машины для подписки.

 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"
 

Выходы.

введите описание изображения здесь

введите описание изображения здесь