我正在尝试通过CLI收集有关VM的信息,以便比通过Azure Portal更快地获取这些信息。我正在尝试提取给定VM的vnet、子网和路由表。但这是我第一次使用CLI,我的代码不起作用。我已暂时禁用登录/注销和VM名称的输入。
错误发生在$vnetId = (Get-AzNetworkInterface -Name $vm.Name -ResourceGroupName $vm.ResourceGroupName).IpConfigurations[0].Subnet.Id.Split("/")[-3]
行
我收到以下错误消息:”
Get-AzNetworkInterface:找不到资源组“RG-REDISPATCHPROD-PROD-001”下的资源“Microsoft.Network/networkInterfaces/vmva 2015”。有关详细信息,请转到https://aka.ms/ARMResourceNotFoundFix StatusCode:404 ReasonPhrase:错误代码:ResourceNotFound“
我已经力不从心了,需要帮助。
# Importieren der benötigten Az-Module
Import-Module Az.Accounts
Import-Module Az.Network
Import-Module Az.Compute
Import-Module Az.Resources
Import-Module Az.DesktopVirtualization
# Anmelden bei Azure
#Connect-AzAccount
# Eingabeaufforderung für den VM-Namen anzeigen
#$vmName = Read-Host "Geben Sie den Namen der VM ein: "
$vmName = "vmva2015" # Der Name der VM ist hier fest kodiert, für Testzwecke
# Durchsuchen aller Abonnements nach der VM
$subscriptions = Get-AzSubscription
foreach ($subscription in $subscriptions) {
Set-AzContext $subscription
# Suchen der VM mit dem angegebenen Namen
$vm = Get-AzVM -Name $vmName -ErrorAction SilentlyContinue
if ($vm) {
$resourceGroupName = $vm.ResourceGroupName
# Die VM wurde gefunden, die benötigten Parameter abrufen
$vnetId = $vm.NetworkProfile.NetworkInterfaces[0].Id.Split("/")[8]
$vnet = Get-AzVirtualNetwork -ResourceGroupName $resourceGroupName -Name $vnetId
$subnetId = $vm.NetworkProfile.NetworkInterfaces[0].Id.Split("/")[10]
$subnet = Get-AzVirtualNetworkSubnet -Name $subnetId -VirtualNetwork $vnet
$rtName = $subnet.RouteTable.Id.Split("/")[-1]
$rt = Get-AzRouteTable -Name $rtName -ResourceGroupName $resourceGroupName
# Ergebnisse ausgeben
Write-Host "Name der VM: $($vm.Name)"
Write-Host "Name des VNet: $($vnet.Name)"
Write-Host "Name des Subnet: $($subnet.Name)"
Write-Host "Name der Routing-Tabelle: $($rt.Name)"
# Das Skript endet, sobald eine VM gefunden wurde
break
}
}
贝斯特,爱德华
我已经尝试了几个互联网搜索,导致我到不同的网站,但我的知识太有限,找到一个答案(我已经尝试了大约6-7个小时,现在)。
1条答案
按热度按时间rqcrx0a61#
通过CLI从Azure从VM提取多个参数(代码不起作用)
我使用下面的PowerShell代码检索VM属性(VM名称、VNet、子网、NIC和路由表)
门户中的VM属性详细信息
PowerShell代码
输出