我正在嘗試在 powershell 腳本下面執行以獲取所有 Azure 訂閱和資源詳細資訊的串列,
Get-AzSubscription | ForEach-Object {
$subscriptionName = $_.Name
Set-AzContext -SubscriptionId $_.SubscriptionId
Get-AzResource | Select Name,ResourceGroupName,Location,Type
} | Export-Csv azureinventory.csv
但是,它只是將資料轉儲到上述 CSV 檔案中的一列中。我需要每一列顯示訂閱名稱、訂閱 ID、關聯資源名稱、資源組名稱、位置、型別。
請幫助相應地更新腳本。
uj5u.com熱心網友回復:
下面的腳本將幫助您獲取當前訂閱名稱、租戶 ID、環境、帳戶名稱(或登錄后選擇您的訂閱)的詳細資訊以及該訂閱中的資源組、每個資源組名稱、型別、每個資源的位置在該資源組中可用,您可以在其中匯出具有特定格式的 Excel 作業表,例如:

腳本:
$ErrorActionPreference = "Stop"
try {
Connect-AZAccount
Set-AzContext -SubscriptionName 'Your Subscription Name'
$rgs = Get-AzResourceGroup
foreach ($rg in $rgs.ResourceGroupName)
{
Write-Output "Checking Resource Group: $rg"
Get-AzResource -ResourceGroupName $rg | Select Name, ResourceGroupName, Type, Location | Export-Csv .\AzureResources.csv -Append -Force -NoTypeInformation
} }
catch {
Write-Host "$($_.Exception.Message)" -BackgroundColor DarkRed
}
輸出是:

它將檢查資源組是否存在。之后,打開在 PowerShell 中執行腳本的路徑中匯出的 AzureResources.csv 檔案。匯出的檔案以表格形式顯示資源組名稱、每個資源名稱、其型別和位置的資料。

uj5u.com熱心網友回復:
我已經更新了腳本,它沒有經過測驗。這里的引數值可以不同。請通過從 Get-Azresource 驗證它來更改它。
$resources = @()
Get-AzSubscription | ForEach-Object {
$_ | Set-AzContext
$subscriptionName = $_.Name
$subscriptionId = $_.SubscriptionId
Get-AzResource | ForEach-Object {
$resources = [PSCustomObject]@{
SubscriptionName = $subscriptionName
SubscriptionId = $subscriptionId
ResourceGroupName = $_.ResourceGroupName
ResourceName = $_.ResourceName
ResourceType = $_.ResourceType
Location = $_.Location
}
}
}
$resources | Export-csv c:\sompeath\somename.csv
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/358647.html
