mirror of
https://dev.azure.com/effectory/Survey%20Software/_git/Cloud%20Engineering
synced 2026-02-27 18:52:18 +01:00
Merged PR 59542: list storage blobs and tables & servicebus list scrip
- Added servicebus list script #117926 - Added scripts to list storage blobs and tables #115638 Related work items: #117926
This commit is contained in:
140
Powershell/Lists/Azure/ServiceBus.ps1
Normal file
140
Powershell/Lists/Azure/ServiceBus.ps1
Normal file
@@ -0,0 +1,140 @@
|
||||
Import-Module Az.Accounts
|
||||
Import-Module Az.Automation
|
||||
Import-Module Az.ServiceBus
|
||||
Import-Module Az.Resources
|
||||
|
||||
$subscriptions = Get-AzSubscription
|
||||
|
||||
class ResourceCheck {
|
||||
[string] $ResourceId = ""
|
||||
[string] $ManagementGroupId = ""
|
||||
[string] $ManagementGroupName = ""
|
||||
[string] $SubscriptionId = ""
|
||||
[string] $SubscriptionName = ""
|
||||
[string] $ResourceGroup = ""
|
||||
[string] $RespourceType = ""
|
||||
[string] $Location = ""
|
||||
[string] $Tag_Team = ""
|
||||
[string] $Tag_Product = ""
|
||||
[string] $Tag_Environment = ""
|
||||
[string] $Tag_Data = ""
|
||||
[string] $Tag_Deployment = ""
|
||||
[string] $Tag_CreatedOnDate = ""
|
||||
[string] $ServiceBusName = ""
|
||||
[string] $TopicName = ""
|
||||
[string] $TopicSubscriptionName = ""
|
||||
[string] $QueueName = ""
|
||||
}
|
||||
|
||||
Write-Host "======================================================================================================================================================================"
|
||||
Write-Host "Creating service bus resource overview."
|
||||
Write-Host "======================================================================================================================================================================"
|
||||
|
||||
[string] $date = Get-Date -Format "yyyy-MM-dd HHmm"
|
||||
$fileName = ".\$date azure service bus.csv"
|
||||
|
||||
$managementGroups = Get-AzManagementGroup
|
||||
|
||||
foreach ($managementGroup in $managementGroups) {
|
||||
Write-Host "----------------------------------------------------------------------------------------------------------------------------------------------------------------------"
|
||||
Write-Host "Management group [$($managementGroup.Name)]"
|
||||
|
||||
$subscriptions = Get-AzManagementGroupSubscription -Group $managementGroup.Name | Where-Object State -eq "Active"
|
||||
|
||||
foreach ($subscription in $subscriptions) {
|
||||
Write-Host "----------------------------------------------------------------------------------------------------------------------------------------------------------------------"
|
||||
$scope = $subscription.Id.Substring($subscription.Parent.Length, $subscription.Id.Length - $subscription.Parent.Length)
|
||||
$subscriptionId = $scope.Replace("/subscriptions/", "")
|
||||
Write-Host "Subscription [$($subscription.DisplayName) - $subscriptionId]"
|
||||
Set-AzContext -SubscriptionId $subscriptionId | Out-Null
|
||||
Write-Host "----------------------------------------------------------------------------------------------------------------------------------------------------------------------"
|
||||
|
||||
$servicebusses = Get-AzServiceBusNamespaceV2
|
||||
foreach ($servicebus in $servicebusses) {
|
||||
|
||||
Write-Host "Getting info for service bus [$($servicebus.Name)]"
|
||||
|
||||
[ResourceCheck[]]$Result = @()
|
||||
|
||||
[ResourceCheck] $resourceCheck = [ResourceCheck]::new()
|
||||
$resourceCheck.ResourceId = $servicebus.Id
|
||||
$resourceCheck.ManagementGroupId = $managementGroup.Id
|
||||
$resourceCheck.ManagementGroupName = $managementGroup.DisplayName
|
||||
$resourceCheck.SubscriptionId = $subscription.Id
|
||||
$resourceCheck.SubscriptionName = $subscription.DisplayName
|
||||
$resourceCheck.ResourceGroup = $servicebus.ResourceGroupName
|
||||
$resourceCheck.RespourceType = $servicebus.Type
|
||||
$resourceCheck.Location = $servicebus.Location
|
||||
$resourceCheck.Tag_Team = $servicebus.Tags.team
|
||||
$resourceCheck.Tag_Product = $servicebus.Tags.product
|
||||
$resourceCheck.Tag_Environment = $servicebus.Tags.environment
|
||||
$resourceCheck.Tag_Data = $servicebus.Tags.data
|
||||
$resourceCheck.Tag_CreatedOnDate = $servicebus.Tags.CreatedOnDate
|
||||
$resourceCheck.Tag_Deployment = $servicebus.Tags.drp_deployment
|
||||
$resourceCheck.ServiceBusName = $servicebus.Name
|
||||
$Result += $resourceCheck
|
||||
|
||||
#topics
|
||||
$topics = Get-AzServiceBusTopic -NamespaceName $servicebus.Name -ResourceGroupName $servicebus.ResourceGroupName
|
||||
|
||||
foreach ($topic in $topics) {
|
||||
[ResourceCheck] $resourceCheck = [ResourceCheck]::new()
|
||||
$resourceCheck.ResourceId = $servicebus.Id
|
||||
$resourceCheck.ManagementGroupId = $managementGroup.Id
|
||||
$resourceCheck.ManagementGroupName = $managementGroup.DisplayName
|
||||
$resourceCheck.SubscriptionId = $subscription.Id
|
||||
$resourceCheck.SubscriptionName = $subscription.DisplayName
|
||||
$resourceCheck.ResourceGroup = $servicebus.ResourceGroupName
|
||||
$resourceCheck.RespourceType = $servicebus.Type
|
||||
$resourceCheck.Location = $servicebus.Location
|
||||
$resourceCheck.ServiceBusName = $servicebus.Name
|
||||
$resourceCheck.TopicName = $topic.Name
|
||||
$Result += $resourceCheck
|
||||
|
||||
# topic subscriptions
|
||||
$topicSubs = Get-AzServiceBusSubscription -NamespaceName $servicebus.Name -ResourceGroupName $servicebus.ResourceGroupName -TopicName $topic.Name
|
||||
|
||||
foreach ($topicSub in $topicSubs) {
|
||||
|
||||
[ResourceCheck] $resourceCheck = [ResourceCheck]::new()
|
||||
$resourceCheck.ResourceId = $servicebus.Id
|
||||
$resourceCheck.ManagementGroupId = $managementGroup.Id
|
||||
$resourceCheck.ManagementGroupName = $managementGroup.DisplayName
|
||||
$resourceCheck.SubscriptionId = $subscription.Id
|
||||
$resourceCheck.SubscriptionName = $subscription.DisplayName
|
||||
$resourceCheck.ResourceGroup = $servicebus.ResourceGroupName
|
||||
$resourceCheck.RespourceType = $servicebus.Type
|
||||
$resourceCheck.Location = $servicebus.Location
|
||||
$resourceCheck.ServiceBusName = $servicebus.Name
|
||||
$resourceCheck.TopicName = $topic.Name
|
||||
$resourceCheck.TopicSubscriptionName = $topicSub.Name
|
||||
$Result += $resourceCheck
|
||||
}
|
||||
}
|
||||
|
||||
# queues
|
||||
$queues = Get-AzServiceBusQueue -NamespaceName $servicebus.Name -ResourceGroupName $servicebus.ResourceGroupName
|
||||
|
||||
foreach ($queue in $queues) {
|
||||
|
||||
[ResourceCheck] $resourceCheck = [ResourceCheck]::new()
|
||||
$resourceCheck.ResourceId = $servicebus.Id
|
||||
$resourceCheck.ManagementGroupId = $managementGroup.Id
|
||||
$resourceCheck.ManagementGroupName = $managementGroup.DisplayName
|
||||
$resourceCheck.SubscriptionId = $subscription.Id
|
||||
$resourceCheck.SubscriptionName = $subscription.DisplayName
|
||||
$resourceCheck.ResourceGroup = $servicebus.ResourceGroupName
|
||||
$resourceCheck.RespourceType = $servicebus.Type
|
||||
$resourceCheck.Location = $servicebus.Location
|
||||
$resourceCheck.ServiceBusName = $servicebus.Name
|
||||
$resourceCheck.QueueName = $queue.Name
|
||||
$Result += $resourceCheck
|
||||
}
|
||||
|
||||
$Result | Export-Csv -Path $fileName -Append -NoTypeInformation
|
||||
}
|
||||
}
|
||||
}
|
||||
Write-Host "======================================================================================================================================================================"
|
||||
Write-Host "Done."
|
||||
|
||||
Reference in New Issue
Block a user