I am trying to execute below powershell script to get list of all Azure subscriptions and resource details,
Get-AzSubscription | ForEach-Object {
$subscriptionName = $_.Name
Set-AzContext -SubscriptionId $_.SubscriptionId
Get-AzResource | Select Name,ResourceGroupName,Location,Type
} | Export-Csv azureinventory.csv
However, its just dumping the data in one column in mentioned CSV file. I need each column to display Subscription name, Subscription ID, associated resource name, resource groupname, location, Type.
Please help to update the script accordingly.
CodePudding user response:
I have updated the script and it is not tested. the parameter value can be different here. Kindly change it by verifying it from 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
CodePudding user response:
Below Script will help you to get the details of your current subscription name, tenant id, environment, account name(or select your subscription after logging) and also the resource groups in that subscription, each resource group name, type, location of each resource available in that resource group, where you can export into excel sheet with a specific format like:
Script:
$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
}
And the Output is:
It will check the resource groups existing or not. After that, open the AzureResources.csv file exported in the path where you executed your script in the PowerShell. The exported file shows the data of resource group name, each resource name, its type and location in the tabular format.