Azure Automation has been out for a while now, and is a very powerful tool that can automate the manual, long-running, error-prone, and common tasks that are regularly performed in the cloud and on premises. To provide automation within your own data centre, hybrid runbook workers can be deployed within your environment that will communicate with Azure Automation for it’s configuration and runbooks.
For more information on what hybrid runbook workers can do and what configuration is required, take a look at https://azure.microsoft.com/en-us/documentation/articles/automation-hybrid-runbook-worker/.
One of the issues with hybrid runbook workers though was that they did not work in environments that rely on a proxy service for communication to the internet. Although the hybrid runbook workers rely on the Microsoft Monitoring Agent (MMA) to communicate to the cloud, and proxy details can be specified, Azure Automation couldn’t utilise the proxy and needed a direct internet connection.
As of last week though, this all changed and Microsoft released support for hybrid runbook workers in proxy environments… Yay!! https://azure.microsoft.com/en-gb/updates/azure-automation-hybrid-runbook-workers-now-support-proxy-environments/
I was excited by this announcement so went to test it straight away, and was pleased to find that there are no changes to the setup process. Once the MMA has been installed and proxy details defined, you simply run the Hybrid Registration on PowerShell, which will automatically detect a proxy and configure itself appropriately.
In the image above, a warning is provided to advise that the proxy has been detected, and that only PowerShell and Graphical runbooks are supported. At this time PowerShell Workflow runbooks are not supported, so these can still not be run on the hybrid runbook worker, however I’m sure this will be supported in time.
So, with the worker setup, I created a new basic PowerShell runbook in Azure Automation to simply output the server name to file, and then run it on the hybrid runbook worker, and within seconds I had my file with the server name…. It all worked!!
$Name = (Get-WmiObject -Class Win32_ComputerSystem -Property Name).Name
$Name | Out-File C:\temp\Name.txt
Now, while work on PowerShell scripts that are slightly more useful than writing the server name to file, you can get your hybrid runbook workers up and running!