Вы можете сделать что-то вроде этого:
$azureSubs = Get-AzureRMSubscription
$azureSubs | ForEach-Object {Select-AzureRMSubscription $_ | Out-Null; Get-AzureRMVM -WarningAction SilentlyContinue}
По сути, вы устанавливаете переменную массива для хранения всей вашей подписки Azure и передаете ее в командлет ForEach-Object для итерации всех объектов вмассив.Затем вы передаете его командлету Get-AzureRMVM для получения списка всех виртуальных машин в каждой подписке.
Это определенно не оптимизировано для повышения производительности, и могут быть более эффективные решения, но, по крайней мере, вы можете запустить его и забыть о нем..
Причиной действия Out-Null и -WarningAction является подавление ненужных выходов.