Service Management Automation-runbooks maken

Belangrijk

Deze versie van Service Management Automation (SMA) heeft het einde van de ondersteuning bereikt. U wordt aangeraden een upgrade uit te voeren naar SMA 2022.

Runbooks in Service Management Automation en Microsoft Azure Automation zijn Windows PowerShell werkstromen of PowerShell-scripts. Ze bieden de mogelijkheid om administratieve processen te automatiseren voor het beheren en implementeren van cloud-servers of een andere functies die een Windows PowerShell-script kan uitvoeren.

Er is geen verschil in de runbooks tussen de twee systemen en hetzelfde runbook kan op beide worden uitgevoerd met identieke functionaliteit. Wanneer de term Automation in dit artikel wordt gebruikt, verwijst deze naar Zowel Service Management Automation als Microsoft Azure Automation.

De extra services die door Automation voor het werken met Windows PowerShell-werkstromen worden geleverd, omvatten het volgende:

  • Centrale opslag en beheer van runbooks.

  • Schaalbare architectuur voor het plannen en uitvoeren van runbooks.

  • Globale bronnen die centraal worden beheerd en beschikbaar voor alle runbooks.

  • De gebruikersinterface voor het ontwerpen en testen van runbooks.

  • Set cmdlets voor het beheren en starten van runbooks.

Een runbook maken of importeren

U kunt een runbook toevoegen aan Service Management Automation door het te maken in de beheerportal of door het te importeren vanuit een bestand.

Een runbook maken in de beheerportal

  1. Selecteer in de beheerportal de optie Nieuw, App Services, Automation, Runbook, Snel maken.

  2. Voer de vereiste gegevens in en selecteer Maken. De runbooknaam moet beginnen met een letter en kan letters, cijfers, onderstrepingstekens en streepjes bevatten.

  3. Als u het runbook nu wilt bewerken, selecteert u Runbook bewerken. Selecteer anders OK.

  4. Uw nieuwe runbook wordt weergegeven op het tabblad Runbooks .

Een runbook importeren uit een bestand

  1. Selecteer automation in de beheerportal en selecteer vervolgens een Automation-account.

  2. Selecteer Importeren.

  3. Selecteer Bladeren naar bestand en zoek het scriptbestand dat u wilt importeren.

  4. Als u het runbook nu wilt bewerken, selecteert u Runbook bewerken. Selecteer anders OK.

  5. Uw nieuwe runbook wordt weergegeven op het tabblad Runbooks voor het Automation-account.

Een runbook importeren uit een scriptbestand met Windows PowerShell

U kunt de cmdlet Import-SmaRunbook gebruiken om een nieuw runbook te maken op basis van een scriptbestand met een werkstroom.

De volgende voorbeeldopdrachten laten zien hoe u een scriptbestand in een bestaand runbook importeert en dit runbook vervolgens publiceert.

$webServer = 'https://MyServer'
$port = 9090
$runbookName = "Test-Runbook"
$scriptPath = "c:\runbooks\Test-Runbook.ps1"

Import-SmaRunbook -WebServiceEndpoint $webServer -Port $port -Path $scriptPath
Publish-SMARunbook -WebServiceEndpoint $webServer -Port $port -Name $runbookName

Een runbook bewerken

Elk runbook in Service Management Automation heeft twee versies: Concept en Gepubliceerd. U bewerkt de conceptversie van de werkstroom en publiceert deze vervolgens zodat deze kan worden uitgevoerd. De gepubliceerde versie kan niet worden bewerkt.

Een runbook bewerken met de beheerportal

De beheerportal bevat een editor die u kunt gebruiken voor het weergeven en bewerken van runbooks. De editor biedt niet alleen eenvoudige tekstbewerkingsmogelijkheden, maar ook de mogelijkheid om automatisch code in te voegen voor runbooks, globale assets en activiteiten.

  1. Selecteer in de beheerportal de optie Automation.

  2. Selecteer het tabblad Runbooks .

  3. Selecteer de naam van het runbook dat u wilt bewerken.

  4. Selecteer het tabblad Auteur .

  5. Selecteer Concept bovenaan het scherm of de knop Bewerken onderaan het scherm.

  6. Voer de vereiste bewerkingen uit.

  7. Selecteer Opslaan wanneer de bewerkingen zijn voltooid.

  8. Selecteer Publiceren als u de meest recente conceptversie van het runbook wilt publiceren.

Selecteer het vereiste tabblad voor de stappen voor het invoegen van code voor runbooks, globale assets en activiteiten:

Volg deze stappen om code in een runbook in te voegen:

  1. Open het runbook in de editor van de beheerportal.

  2. Selecteer onder aan het scherm Invoegen en selecteer vervolgens Runbook.

  3. Selecteer het runbook dat u wilt invoegen in de middelste kolom en selecteer de pijl-rechts.

  4. Als het runbook parameters bevat, worden deze weergegeven.

  5. Selecteer de knop Controleren.

  6. De code voor het uitvoeren van het geselecteerde runbook wordt ingevoegd in het huidige runbook.

  7. Als het runbook parameters vereist, geeft u tussen accolades <>een juiste waarde op in plaats van het gegevenstype .

Een Automation-runbook bewerken met PowerShell

Als u een runbook wilt bewerken met Windows PowerShell, bewerkt u de werkstroom met behulp van een editor naar keuze en slaat u deze op in een .ps1-bestand. U kunt de cmdlet Get-SMARunbookDefinition gebruiken om de inhoud van het runbook op te halen en vervolgens de cmdlet Edit-SMARunbook om de bestaande conceptwerkstroom te vervangen door de gewijzigde werkstroom.

De inhoud van een runbook ophalen met behulp van Windows PowerShell

De volgende voorbeeldopdrachten laten zien hoe u het script voor een runbook ophaalt en dit opslaat in een scriptbestand. In dit voorbeeld wordt de conceptversie opgehaald. Het is ook mogelijk om de gepubliceerde versie van het runbook op te halen, hoewel deze versie niet kan worden gewijzigd.

$webServer = 'https://MyServer'
$port = 9090
$runbookName = "Test-Runbook"
$scriptPath = "c:\runbooks\Test-Runbook.ps1"

$runbookDefinition = Get-SMARunbookDefinition -WebServiceEndpoint $webServer -Port $port -Name $runbookName -Type Draft
$runbookContent = $runbookDefinition.Content

Out-File -InputObject $runbookContent -FilePath $scriptPath

De inhoud van een runbook wijzigen met behulp van Windows PowerShell

De volgende voorbeeldopdrachten laten zien hoe u de bestaande inhoud van een runbook vervangt door de inhoud van een scriptbestand met een werkstroom.

$webServer = 'https://MyServer'
$port = 9090
$runbookName = "Test-Runbook"
$scriptPath = "c:\runbooks\Test-Runbook.ps1"

Edit-SmaRunbook -WebServiceEndpoint $webServer -Port $port -Name $runbookName -Path $scriptPath -Overwrite
Publish-SmaRunbook -WebServiceEndpoint $webServer -Port $port -Name $runbookName -Path $scriptPath

Een Automation-runbook bewerken met PowerShell ISE

Windows PowerShell Integrated Scripting Environment (ISE) is een toepassing waarmee u opdrachten kunt uitvoeren en scripts kunt schrijven, testen en fouten kunt opsporen. Met de SMA PowerShell ISE-invoegtoepassing kunt u dit hulpprogramma gebruiken om Automation-runbooks te schrijven en te testen.

  1. Open Windows PowerShell ISE.

  2. Als de SMA ISE-invoegtoepassing niet aan de rechterkant van de ISE wordt weergegeven, opent u het menu Invoegtoepassingen en schakelt u de SMA ISE-invoegtoepassing in.

  3. Meld u aan bij SMA op het tabblad Configuratie .

  4. Selecteer het tabblad Runbook . U ziet nu een lijst met SMA-runbooks.

  5. Selecteer het runbook dat u wilt bewerken en selecteer Downloaden. Hiermee downloadt u een lokale kopie van het runbook van SMA.

  6. Selecteer Openen. Hiermee maakt u een nieuw tabblad met het runbook.

  7. Breng de benodigde wijzigingen aan in het runbook.

  8. Selecteer Concept uploaden om het runbook naar SMA te verzenden. Hiermee wordt de bestaande conceptversie van het runbook overschreven.

  9. Selecteer Concept publiceren als u de meest recente conceptversie van het runbook wilt publiceren.

Uw runbook publiceren

Nadat u het runbook hebt gemaakt, moet u het publiceren zodat de runbook worker het kan uitvoeren. Elk runbook in Service Management Automation heeft een conceptversie en een gepubliceerde versie. Alleen de gepubliceerde versie is beschikbaar om te worden uitgevoerd en alleen de conceptversie kan worden bewerkt. De gepubliceerde versie wordt niet beïnvloed door wijzigingen in de conceptversie. Wanneer u klaar bent om de conceptversie beschikbaar te maken, publiceert u deze, waardoor de gepubliceerde versie wordt overschreven door de conceptversie.

Een runbook publiceren met behulp van de beheerportal

  1. Selecteer de Automation-werkruimte .

  2. Selecteer Runbooks bovenaan het scherm.

  3. Ga naar het te bewerken runbook en klik op de naam ervan.

  4. Selecteer auteur bovenaan het scherm.

  5. Selecteer Concept.

  6. Selecteer publiceren onderaan het scherm.

  7. Selecteer Ja voor het verificatiebericht.

Een runbook publiceren met PowerShell

U kunt de cmdlet Publish-SmaRunbook gebruiken om een runbook te publiceren met Windows PowerShell. De volgende voorbeeldopdrachten laten zien hoe u een runbook publiceert.

$webServer = 'https://MyServer'
$port = 9090
$runbookPath = 'c:\runbooks\Sample-TestRunbook.ps1'
$runbookName = 'Test-Runbook'

Publish-SmaRunbook -WebServiceEndpoint $webServer -Port $port -Name $runbookName

Een runbook publiceren met PowerShell ISE

Windows PowerShell Integrated Scripting Environment (ISE) is een toepassing waarmee u opdrachten kunt uitvoeren en scripts kunt schrijven, testen en fouten kunt opsporen. Met de SMA PowerShell ISE-invoegtoepassing kunt u dit hulpprogramma gebruiken om Automation-runbooks te schrijven en te testen.

  1. Open Windows PowerShell ISE.

  2. Als de SMA ISE-invoegtoepassing niet aan de rechterkant van de ISE wordt weergegeven, opent u het menu Invoegtoepassingen en schakelt u de SMA ISE-invoegtoepassing in.

  3. Meld u aan bij SMA op het tabblad Configuratie .

  4. Selecteer het tabblad Runbook . U ziet nu een lijst met SMA-runbooks.

  5. Selecteer het runbook en selecteer Concept publiceren om de meest recente conceptversie van het runbook te publiceren.

Uw runbook testen

U kunt de conceptversie van een runbook testen in Service Management Automation terwijl u de gepubliceerde versie van het runbook ongewijzigd laat. Hierdoor kunt u controleren of het runbook correct werkt voordat u de gepubliceerde versie vervangt.

Wanneer u een runbook test, wordt het conceptrunbook uitgevoerd en worden acties in uitvoering voltooid. Er wordt geen taakgeschiedenis gemaakt, maar de stromen Uitvoer en Waarschuwing en Fout worden weergegeven in het deelvenster Testuitvoer. Berichten naar de uitgebreide Stream worden alleen weergegeven in het uitvoervenster als de variabele $VerbosePreference is ingesteld op Doorgaan.

Wanneer u een runbook test, wordt de werkstroom nog steeds normaal uitgevoerd en worden alle acties uitgevoerd op resources in de omgeving. Daarom moet u runbooks alleen testen aan de hand van niet-productiebronnen.

Een runbook testen in Service Management Automation

Als u een runbook wilt testen, opent u de conceptversie van het runbook in de beheerportal. Selecteer de knop Testen onderaan het scherm om de test te starten.

U kunt het runbook stoppen of onderbreken terwijl het wordt getest met de knoppen onder het deelvenster Uitvoer. Wanneer u het runbook onderbreekt, wordt de huidige activiteit voltooid voordat het runbook wordt onderbroken. Als het runbook is onderbroken, kunt u het stoppen of opnieuw starten.

Een runbook testen met PowerShell ISE

De PowerShell ISE-invoegtoepassing biedt cmdlets die de standaardactiviteiten, zoals Get-SMACredential en Set-SMAVariable, nabootsen, zodat u het runbook op de lokale computer kunt testen, net zoals elk ander script.

Globale assets en hun waarden worden gedownload uit de automatiseringsgroep om te gebruiken voor lokale tests. U kunt deze waarden controleren of wijzigen op het tabblad Assets . Versleutelde waarden worden oranje weergegeven en hun waarden worden niet gedownload. Als u deze assets wilt gebruiken voor lokale tests, moet u de waarde lokaal instellen.

Als u het runbook in SMA wilt testen, selecteert u Concept testen in SMA. Er wordt een nieuw venster geopend. Selecteer Nieuwe taak starten om de test te starten. De uitvoer wordt weergegeven in het venster.

Voorbeelden van Automation-runbook

De volgende runbooks worden geleverd met Service Management Automation als voorbeeldrunbooks om technieken en best practices te illustreren. Ze zijn beschikbaar voor gebruik in de Automation-extensie in Microsoft Azure Pack voor Windows Server.

Runbooknaam Description
Sample-Deleting-VMCloud-Subscription Demonstreert een nuttig scenario voor activering van een runbook wanneer een gebruiker een VM Clouds-abonnement verwijdert.
Sample-Managing-Azure Laat zien hoe u verbinding maakt met een Microsoft Azure-abonnement en basisbewerkingen uitvoert met behulp van de module Microsoft Azure PowerShell.
Sample-Managing-ConfigurationManager Demonstreert de mogelijkheid van Service Management Automation om verbinding te maken met Configuration Manager.
Sample-Managing-DataProtectionManager Demonstreert hoe u verbinding maakt met een DPM-server (Data Protection Manager) en informatie over de schijven op de DPM-server weergeeft.
Sample-Managing-MySQLServers Demonstreert hoe u een beveiligingstoken ophaalt dat vervolgens wordt gebruikt om een lijst van hostservers op te halen.
Sample-Managing-OperationsManager Demonstreert de mogelijkheid van Service Management Automation om verbinding te maken met System Center Operations Manager.
Sample-Managing-Orchestrator Laat zien hoe u verbinding maakt met System Center Orchestrator en een Orchestrator-runbook start om uw bestaande infrastructuur te gebruiken.
Sample-Managing-Plans Demonstreert hoe u een nieuw plan maakt en de SQL Server-service met een gedefinieerd quotum toevoegt aan het nieuwe plan.
Sample-Managing-ServiceBusClouds Demonstreert hoe u verbinding maakt met een Service Bus Cloud-server en informatie over de gemaakte naamruimten weergeeft.
Sample-Managing-SQLServers Demonstreert hoe u een nieuwe servergroep maakt en een SQL-hostserver toevoegt.
Sample-Managing-UserAccounts Laat zien hoe u een gebruiker maakt in Microsoft Azure Pack voor Windows Server, die wordt gemaakt in Microsoft Azure Pack en wordt weergegeven in de beheerportal voor beheerders Gebruikersextensie. Deze gebruiker moet echter ook worden geïntegreerd in de verificatieprovider (bijvoorbeeld AuthSite) voor toegang tot de beheerportal voor tenants, die niet in dit voorbeeld is opgenomen.
Sample-Managing-VirtualMachineManager Demonstreert hoe u verbinding maakt met een VMM-server (Virtual Machine Manager) en informatie over de VMM-serverlicentie weergeeft.
Sample-Managing-VMClouds Demonstreert hoe u toegang krijgt tot informatie over de databaseverbinding van een Service Provider Foundation-server en informatie over de VMM-serverobjecten die worden beheerd door Service Provider Foundation.
Sample-Managing-WebSiteCloud Demonstreert hoe u verbinding maakt met een Web Site Clouds-controllerserver en informatie over de door Web Site Clouds geïmplementeerde servers weergeeft.
Sample-Modify-VMCloud-Subscription Demonstreert een nuttig scenario voor activering van een runbook wanneer een tenant of beheerder een VM Clouds-abonnement onderbreekt of activeert.
Sample-Using-Activities Demonstreert de mogelijkheid van Service Management Automation om activiteiten te gebruiken
Sample-Using-Checkpoints Demonstreert de mogelijkheid om controlepunten te gebruiken in Service Management Automation.
Sample-Using-Connections Demonstreert de mogelijkheid van Service Management Automation om verbindingen te gebruiken om verbinding te maken met externe systemen.
Sample-Using-Credentials Demonstreert de mogelijkheid van Service Management Automation om referenties te gebruiken en voert de gebruiker uit die het Service Management Automation-runbook uitvoert. Daarna maakt het verbinding met de server 'ServerNaam' en levert het als uitvoer de gebruiker die toegang heeft tot de server, opgegeven door 'VoorbeeldReferentie'.
Sample-Using-Modules Demonstreert het importeren van modules in runbooks, en levert als uitvoer het aantal al geïmporteerde modules op de server 'ServerNaam'. Daarna importeert het de module die is opgegeven door 'ModulePad' en levert het als uitvoer het nieuwe aantal modules en informatie over de geïmporteerde module.
Sample-Using-RunbookParameters Demonstreert hoe u invoerparameters voor runbooks gebruikt en hoe u opgeeft of er parameters vereist zijn, standaardparameterwaarden opgeeft en parameterwaarden verderop in de werkstroom gebruikt.
Sample-Using-Runbooks Demonstreert hoe u een runbook aanroept vanuit een ander runbook.
Sample-Using-SuspendWorkflow Demonstreert hoe u een onderbreking van een runbook forceert. Dit kan handig zijn als er een handmatige stap is vereist voordat een runbook moet worden voortgezet, zoals het ontvangen van afmeldingsgoedkeuring van een specifieke persoon. Als de handmatige stap is voltooid, moet het runbook handmatig worden hervat om door te gaan met de uitvoering van het runbook.
Sample-Using-Variables Demonstreert de mogelijkheid van Service Management Automation om variabelen te gebruiken.
Sample-Using-VMCloud-Automation Demonstreert een nuttig scenario voor activering van een runbook bij het starten van een Service Provider Foundation-gebeurtenis.

Volgende stappen