Planningen beheren in Azure Automation

Als u een runbook in Azure Automation wilt plannen om op een bepaald tijdstip te beginnen, koppelt u het aan een of meer planningen. Een planning kan worden geconfigureerd om één keer of volgens een terugkerend uur of dagelijks schema voor runbooks in Azure Portal uit te voeren. U kunt ze ook plannen voor wekelijkse, maandelijkse, specifieke dagen van de week of dagen van de maand, of een bepaalde dag van de maand. Een runbook kan worden gekoppeld aan meerdere planningen en een schema kan meerdere runbooks eraan koppelen.

Notitie

Azure Automation ondersteunt zomertijd en plant deze op de juiste manier voor automatiseringsbewerkingen.

Notitie

Planningen zijn momenteel niet ingeschakeld voor Azure Automation DSC-configuraties.

PowerShell-cmdlets die worden gebruikt voor toegang tot planningen

De cmdlets in de volgende tabel maken en beheren Automation-schema's met PowerShell. Ze worden verzonden als onderdeel van de Az-modules.

Cmdlets Omschrijving
Get-AzAutomationSchedule Hiermee haalt u een schema op.
Get-AzAutomationScheduledRunbook Hiermee worden geplande runbooks opgehaald.
New-AzAutomationSchedule Hiermee maakt u een nieuw schema.
Register-AzAutomationScheduledRunbook Koppelt een runbook aan een planning.
Remove-AzAutomationSchedule Hiermee verwijdert u een schema.
Set-AzAutomationSchedule Hiermee stelt u de eigenschappen voor een bestaande planning in.
Registratie van AzAutomationScheduledRunbook ongedaan maken Dissociates a runbook from a schedule.

Een planning maken

U kunt een nieuw schema voor uw runbooks maken vanuit Azure Portal, met PowerShell of met behulp van een ARM-sjabloon (Azure Resource Manager). Als u wilt voorkomen dat dit van invloed is op uw runbooks en de processen die ze automatiseren, moet u eerst runbooks testen die gekoppelde planningen hebben met een Automation-account dat is toegewezen voor testen. Een test controleert of uw geplande runbooks correct blijven werken. Als u een probleem ziet, kunt u eventuele benodigde wijzigingen oplossen en toepassen voordat u de bijgewerkte runbookversie naar productie migreert.

Notitie

Uw Automation-account krijgt niet automatisch nieuwe versies van modules, tenzij u ze handmatig hebt bijgewerkt door de optie Azure-modules bijwerken te selecteren in Modules. Azure Automation maakt gebruik van de nieuwste modules in uw Automation-account wanneer een nieuwe geplande taak wordt uitgevoerd.

Een nieuw schema maken in Azure Portal

  1. Selecteer Planningen onder Gedeelde resources in het linkerdeelvenster van uw Automation-account.

  2. Selecteer Een planning toevoegen op de pagina Planningen.

  3. Voer op de pagina Nieuw schema een naam in en voer desgewenst een beschrijving in voor de nieuwe planning.

    Notitie

    Automatiseringsschema's bieden momenteel geen ondersteuning voor het gebruik van speciale tekens in de planningsnaam.

  4. Selecteer of de planning eenmaal of volgens een terugkerende planning wordt uitgevoerd door Eenmaal of Terugkerend te selecteren. Als u Eenmaal selecteert, geeft u een begintijd op en selecteert u Vervolgens Maken. Als u Terugkerend selecteert, geeft u een begintijd op. Selecteer voor Recur every hoe vaak u het runbook wilt herhalen. Selecteer per uur, dag, week of maand.

    • Als u Week selecteert, worden de dagen van de week weergegeven waaruit u kunt kiezen. Selecteer zo veel dagen als u wilt. De eerste uitvoering van uw planning vindt plaats op de eerste dag die na de begintijd is geselecteerd. Als u bijvoorbeeld een weekendschema wilt kiezen, selecteert u zaterdag en zondag.

    Setting weekend recurring schedule

    • Als u Maand selecteert, krijgt u verschillende opties. Voor de optie Maandelijkse exemplaren selecteert u Maanddagen of Weekdagen. Als u Maanddagen selecteert, wordt er een agenda weergegeven, zodat u zoveel dagen kunt kiezen als u wilt. Als u een datum kiest, zoals de 31e die niet plaatsvindt in de huidige maand, wordt het schema niet uitgevoerd. Als u wilt dat de planning wordt uitgevoerd op de laatste dag, selecteert u Ja onder Uitvoeren op de laatste dag van de maand. Als u Weekdagen selecteert, wordt de optie Elke optie opnieuw weergegeven. Kies First, Second, Third, Fourth of Last. Kies ten slotte een dag waarop u wilt herhalen.

    Monthly schedule on first, fifteenth, and last day of the month

  5. Wanneer u gereed bent, selecteert u Maken.

Een nieuw schema maken met PowerShell

Gebruik de cmdlet New-AzAutomationSchedule om planningen te maken. U geeft de begintijd op voor de planning en de frequentie die moet worden uitgevoerd. In de volgende voorbeelden ziet u hoe u veel verschillende planningsscenario's maakt.

Notitie

Automatiseringsschema's bieden momenteel geen ondersteuning voor het gebruik van speciale tekens in de planningsnaam.

Een eenmalige planning maken

In het volgende voorbeeld wordt een eenmalig schema gemaakt.

$TimeZone = ([System.TimeZoneInfo]::Local).Id
New-AzAutomationSchedule -AutomationAccountName "ContosoAutomation" -Name "Schedule01" -StartTime "23:00" -OneTime -ResourceGroupName "ResourceGroup01" -TimeZone $TimeZone

Een terugkerend schema maken

In het volgende voorbeeld ziet u hoe u een terugkerend schema maakt dat elke dag om 13:00 uur wordt uitgevoerd voor een jaar.

$StartTime = Get-Date "13:00:00"
$EndTime = $StartTime.AddYears(1)
New-AzAutomationSchedule -AutomationAccountName "ContosoAutomation" -Name "Schedule02" -StartTime $StartTime -ExpiryTime $EndTime -DayInterval 1 -ResourceGroupName "ResourceGroup01"

Een wekelijks terugkerend schema maken

In het volgende voorbeeld ziet u hoe u een wekelijks schema maakt dat alleen op weekdagen wordt uitgevoerd.

$StartTime = (Get-Date "13:00:00").AddDays(1)
[System.DayOfWeek[]]$WeekDays = @([System.DayOfWeek]::Monday..[System.DayOfWeek]::Friday)
New-AzAutomationSchedule -AutomationAccountName "ContosoAutomation" -Name "Schedule03" -StartTime $StartTime -WeekInterval 1 -DaysOfWeek $WeekDays -ResourceGroupName "ResourceGroup01"

Een wekelijks terugkerend schema voor weekenden maken

In het volgende voorbeeld ziet u hoe u een wekelijks schema maakt dat alleen in het weekend wordt uitgevoerd.

$StartTime = (Get-Date "18:00:00").AddDays(1)
[System.DayOfWeek[]]$WeekendDays = @([System.DayOfWeek]::Saturday,[System.DayOfWeek]::Sunday)
New-AzAutomationSchedule -AutomationAccountName "ContosoAutomation" -Name "Weekends 6PM" -StartTime $StartTime -WeekInterval 1 -DaysOfWeek $WeekendDays -ResourceGroupName "ResourceGroup01"

Maak een terugkerend schema voor de eerste, vijftiende en laatste dagen van de maand

In het volgende voorbeeld ziet u hoe u een terugkerend schema maakt dat wordt uitgevoerd op de eerste, vijftiende en laatste dag van een maand.

$StartTime = (Get-Date "18:00:00").AddDays(1)
New-AzAutomationSchedule -AutomationAccountName "TestAzureAuto" -Name "1st, 15th and Last" -StartTime $StartTime -DaysOfMonth @("One", "Fifteenth", "Last") -ResourceGroupName "TestAzureAuto" -MonthInterval 1

Een planning maken met een Resource Manager-sjabloon

In dit voorbeeld gebruiken we een ARM-sjabloon (Automation Resource Manager) waarmee een nieuw taakschema wordt gemaakt. Zie de sjabloonreferentie Microsoft.Automation AutomationAccounts/jobSchedules voor algemene informatie over deze sjabloon voor het beheren van Automation-taakplanningen.

Kopieer dit sjabloonbestand naar een teksteditor:

{
  "name": "5d5f3a05-111d-4892-8dcc-9064fa591b96",
  "type": "Microsoft.Automation/automationAccounts/jobSchedules",
  "apiVersion": "2015-10-31",
  "properties": {
    "schedule": {
      "name": "scheduleName"
    },
    "runbook": {
      "name": "runbookName"
    },
    "runOn": "hybridWorkerGroup",
    "parameters": {}
  }
}

Bewerk de volgende parameterwaarden en sla de sjabloon op als een JSON-bestand:

  • Objectnaam van taakplanning: een GUID (Globally Unique Identifier) wordt gebruikt als de naam van het taakplanningsobject.

    Belangrijk

    Voor elke taakplanning die is geïmplementeerd met een ARM-sjabloon, moet de GUID uniek zijn. Zelfs als u een bestaand schema plant, moet u de GUID wijzigen. Dit geldt ook als u eerder een bestaand taakschema hebt verwijderd dat met dezelfde sjabloon is gemaakt. Het hergebruik van dezelfde GUID resulteert in een mislukte implementatie.

    Er zijn services online die een nieuwe GUID voor u kunnen genereren, zoals deze gratis online GUID-generator.

  • Planningsnaam: Vertegenwoordigt de naam van het Automation-taakschema dat wordt gekoppeld aan het opgegeven runbook.

  • Runbooknaam: Vertegenwoordigt de naam van het Automation-runbook waaraan de taakplanning moet worden gekoppeld.

Zodra het bestand is opgeslagen, kunt u het runbooktaakschema maken met de volgende PowerShell-opdracht. De opdracht gebruikt de TemplateFile parameter om het pad en de bestandsnaam van de sjabloon op te geven.

New-AzResourceGroupDeployment -ResourceGroupName "ContosoEngineering" -TemplateFile "<path>\RunbookJobSchedule.json"

Een runbook kan worden gekoppeld aan meerdere planningen en een schema kan meerdere runbooks eraan koppelen. Als een runbook parameters bevat, kunt u er waarden voor opgeven. U moet waarden opgeven voor verplichte parameters en u kunt ook waarden opgeven voor eventuele optionele parameters. Deze waarden worden gebruikt telkens wanneer het runbook wordt gestart volgens dit schema. U kunt hetzelfde runbook koppelen aan een ander schema en verschillende parameterwaarden opgeven.

  1. Selecteer runbooks onder Procesautomatisering in Azure Portal vanuit uw Automation-account.
  2. Selecteer de naam van het runbook dat u wilt plannen.
  3. Als het runbook momenteel niet is gekoppeld aan een schema, krijgt u de mogelijkheid om een nieuw schema te maken of een koppeling naar een bestaand schema te maken.
  4. Als het runbook parameters bevat, kunt u de optie Uitvoeringsinstellingen wijzigen (Standaard:Azure) selecteren en wordt het deelvenster Parameters weergegeven. U kunt hier parametergegevens invoeren.

Gebruik de cmdlet Register-AzAutomationScheduledRunbook om een planning te koppelen. U kunt waarden opgeven voor de parameters van het runbook met de parameter Parameters. Zie Een runbook starten in Azure Automation voor meer informatie over het opgeven van parameterwaarden. In het volgende voorbeeld ziet u hoe u een planning koppelt aan een runbook met behulp van een Azure Resource Manager-cmdlet met parameters.

$automationAccountName = "MyAutomationAccount"
$runbookName = "Test-Runbook"
$scheduleName = "Sample-DailySchedule"
$params = @{"FirstName"="Joe";"LastName"="Smith";"RepeatCount"=2;"Show"=$true}
Register-AzAutomationScheduledRunbook -AutomationAccountName $automationAccountName `
-Name $runbookName -ScheduleName $scheduleName -Parameters $params `
-ResourceGroupName "ResourceGroup01"

Runbooks plannen om vaker uit te voeren

Het meest voorkomende interval waarvoor een planning in Azure Automation kan worden geconfigureerd, is één uur. Als u planningen nodig hebt om vaker te worden uitgevoerd, zijn er twee opties:

  • Maak een webhook voor het runbook en gebruik Azure Logic Apps om de webhook aan te roepen. Azure Logic Apps biedt gedetailleerdere granulariteit om een planning te definiëren.

  • Maak vier planningen die allemaal binnen 15 minuten van elkaar beginnen en eenmaal per uur worden uitgevoerd. Met dit scenario kan het runbook elke 15 minuten worden uitgevoerd met de verschillende planningen.

Een planning uitschakelen

Wanneer u een planning uitschakelt, wordt elk runbook dat eraan is gekoppeld, niet meer volgens dat schema uitgevoerd. U kunt een planning handmatig uitschakelen of een verlooptijd instellen voor schema's met een frequentie wanneer u ze maakt. Wanneer de verlooptijd is bereikt, wordt het schema uitgeschakeld.

Een planning uitschakelen vanuit Azure Portal

  1. Selecteer Planningen onder Gedeelde resources in het linkerdeelvenster in uw Automation-account.
  2. Selecteer de naam van een planning om het detailvenster te openen.
  3. Wijzigen in Ingeschakeld op Nee.

Notitie

Als u een planning met een begintijd in het verleden wilt uitschakelen, moet u de begindatum wijzigen in een tijd in de toekomst voordat u het opslaat.

Een planning uitschakelen met PowerShell

Gebruik de cmdlet Set-AzAutomationSchedule om de eigenschappen van een bestaand schema te wijzigen. Als u het schema wilt uitschakelen, geeft u False op voor de IsEnabled parameter.

In het volgende voorbeeld ziet u hoe u een planning voor een runbook uitschakelt met behulp van een Azure Resource Manager-cmdlet.

$automationAccountName = "MyAutomationAccount"
$scheduleName = "Sample-MonthlyDaysOfMonthSchedule"
Set-AzAutomationSchedule -AutomationAccountName $automationAccountName `
-Name $scheduleName -IsEnabled $false -ResourceGroupName "ResourceGroup01"

Een planning verwijderen

Wanneer u klaar bent om uw planningen te verwijderen, kunt u Azure Portal of PowerShell gebruiken. Houd er rekening mee dat u alleen een schema kunt verwijderen dat is uitgeschakeld, zoals beschreven in de vorige sectie.

Een planning verwijderen met behulp van Azure Portal

  1. Selecteer Planningen onder Gedeelde resources in het linkerdeelvenster in uw Automation-account.
  2. Selecteer de naam van een planning om het detailvenster te openen.
  3. Klik op Verwijderen.

Een planning verwijderen met PowerShell

U kunt de Remove-AzAutomationSchedule cmdlet gebruiken zoals hieronder wordt weergegeven om een bestaand schema te verwijderen.

$automationAccountName = "MyAutomationAccount"
$scheduleName = "Sample-MonthlyDaysOfMonthSchedule"
Remove-AzAutomationSchedule -AutomationAccountName $automationAccountName `
-Name $scheduleName -ResourceGroupName "ResourceGroup01"

Volgende stappen