稍后在不知道其位置的情况下使用 Array 对象
Using Array objects later on without knowing it's position
我正在 运行 下面的代码行循环遍历我所有的 Azure 订阅,保存所有订阅数组中的虚拟机。我能否以某种方式根据虚拟机名称查询该数组中的数据,以便它显示所有可用数据?需要将特定的 vm 数据保存在变量上,以便我以后可以使用和解析它。
$VM = @()
$AllSubscriptions = Get-AzSubscription
foreach ($Subscription in $AllSubscriptions) {
write-host "Count of subscriptions to loop:" $AllSubscriptions.length
Set-AzContext $Subscription.Id | Out-Null
Write-Host "Checking subscription $($Subscription.Name) for vm details"
$VM += Get-AzVM -Status
}
$VM
$vm 结果格式
尝试了以下命令但对我不起作用:
$vm -like '*server01*'
这只显示了虚拟机名称,没有其他信息可用
$vm.name -like '*server01*'
这个显示正确的信息,但是位置可以改变,可以有多个虚拟机被查询。所以也许以某种方式将“6”放入变量..?
$vm[6]
试试下面的方法,它会按名称过滤对象并输出整个对象。
$vm | Where-Object {$_.name -like '*nalle45*'} | Select *
我正在 运行 下面的代码行循环遍历我所有的 Azure 订阅,保存所有订阅数组中的虚拟机。我能否以某种方式根据虚拟机名称查询该数组中的数据,以便它显示所有可用数据?需要将特定的 vm 数据保存在变量上,以便我以后可以使用和解析它。
$VM = @()
$AllSubscriptions = Get-AzSubscription
foreach ($Subscription in $AllSubscriptions) {
write-host "Count of subscriptions to loop:" $AllSubscriptions.length
Set-AzContext $Subscription.Id | Out-Null
Write-Host "Checking subscription $($Subscription.Name) for vm details"
$VM += Get-AzVM -Status
}
$VM
$vm 结果格式
尝试了以下命令但对我不起作用:
$vm -like '*server01*'
这只显示了虚拟机名称,没有其他信息可用
$vm.name -like '*server01*'
这个显示正确的信息,但是位置可以改变,可以有多个虚拟机被查询。所以也许以某种方式将“6”放入变量..?
$vm[6]
试试下面的方法,它会按名称过滤对象并输出整个对象。
$vm | Where-Object {$_.name -like '*nalle45*'} | Select *