Microsoft has just released a new cmdlet in the realm of Azure automation.
Start-AutomationRunbook
The cmdlet is designed to start runbook jobs in the same account as the current running runbook, without having to define any endpoints/credentials/etc.
Syntax is:
Start-AutomationRunbook [-Name] <string> [-Parameters <IDictionary>] [-RunOn <string>] [<CommonParameters>] How to start a runbook: Start-AutomationRunbook – Name "Test-JSONOutput" Start a runbook on a hybrid worker Start-AutomationRunbook – Name "Test-JSONOutput" –RunOn "Denmark" NB! The cmdlet can only be used inside runbooks Great little addition to the built in cmdlets in Azure automation!
That CMDLet could be really useful, great info!
How do I monitor runbook job output and status?
Get-AzureAutomationJob and Get-AzureAutomationJobOutput as usually?
Did you ever find out how to get the Job Status? Those 2 cmdlets dont work and there doesnt seem to be a:
Get-AutomationJob cmdlet etc?
Nope, did not, hoping for some info from Jakob 🙂
sorry for the late reply. Unfortunately there is not a GEt-AutomationJoboutput command and I think we’re supposed to use Get-AzureAutomationJobOutput, but I am having problems too at the moment
So I finally got it tested properly.
I also had problems using the cmdlets, but it was because I had uploaded my own versions of some of the azure modules. Either you need to use the provided (globa) ones or upload all of them yourself. I updated this blog with the information: http://blog.coretech.dk/jgs/azure-automation-script-for-downloading-and-preparing-azurerm-modules-for-azure-automation/
but unfortunately you have to use the stnadard commands, which means you could easily use the normalt Start-AzureRMAutomationrunbook instead
Here is a code example:
$cred = Get-AutomationPSCredential -Name ‘DefaultAzureCredential’
Login-AzureRmAccount -credential $cred
$PSDefaultParameterValues = @{
“*AzureRMAutomation*:ResourceGroupName” = “xx-West-Europe”
“*AzureRMAutomation*:AutomationAccountName” = “xx”
}
$JobId = Start-AutomationRunbook –Name “Test-Output”
Write-Output “Job Started:”
$JobId
$Status = $null
do {
if($Status -ne $null)
{
“Job not complete – Status: $Status – Sleeping”
Start-Sleep -Seconds 2
}
$Status = Get-AzureRMAutomationJob -Id $JobId | Select-Object -ExpandProperty Status
} while (($status -ne “Completed”) -and ($status -ne “Failed”) -and ($status -ne “Suspended”) -and ($status -ne “Stopped”) )
if($status -eq “Completed”)
{
Get-AzureRmAutomationJobOutput -id $JobId -Stream Output | Get-AzureRmAutomationJobOutputRecord
}
else
{
Get-AzureRmAutomationJobOutput -id $JobId -Stream “Any” | Get-AzureRmAutomationJobOutputRecord
}
[…] of the ‘Start-AutomationRunbook’, described in Jacob Gottlieb’s blog-post here:Â Start-AutomationRunbook. In the comment section, it is discussed, how to monitor the job […]