Azure Automation – Co to je a k čemu slouží?

5.8.2025 | Autor: Martin Hasin
8

Azure Automation je cloudová služba společnosti Microsoft, která umožňuje automatizovat opakující se úkoly v prostředí Azure i mimo něj. Používá se především ke správě a koordinaci úkolů pomocí skriptů v jazyce PowerShell, skriptů v jazyce Python nebo grafických pracovních postupů (runbooků).

Azure Automation – Co to je a k čemu slouží?

Azure Automation – Co to je a k čemu slouží? Klíčové funkce Azure Automation:

  1. Runbooky – Umožňují automatizovat úlohy v Azure i mimo něj.
  2. Scheduled Jobs – Plánování úloh pro automatické spuštění v konkrétních časech.
  3. Hybrid Runbook Worker – Spouštění skriptů na lokálních serverech.
  4. Správa aktualizací – Automatizace aktualizací virtuálních strojů Windows/Linux.
  5. Change Tracking – Sledování změn konfigurací v systémech.
  6. State Configuration (DSC) – Automatizace konfigurace infrastruktury pomocí PowerShell DSC.

Jak automatizovat skripty v Azure Automation?

Azure Automation umožňuje spouštět skripty pomocí runbooků, které mohou být:

  • PowerShell (.ps1)
  • Python (.py)
  • grafické pracovní postupy (drag & drop)

1. Vytvoření runbooku v PowerShellu na portálu Azure

1.1 Vytvoření účtu Automation

  1. V portálu AzureAutomation AccountsCreate.
  2. Zadejte název a skupinu prostředků.
  3. Klikněte na Create.

1.2 Vytvoření přihlašovacích údajů

Aby bylo možné v runbooku používat službu Service Principal nebo jiné přihlašovací údaje, je nutné je uložit jako Credential Asset v Azure Automation.

Postup:

  1. V portálu Azure → Otevřete Automation Account.
  2. V levém menu vyberte položku „Credentials“.
  3. Klikněte na Add a credential.
  4. Vyplňte:
    • NázevServicePrincipal
    • User Nameclient_id (z App Registration v Azure AD)
    • Hesloclient_secret
  5. Klikněte na Create.

1.3 Vytvoření runbooku

  1. V účtu Automation přejděte na RunbooksCreate a Runbook.
  2. Jako typ vyberte PowerShell a zadejte název, např. Refresh-Model.ps1.
  3. Vložte kód, např.:
param
(
    [Parameter (Mandatory = $false)]
    [object] $WebhookData,

    [Parameter (Mandatory = $false)]
    [String] $DatabaseName,
    [Parameter (Mandatory = $false)]
    [String] $AnalysisServer,
    [Parameter (Mandatory = $false)]
    [String] $RefreshType
)

$_Credential = Get-AutomationPSCredential -Name "ServicePrincipal"

# If runbook was called from Webhook, WebhookData will not be null.
if ($WebhookData)
{ 
    # Retrieve AAS details from Webhook request body
    $atmParameters = (ConvertFrom-Json -InputObject $WebhookData.RequestBody)
    Write-Output "CredentialName: $($atmParameters.CredentialName)"
    Write-Output "AnalysisServicesDatabaseName: $($atmParameters.AnalysisServicesDatabaseName)"
    Write-Output "AnalysisServicesServer: $($atmParameters.AnalysisServicesServer)"
    Write-Output "DatabaseRefreshType: $($atmParameters.DatabaseRefreshType)"
    
    $_databaseName = $atmParameters.AnalysisServicesDatabaseName
    $_analysisServer = $atmParameters.AnalysisServicesServer
    $_refreshType = $atmParameters.DatabaseRefreshType
 
    Invoke-ProcessASDatabase -DatabaseName $_databaseName -RefreshType $_refreshType -Server $_analysisServer -ServicePrincipal -Credential $_credential
}
else 
{
    Invoke-ProcessASDatabase -DatabaseName $DatabaseName -RefreshType $RefreshType -Server $AnalysisServer -ServicePrincipal -Credential $_Credential
}

4. Klikněte na Publish.

2. Naplánování automatického spuštění

Po vytvoření runbooku můžeš nastavit jeho automatické spuštění.

  1. V runbooku → „Schedules“„Add a Schedule“.
  2. Nastavíš každý den v 3:00 ráno.
  3. Připojte parametry (např. název databáze).


Další odborné články, návody a zajímavosti z oblasti IT najdete na webu: www.virtualall.sk


Martin Hasin

Martin Hasin

Odborník na kybernetickou bezpečnost, správu Azure Cloud a VMware on-premise. Využívá technologie, jako jsou Checkmk a MRTG, k monitorování sítě a ke zvyšování efektivity a bezpečnosti IT infrastruktury.