gpt4 book ai didi

azure - 如何获取 Azure VM 及其 VNet 的报告?

转载 作者:行者123 更新时间:2023-12-02 01:29:37 26 4
gpt4 key购买 nike

当前正在尝试获取我的所有订阅中的所有虚拟机及其 VNet 的报告(最好是电子表格)。与虚拟机主页门户中的呈现方式类似,但复制和粘贴结果非常草率且无组织。

我尝试使用 PowerShell 迭代所有虚拟机,然后拉动虚拟机名称和 RG 来拉动 Nic,然后从 Nic 获取也包含 Vnet 的子网。但是,我不确定这个逻辑是否完全正确。下面的 PS 打印 VM 名称、VM 资源组、VM Nic 名称、Nic 子网和 Nic VM。这有道理吗?

$vms   = Get-AzureRmVM

Echo "VM Name,VM Resource Group,VM NIC Name,VM Subnet,VM VNet"

foreach ($vm in $vms){

$thisvmName = $vm.Name
$thisvmRG = $vm.ResourceGroupName
$thisvmNicName = $vm.NetworkProfile.NetworkInterfaces.Id.Split("/")[8]

$thisvmNic = Get-AzureRmNetworkInterface -Name $thisvmNicName -ResourceGroupName $thisvmRg
$thisvmNicIPConfig = Get-AzureRmNetworkInterfaceIpConfig -NetworkInterface $thisvmNic
$thisvmNicSubnet = $thisvmNicIpConfig.Subnet.Id.Split("/")[10]
$thisvmNicVNet = $thisvmNicIPConfig.Subnet.Id.Split("/")[8]

echo "$thisvmName,$thisvmRG,$thisvmNicName,$thisvmNicSubnet,$thisvmNicVNet"

}

如果有一种完全更简单的方法来获取所有订阅中所有虚拟机的电子表格,我可以按 VNet 进行排序,我对此持开放态度,因为这似乎相当过分。另外,如果我可以获得 VNet 中的虚拟机(不是 NICS)计数,这也可能有助于我的最低最终目标。任何帮助将不胜感激!

最佳答案

您可以执行以下操作:

$vms   = Get-AzureRmVM
$output = foreach ($vm in $vms){

$thisvmName = $vm.Name
$thisvmRG = $vm.ResourceGroupName
$thisvmNicName = $vm.NetworkProfile.NetworkInterfaces.Id.Split("/")[8]

$thisvmNic = Get-AzureRmNetworkInterface -Name $thisvmNicName -ResourceGroupName $thisvmRg
$thisvmNicIPConfig = Get-AzureRmNetworkInterfaceIpConfig -NetworkInterface $thisvmNic
$thisvmNicSubnet = $thisvmNicIpConfig.Subnet.Id.Split("/")[10]
$thisvmNicVNet = $thisvmNicIPConfig.Subnet.Id.Split("/")[8]
[pscustombject]@{
'VM Name'= $thisvmName
'VM Resource Group'= $thisvmRG
'VM NIC Name'= $thisvmNicName
'VM Subnet'= $thisvmNicSubnet
'VM VNet' = $thisvmNicVNet
}

$output | Export-Csv -Path C:\CSV.csv -NoTypeInformation

这确实假设您对存储在变量中的数据感到满意。唯一的变化是在每次循环迭代中创建一个自定义对象,添加属性名称和关联值。这些对象存储在数组 ($output) 中,最后导出为 CSV。从技术上讲,您不需要所有变量,因为您可以计算哈希表中的值。

关于azure - 如何获取 Azure VM 及其 VNet 的报告?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57486172/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com