Skip to content

Instantly share code, notes, and snippets.

@jkbryan
Created February 8, 2019 20:57
Show Gist options
  • Save jkbryan/25375b867116e4847be755a3deed1c30 to your computer and use it in GitHub Desktop.
Save jkbryan/25375b867116e4847be755a3deed1c30 to your computer and use it in GitHub Desktop.
A script to present Azure Route Tables into a csv file
Connect-AzureRmAccount
$Subscription = "<Subscription-GUID>"
$LogFile = "C:\<PATH>\RouteTables.csv"
If (Test-Path $Logfile) {
Clear-Content -Path $Logfile
}
Add-Content $Logfile "Name,ResourceGroupName,Location,RouteName,Id,Etag,ProvisioningState,AddressPrefix,NextHopType,NextHopIpAddress"
Set-AzureRmContext -Subscription $Subscription
$RTs = Get-AzureRmRouteTable
ForEach ($RT in $RTs) {
# Nullify all values
$RTName = $NULL
$RTResourceGroupName = $NULL
$RTLocation = $NULL
$RTRouteName = $NULL
$RTId = $NULL
$RTEtag = $NULL
$RTProvisioningState = $NULL
$RTAddressPrefix = $NULL
$RTNextHopType = $NULL
$RTNextHopIpAddress = $NULL
# Get route values
$RTName = $RT.Name
$RTResourceGroupName = $RT.ResourceGroupName
$RTLocation = $RT.Location
$RTRoutes = $RT.Routes
ForEach ($RTRoute in $RTRoutes) {
$RTRouteName = $RTRoute.Name
$RTId = $RTRoute.Id
$RTEtag = $RTRoute.Etag
$RTProvisioningState = $RTRoute.ProvisioningState
$RTAddressPrefix = $RTRoute.AddressPrefix
$RTNextHopType = $RTRoute.NextHopType
$RTNextHopIpAddress = $RTRoute.NextHopIpAddress
# Define output
[String]$RTInfo = $RTName + "," + $RTResourceGroupName + "," + $RTLocation + "," + $RTRouteName + "," + $RTId + "," + $RTEtag + "," + $RTProvisioningState + "," + $RTAddressPrefix + "," + $RTNextHopType + "," + $RTNextHopIpAddress
Write-Host $RTInfo
# Write output to file
Add-Content $Logfile $RTInfo
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment