Azure Powershell-跨EA中的多个订阅

Azure Powershell-跨EA中的多个订阅,azure,powershell,enterprise,Azure,Powershell,Enterprise,我在EA中有数百个订阅的“账单阅读器” 我正在尝试获取所有订阅中的虚拟机及其大小的列表 因此,当前当我运行“Get AzureRMSubscription”时,它会显示所有订阅(数百个),但我不确定如何针对所有订阅运行脚本 如果他们都能得到一个“get AzureRMVM”,那就太好了 有什么建议吗? 提前谢谢 您可以做如下操作: $azureSubs = Get-AzureRMSubscription $azureSubs | ForEach-Object {Select-AzureRMSub

我在EA中有数百个订阅的“账单阅读器”

我正在尝试获取所有订阅中的虚拟机及其大小的列表

因此,当前当我运行“Get AzureRMSubscription”时,它会显示所有订阅(数百个),但我不确定如何针对所有订阅运行脚本

如果他们都能得到一个“get AzureRMVM”,那就太好了

有什么建议吗?
提前谢谢

您可以做如下操作:

$azureSubs = Get-AzureRMSubscription
$azureSubs | ForEach-Object {Select-AzureRMSubscription $_ | Out-Null; Get-AzureRMVM -WarningAction SilentlyContinue}
实际上,您正在设置一个数组变量来保存所有Azure订阅,并将其传递到ForEach Object cmdlet以迭代数组中的所有对象。然后通过管道将其发送到Get-AzureRMVM cmdlet,以列出每个订阅中的所有VM

这肯定不是针对性能而优化的,可能有更好的解决方案,但至少您可以运行它并忘记它


执行Out Null and-WARNING操作的原因是抑制不需要的输出。

您可以执行以下操作:

$azureSubs = Get-AzureRMSubscription
$azureSubs | ForEach-Object {Select-AzureRMSubscription $_ | Out-Null; Get-AzureRMVM -WarningAction SilentlyContinue}
实际上,您正在设置一个数组变量来保存所有Azure订阅,并将其传递到ForEach Object cmdlet以迭代数组中的所有对象。然后通过管道将其发送到Get-AzureRMVM cmdlet,以列出每个订阅中的所有VM

这肯定不是针对性能而优化的,可能有更好的解决方案,但至少您可以运行它并忘记它


Out Null and-WarningAction的原因是禁止您不需要的输出。

您没有要求,但对于经典资源,我们定期运行以下脚本,其输出存储在SQL数据库中

$subscriptions = Get-AzureSubscription
foreach ($sub in $subscriptions)
{
    $sub | Select-AzureSubscription
    Get-AzureService | % {
           Get-AzureDeployment -ServiceName $_.ServiceName 
        } | % { 
          New-Object -TypeName 'PSObject' -Property @{ 'ServiceName' = $_.ServiceName; 'Addresses' = $_.VirtualIPs.Address; } 
        } | sort Addresses | ft
}

%
是每个对象的
ForEach
ft
Format Table
,尽管有些灵魂可能会出现并试图编辑它,使其更难重用。您可以在select语句中添加/删除属性,以根据需要调整输出。在一个订阅中尝试它以优化您的需求,然后创建一个脚本以使其易于重用。

您没有要求,但对于经典资源,我们定期运行以下脚本,并将其输出存储在SQL数据库中

$subscriptions = Get-AzureSubscription
foreach ($sub in $subscriptions)
{
    $sub | Select-AzureSubscription
    Get-AzureService | % {
           Get-AzureDeployment -ServiceName $_.ServiceName 
        } | % { 
          New-Object -TypeName 'PSObject' -Property @{ 'ServiceName' = $_.ServiceName; 'Addresses' = $_.VirtualIPs.Address; } 
        } | sort Addresses | ft
}

%
是每个对象的
ForEach
ft
Format Table
,尽管有些灵魂可能会出现并试图编辑它,使其更难重用。您可以在select语句中添加/删除属性,以根据需要调整输出。在一个订阅中尝试它以优化您的需求,然后创建一个脚本以使其易于重用。

我们最近发布了Azure资源图,以支持跨多个订阅的这些类型的搜索。请参阅此处的文档

我们最近发布了Azure资源图,以支持跨多个订阅的这些类型的搜索。请参阅此处的文档

看起来您仍然需要提供要搜索的订阅列表。如果列表是可选的,并且默认行为是搜索所有订阅,这会更好,与在Azure Portal中完全相同。看起来您仍然需要提供要搜索的订阅列表。如果列表是可选的,并且默认行为是在所有订阅中搜索,这会更好,与在Azure Portal中完全相同。