![](/img/trans.png)
[英]How can i get Azure metrics using the az command in Powershell?
[英]How to run Powershell script on multiple Subscriptions Using Az PowerShell Command
我有多個 azure 租戶,每個租戶都有多個訂閱,我必須為我的所有訂閱運行一個 PowerShell 腳本。
這可以使用Azure CLI
來實現,並且效果很好。
我使用Azure CLI
如下;
$az_account = (az account list --query "[].[name]" -o tsv)
foreach ($account in $az_account) {
az account set --name $account
#<RUN SCRIPTS HERE>#
}
但在某些情況下,我必須使用Az PowerShell
命令而不是Azure CLI
。
所以任何人都可以幫助我
Az PowerShell
命令Az PowerShell
profile file path ( same as Azure CLI
which is C:\Users\%USER\.Azure\azureProfile.json
).
- 如何為多個訂閱運行
Az PowerShell
命令
您可以使用以下 PowerShell 腳本來運行多個訂閱 PowerShell 命令。
# Get the Subscription Details using Get-AzSubscription Command
Get-AzSubscription | ForEach-Object {
# Set the context Details using Set-AzContext Command which is equalent to the az account set CLI Command
$_ | Set-AzContext
$subscriptionName = $_.Name
#<RUN YOUR SCRIPTS HERE>#
}
- 或
Az PowerShell
配置文件路徑(與Azure CLI
相同,即C:\Users\%USER\.Azure\azureProfile.json
)。
請參閱此處了解配置文件路徑位置
解析度
經過幾次嘗試,終於找到了一些方法來解決我的問題。 在此處發布相同內容可能對某人有所幫助。
您可以使用以下命令連接所有訂閱
Connect-AzAccount -Tenant "xxxx-xxxxx-xxxx-xxx" -Subscription "xxxx-xxxxx-xxxx-xxx"
列出所有連接的訂閱
Get-AzContext -ListAvailable | Select-Object Name, Subscription, Tenant
如果要重命名為友好名稱,
Rename-AzContext -SourceName "Azure subscription 1 (xxxxx-xxxx-xxxx-xxxx-xxxx) - xxxxx-xxxx-xxx-xxxx-xxxx-xxx - jawad@xyz.com" -TargetName "MySubscription"
要將這些配置文件保存到文件中,
Save-AzContext -Path "C:\Users\jawad\Downloads\AzpwshProfile.json"
您可以隨時使用以下命令導入這些配置文件,(首先測試清除配置文件Clear-AzContext -Force
)
Import-AzContext -Path "C:\Users\jawad\Downloads\AzpwshProfile.json"
現在您可以輕松地使用for
循環來設置訂閱,例如
$acc = (Get-AzContext -ListAvailable | Select-Object Name)
foreach ($account in $acc) {
>> Select-AzContext $account.Name
>> Get-AzVM | Export-Csv -Path "inventory.csv"
>> }
謝謝
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.