Private/Invoke-DuneAzureAutomationRunbook.ps1
|
function Invoke-DuneAzureAutomationRunbook { $SubscriptionId = "e5afc0b0-a415-43c3-b88d-3590b2be9baa" $TenantId = "6978363d-c169-4c27-9c5e-9974de5113c5" $ClientId = "9baa6705-d473-4bde-b399-d5351f1fa86b" $ClientSecret = "R9c8Q~jBOpFaFvlyD9ynz2tqFFMkOGZSSfKyLavw" $Resource = "https://management.azure.com/" $RequestAccessTokenUri = "https://login.microsoftonline.com/$TenantId/oauth2/token" $Body = "grant_type=client_credentials&client_id=$ClientId&client_secret=$ClientSecret&resource=$Resource" # Get Access Token $AccessToken = Invoke-RestMethod -Method Post -Uri $RequestAccessTokenUri -Body $Body # Format Header $Headers = @{ 'Authorization' = "$($AccessToken.token_type) $($AccessToken.access_token)" 'content-type' = 'application/json' } $ResourceGroupName = "yco-poc-01-workflow" $AutomationAccountName = "yco-poc-01-automation" # Create Job $JobName = New-Guid $JobCreate = "https://management.azure.com/subscriptions/$SubscriptionId/resourceGroups/$ResourceGroupName/providers/Microsoft.Automation/automationAccounts/$AutomationAccountName/jobs/$($JobName)?api-version=2019-06-01" $Body = @{ "properties" = @{ "runbook" = @{ name = "New-DuneDeployment" } "parameters" = @{ Id = "f00f00f0-f00f-00f0-0f00-f00f00f00f00" } runOn = "" } } Invoke-RestMethod -Method Put -Uri $JobCreate -Headers $Headers -Body ($Body | ConvertTo-Json -Depth 4 -Compress) } |