我在EA“计费读者”访问到几百订阅。
我试图让虚拟机,并在所有订阅的尺寸的列表。
所以,目前,当我运行一个“GET-AzureRMSubscription”它为我所有的订阅(数百人),但我不知道如何实际运行对所有订阅的脚本?
将是巨大的跨越他们都得到一个“GET-AzureRMVM”
有什么建议么? 提前致谢!
我在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列出的所有虚拟机中的每个订阅。
这绝对不是针对性能进行优化,并有可能是更好的解决方案在那里,但至少你可以运行它,忘记它。
究其原因,外空和-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-Object
, ft
是Format-Table
,尽管一些好心人可能到来,并试图修改这一点,并使其难以重用。 您可以添加/根据需要进行删除在select语句属性来定制您的输出。 在一个订阅尝试它提炼你的需求,然后创建一个脚本,可以很容易地重用。
我们最近发布了Azure的资源图表跨多个订阅支持这些类型的搜索。 见文档这里https://docs.microsoft.com/en-us/azure/governance/resource-graph/overview