1.Как перечислить ASG, в котором находится ресурс
Если вы хотите перечислить все ASG в ВМ, вам нужно перечислить их через все NIC, вы можете обратиться к приведенной ниже команде, $asgnames
- это список всех ASG, note если разные сетевые адаптеры имеют одинаковую ASG, она выдаст несколько раз.
$nics = (Get-AzureRmVM -ResourceGroupName "<ResourceGroupName>" -Name "<VM Name>").NetworkProfile.NetworkInterfaces
$nicnames = @()
$asgnames = @()
foreach($nic in $nics){
$a = $nic.Id -split"/"
$nicname = $a[8]
$nicnames += $nicname
$ipconfig = Get-AzureRmResource -ResourceGroupName <ResourceGroupName> -ResourceType Microsoft.Network/networkInterfaces/ipConfigurations -ResourceName "$nicname/ipconfig1" -ApiVersion 2018-07-01
$asgids = $ipconfig.Properties.applicationSecurityGroups.id
foreach ($asgid in $asgids){
$a = $asgid -split"/"
$asganme = $a[8]
$asgnames += $asganme
}
}
2. NSG ресурс в
Если вы хотите получить NSG в ВМ, вам нужно получить их через все сетевые карты и подсеть VNET.
Получить NSG NIC, $nsgnic
это NSG:
$nic = Get-AzureRmResource -ResourceGroupName <ResourceGroupName> -ResourceType Microsoft.Network/networkInterfaces -ResourceName "<NIC name>" -ApiVersion 2018-07-01
$a = $nic.properties.networkSecurityGroup.id -split"/"
$nsgnic = $a[8]
Получите NSG подсети, $nsgsub
- это NSG:
$subnet = Get-AzureRmResource -ResourceGroupName <ResourceGroupName> -ResourceType Microsoft.Network/virtualNetworks/subnets -ResourceName "<Vnet name>/<Subnet name>" -ApiVersion 2018-07-01
$b = $subnet.properties.networkSecurityGroup.id -split"/"
$nsgsub = $a[8]
Тогда NSG с виртуальной машины будет sum
из $nsgnic
и $nsgsub
.
3.Процессоры и оперативная память
Попробуйте команду ниже, NumberOfCores
это vCPUs
, MemoryInMB
это RAM
, примечание RAM в результате в MB
вы можете преобразовать его в GB
при необходимости.
Get-AzureRmVMSize -ResourceGroupName "<ResourceGroupName>" -VMName "<VMName>"
4.Счет хранения
Если я не понимаю, учетная запись хранения здесь вы имеете в виду Diagnostics storage account
, попробуйте команду ниже, $storage
- это учетная запись хранения URI.
$a = Get-AzureRmResource -ResourceGroupName <ResourceGroupName> -ResourceType Microsoft.Compute/virtualMachines -ResourceName "<VM Name>" -ApiVersion 2018-06-01
$storage = $a.properties.diagnosticsProfile.bootDiagnostics.storageUri