This post shows a Powershell script that connects to Azure and exports all resources from multiple subscriptions to a CSV file. It also shows how this script can be used inside of a scheduled task which creates the CSV file on a daily base.
Exporting all the resources can be achieved with the following commandlets:
Add-AzureRmAccount # login to your azure account
Set-AzureRmContext -SubscriptionID $subscriptionId # set/change the subscription
Get-AzureRmResource | Export-CSV "c:\temp\data.csv" # get the resources and export it to CSV file
This script just exports the data of one subscription and simply writes it to a csv file. If we want to have a reusable script which exports the data of all of my subscriptions, then we should extend it:
In an Azure ServiceBus you can create multiple subscriptions for one topic. Such a subscription has the possibility to filter messages. So only the messages that match the criterias are “forwarded” to the subscription. Let’s have look on how filters work.
In this post I will use the ServiceBus Explorer to connect to an existing ServiceBus namespace. If you want to know how to create a ServiceBus namespace, a topic plus subscription and connect to it with the ServiceBus explorer – then read my previous blog post about it: How to create a topic with testdata in Azure ServiceBus
In this blogpost I will describe how to create a ServiceBus and a Topic in Microsoft Azure and how to push some sample data with the ServiceBus Explorer to it. In a following post I will describe how to work with ServiceBus filters.
Before you create the servicebus, you should download the servicebus explorer tool which you can find here: https://code.msdn.microsoft.com/windowsapps/Service-Bus-Explorer-f2abca5a
When you connect to Azure, e.g. the Azure ServiceBus Explorer to the ServiceBus (https://code.msdn.microsoft.com/windowsapps/Service-Bus-Explorer-f2abca5a), you will probably deal with proxy issues. I sometimes got the following error:
An error occurred attempting to access the account:
The remote server returned an error (407): Proxy Authentication Required
This is a step by step tutorial of how to programmatically read azure active directory groups with a c# client application.
- Create a new Visual Studio console application
- Add the following NuGet packages to your project:
- Check the code at GitHub
- Add a reference to System.Configuration to your project (needed for the AppConfigConfiguration.cs)
- Configure your application in the Azure portal (see below)
- Set configuration of the MyConfiguration.cs (see below)
- Run the sample
It’s quite simple to invoke WebRequests via Powershell if you have Powershell Version 3.0 or higher:
If you have Powershell Version 2.0 or 1.0 , you’ll receive the following error:
invoke-webrequest : The term ‘invoke-webrequest’ is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
At line:1 char:18
+ invoke-webrequest <<<< “http://www.codehollow.com”
+ CategoryInfo : ObjectNotFound: (invoke-webrequest:String) , CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
Because you need the Powershell Version 3.0 or higher as described here: https://technet.microsoft.com/en-us/library/hh849901.aspx
There are two ways how to solve this. Read more