Vereinfachen der Service Management Automation-Runbookerstellung mit globalen Ressourcen

Wichtig

Diese Version von Service Management Automation (SMA) hat das Supportende erreicht. Sie sollten ein Upgrade auf SMA 2019 durchführen.

Globale Ressourcen stehen für alle Runbooks in einer Automation-Umgebung zur Verfügung. Sie erstellen und konfigurieren globale Objekte entweder mit dem Arbeitsbereich „Automatisierung“ im Verwaltungsportal oder mit den entsprechenden Cmdlets in Windows PowerShell. Aus einem Runbook können Sie Werte für globale Objekte mit Aktivitäten im Modul RunbookConstructs abrufen und festlegen. Die Windows PowerShell-Cmdlets können in Runbooks in Service Management Automation verwendet werden, empfohlen werden aber die Aktivitäten. Sie sind nämlich effizienter, weil sie nicht über den Automation-Webdienst ausgeführt werden müssen.

Abrufen oder Festlegen von Anmeldeinformationen

Automation-Anmeldeinformationen sind entweder ein Benutzername und ein Kennwort zur Verwendung mit Windows PowerShell-Befehlen oder ein Zertifikat, das auf den Server hochgeladen wurde. Die Eigenschaften für Anmeldeinformationen werden in der Automation-Datenbank sicher gespeichert und können im Runbook mit der Aktivität Get-AutomationPSCredential oder Get-AutomationCertificate aufgerufen werden.

PowerShell zum Verwalten von Anmeldeinformationen

Sie können mithilfe der Cmdlets in der folgenden Tabelle Anmeldeinformationen mit Windows PowerShell in Service Management Automation erstellen und verwalten.

Cmdlets BESCHREIBUNG
Get-SmaCertificate Ruft ein Automation-Zertifikat ab.
Get-SmaCredential Ruft Automation PowerShell-Anmeldeinformationen ab.
Remove-SmaCertificate Entfernt ein Automation-Zertifikat.
Remove-SmaCredential Entfernt Automation PowerShell-Anmeldeinformationen.
Set-SmaCertificate Erstellt ein neues Zertifikat oder legt die Eigenschaften für ein vorhandenes Zertifikat fest, darunter das Hochladen der Zertifikatsdatei und Festlegen des Kennworts für ein PFX-Datei.
Set-SmaCredential Erstellt neue Automation PowerShell-Anmeldeinformationen oder legt die Eigenschaften für vorhandene Anmeldeinformationen fest.

PowerShell zum Arbeiten mit Anmeldeinformationen

Sie können mit den Aktivitäten in der folgenden Tabelle auf Anmeldeinformationen in einem Runbook zugreifen.

activities BESCHREIBUNG
Get-AutomationCertificate Ruft ein Zertifikat ab, das in einem Runbook verwendet werden soll.
Get-AutomationPSCredential Ruft Benutzername/Kennwort ab, das in einem Runbook verwendet werden soll.

Hinweis

Sie sollten im „–Name“-Parameter von Get-AutomationPSCredential und Get-AutomationCertificate keine Variablen verwenden, da dies die Ermittlung von Abhängigkeiten zwischen Runbooks und Automation-Variablen erschweren kann.

Erstellen von PowerShell-Anmeldeinformationen im Verwaltungsportal

  1. Wählen Sie den Arbeitsbereich Automation aus.

  2. Klicken Sie im oberen Fensterbereich auf Ressourcen.

  3. Klicken Sie unten im Fenster auf Einstellung hinzufügen.

  4. Klicken Sie auf Anmeldeinformationen hinzufügen.

  5. Wählen Sie in der Dropdownliste Anmeldeinformationstyp die Option PowerShell-Anmeldeinformationen aus.

  6. Geben Sie im Feld Name einen Namen für die Anmeldeinformationen ein.

  7. Klicken Sie auf den Pfeil nach rechts.

  8. Geben Sie Werte für jede Eigenschaft ein.

  9. Klicken Sie auf das Häkchen, um die Anmeldeinformationen zu speichern.

Erstellen eines Zertifikats im

Verwaltungsportal

  1. Wählen Sie den Arbeitsbereich Automation aus.

  2. Klicken Sie im oberen Fensterbereich auf Ressourcen.

  3. Klicken Sie unten im Fenster auf Einstellung hinzufügen.

  4. Klicken Sie auf Anmeldeinformationen hinzufügen.

  5. Wählen Sie in der Dropdownliste Anmeldeinformationstyp die Option Zertifikat aus.

  6. Geben Sie im Feld Name einen Namen für das Zertifikat ein.

  7. Klicken Sie auf den Pfeil nach rechts.

  8. Klicken Sie auf Datei suchen , und navigieren Sie zu einer CER- oder PFX-Datei.

  9. Wenn Sie eine PFX-Datei ausgewählt haben, geben Sie das Kennwort für diese an.

  10. Klicken Sie auf das Häkchen, um das Zertifikat zu speichern.

Erstellen von Anmeldeinformationen mit PowerShell

Die folgenden Beispielbefehle zeigen, wie Sie neue Anmeldeinformationen erstellen können.

$webServer = 'https://MyWebServer'
$port = 9090
$credName = 'MyCredential'
$user = 'contoso\MyUser'
$pwd = ConvertTo-SecureString -String 'P@$$w0rd' -AsPlainText -Force
$cred = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $user,$pwd

Set-SmaCredential -WebServiceEndpoint $webServer -port $port -Name $credName -Value $cred

Erstellen eines neuen PowerShell-Zertifikats mit Windows PowerShell in Service Management Automation

Die folgenden Beispielbefehle zeigen, wie ein neues Zertifikat durch Importieren einer Zertifikatsdatei erstellt werden kann.

$webServer = 'https://MyWebServer'
$port = 9090
$certName = 'MyCertificate'
$path = 'c:\certs\MyCertificate.pfx'
$certPwd = ConvertTo-SecureString -String 'P@$$w0rd' -AsPlainText -Force

Set-SmaCertificate -WebServiceEndpoint $webServer -port $port -Name $certName -Path $certPath -Password $certPwd

Verwenden von PowerShell-Anmeldeinformationen in einem Runbook

Rufen Sie PowerShell-Anmeldeinformationen in einem Runbook mit der Get-AutomationPSCredential -Aktivität ab. Dies gibt ein PSCredential-Objekt zurück, der im Workflow verwendet werden kann.

  • Die folgenden Beispielbefehle zeigen, wie Sie ein PowerShell-Anmeldeinformationsobjekt in einem Runbook verwenden. In diesem Beispiel werden Anmeldeinformationen mit einer InlineScript -Aktivität zum Ausführen einer Reihe von Befehlen mithilfe von alternativen Anmeldeinformationen verwendet.

    $myCredential = Get-AutomationPSCredential -Name 'MyCredential'
    InlineScript {
       <Commands>
    } -PSComputerName $ServerName -PSCredential $myCredential
    

Verwalten von SMA-Verbindungen

Eine Automation-Verbindung enthält die Informationen, die erforderlich sind, um aus einem Runbook eine Verbindung zu einem Dienst oder einer Anwendung herzustellen. Diese Informationen sind im Modul für die Anwendung definiert und umfassen in der Regel den Benutzernamen und das Kennwort sowie den Computer, mit dem eine Verbindung hergestellt werden soll. Möglicherweise sind auch weitere Informationen erforderlich, z. B. ein Zertifikat oder eine Abonnement-ID. Die Eigenschaften für eine Verbindung werden in der Automation-Datenbank sicher gespeichert und können im Runbook mit der Aktivität Get-AutomationConnection aufgerufen werden.

Windows PowerShell-Cmdlets

Sie können Anmeldeinformationen mit den Windows PowerShell-Cmdlets in der folgenden Tabelle erstellen und verwalten.

Cmdlets BESCHREIBUNG
Get-SmaConnection Ruft die Werte für jedes Feld in einer bestimmten Verbindung ab.
Get-SmaConnectionField Ruft die Felddefinitionen für einen bestimmten Verbindungstyp ab.
Get-SmaConnectionType Ruft die verfügbaren Verbindungstypen ab.
New-SmaConnection Erstellt eine neue Verbindung.
Remove-SmaConnection Entfernt eine vorhandene Verbindung.
Set-SmaConnectionFieldValue Legt den Wert für ein bestimmtes Feld einer vorhandenen Verbindung fest.

Runbookaktivitäten

Sie können mit den Aktivitäten in der folgenden Tabelle auf Verbindungen in einem Runbook zugreifen.

activities BESCHREIBUNG
Get-AutomationConnection Ruft eine Verbindung ab, die in einem Runbook verwendet werden soll.

Erstellen einer Verbindung im Verwaltungsportal

  1. Wählen Sie den Arbeitsbereich Automation aus.

  2. Klicken Sie im oberen Fensterbereich auf Ressourcen.

  3. Klicken Sie unten im Fenster auf Einstellung hinzufügen.

  4. Klicken Sie auf Verbindung hinzufügen.

  5. Wählen Sie in der Dropdownliste Verbindungstyp einen Verbindungstyp aus.

  6. Geben Sie im Feld Name einen Namen für die Verbindung ein.

  7. Klicken Sie auf den Pfeil nach rechts.

  8. Geben Sie einen Wert für jede Eigenschaft ein.

  9. Klicken Sie auf das Häkchen, um die Verbindung zu speichern.

Erstellen einer Verbindung mit Windows PowerShell

Die folgenden Beispielbefehle erstellen eine neue Virtual Machine Manager-Verbindung mit dem Namen „MyVMMConnection“. Beachten Sie, dass wir eine Hashtabelle zum Definieren der Eigenschaften der Verbindung verwenden. Das liegt daran, dass für unterschiedliche Verbindungstypen unterschiedliche Sätze von Eigenschaften erforderlich sind. Eine Verbindung vom anderen Typ verwendet einen anderen Satz von Feldwerten.

Weitere Informationen zu Hashtabellen finden Sie unter about_Hash_Tables (Informationen zu Hashtabellen).

$webServer = 'https://MyWebServer'
$port = 9090
$connectionName = 'MyConnection'
$fieldValues = @{"Username"="MyUser";"Password"="password";"ComputerName"="MyComputer"}
New-SmaConnection -WebServiceEndpoint $webServer -port $port -Name $connectionName -ConnectionTypeName "VirtualMachineManager" -ConnectionFieldValues $fieldValues

Verwenden einer Verbindung in einem Runbook

Verwenden Sie die Get-AutomationConnection -Aktivität, um eine Verbindung in einem Runbook zu verwenden. Diese Aktivität ruft die Werte der verschiedenen Felder in der Verbindung ab und gibt diese als Hashtabelle zurück, die dann mit den entsprechenden Befehlen im Runbook verwendet werden kann.

Weitere Informationen zu Hashtabellen finden Sie unter about_Hash_Tables (Informationen zu Hashtabellen).

Im folgenden Beispielcode wird gezeigt, wie eine Verbindung zum Bereitstellen des Computernamens und der Anmeldeinformationen für ein InlineScript -Block verwendet werden kann, der Befehle auf einem anderen Computer ausführt.

$con = Get-AutomationConnection -Name 'MyConnection'
$securepassword = ConvertTo-SecureString -AsPlainText -String $con.Password -Force
$cred = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $con.Username, $securepassword
InlineScript {
   <Commands>
} -PSComputerName $con.ComputerName -PSCredential $cred

Vereinfachen der Runbookentwicklung mit globalen Variablen

Automation-Variablen sind Werte, die allen Runbooks zur Verfügung stehen. Sie können sie über das Verwaltungsportal, mithilfe von Windows PowerShell oder in einem Runbook erstellen, ändern und abrufen. Automatisierungsvariablen sind in folgenden Szenarien hilfreich:

  • Gemeinsame Verwendung eines Werts zwischen mehreren Runbooks.

  • Gemeinsame Verwendung eines Werts zwischen mehreren Aufträgen aus dem gleichen Runbook.

  • Verwalten eines Wert aus dem Verwaltungsportal oder über die von Runbooks verwendete Windows PowerShell-Befehlszeile.

Automation-Variablen werden beibehalten, sodass sie auch bei einem Runbookfehler weiterhin verfügbar sind. Dadurch kann ein Wert von einem Runbook festgelegt werden und dann von einem anderen Runbook oder beim nächsten Ausführen von demselben Runbook verwendet werden.

Wenn eine Variable erstellt wird, müssen Sie den Datentyp aus der folgenden Liste angeben. Dadurch kann das entsprechende Steuerelement für den Variablenwert im Verwaltungsportal angezeigt werden. Sie können nur einen Wert des richtigen Typs einer Variablen zuweisen.

  • String

  • Integer

  • Boolean

  • Datetime

Beim Erstellen einer Variablen können Sie festlegen, dass diese verschlüsselt gespeichert wird. Wenn eine Variable verschlüsselt ist, wird sie sicher in der SMA-Datenbank gespeichert, und ihr Wert kann nicht vom Get-SmaVariable -Cmdlet abgerufen werden. Die einzige Möglichkeit zum Abrufen eines verschlüsselten Werts ist das Abrufen aus der Get-AutomationVariable -Aktivität in einem Runbook. Sie können mehrere Werte des definierten Typs in einer einzelnen Variable speichern, indem Sie eine Hashtabelle erstellen.

Windows PowerShell-Cmdlets

Sie können Variablen mit den Windows PowerShell-Cmdlets in der folgenden Tabelle erstellen und verwalten.

Cmdlets BESCHREIBUNG
Get-SmaVariable Ruft den Wert einer vorhandenen Variable ab.
Set-SmaVariable Erstellt eine neue Variable oder legt den Wert für eine vorhandene Variable fest.

Runbookaktivitäten

Sie können mit den Aktivitäten in der folgenden Tabelle auf Variablen in einem Runbook zugreifen.

activities BESCHREIBUNG
Get-AutomationVariable Ruft den Wert einer vorhandenen Variable ab.
Set-AutomationVariable Legt den Wert für eine vorhandene Variable fest.

Hinweis

Sie sollten im „–Name“-Parameter von „Get-AutomationVariable“ keine Variablen verwenden, da dies die Ermittlung von Abhängigkeiten zwischen Runbooks und Automation-Variablen erschweren kann.

Erstellen einer neuen Variablen im Verwaltungsportal

  1. Wählen Sie den Arbeitsbereich Automation aus.

  2. Klicken Sie im oberen Fensterbereich auf Ressourcen.

  3. Klicken Sie unten im Fenster auf Einstellung hinzufügen.

  4. Klicken Sie auf Variable hinzufügen.

  5. Wählen Sie in der Dropdownliste Typ einen Datentyp aus.

  6. Geben Sie im Feld Name einen Namen für die Variable ein.

  7. Klicken Sie auf den Pfeil nach rechts.

  8. Geben Sie einen Wert für die Variable ein, und geben Sie an, ob diese verschlüsselt werden soll.

  9. Klicken Sie auf das Häkchen, um die neue Variable zu speichern.

So erstellen Sie eine neue Variable mit Windows PowerShell

Das Set SmaVariable -Cmdlet erstellt eine neue Variable und legt den Wert für eine vorhandene Variable fest. Die folgenden Beispielbefehle zeigen, wie eine Variable vom Typ Zeichenfolge erstellt werden kann.

$web = 'https://MySMAServer'
$port = 9090

Set-SMAVariable -WebServiceEndpoint $web -Port $port -Name 'MyVariable' -Value 'My String'

Verwenden einer Variablen in einem Runbook

  • Der folgende Beispielcode veranschaulicht das Festlegen und Abrufen einer Variablen in einem Runbook. In diesem Beispiel wird davon ausgegangen, dass die Variablen vom Typ ganze Zahl mit den Namen „NumberOfIterations“ und „NumberOfRunnings“ sowie eine Variable vom Typ Zeichenfolge mit dem Namen „SampleMessage“ bereits erstellt wurden.

    $NumberOfIterations = Get-AutomationVariable -Name 'NumberOfIterations'
    $NumberOfRunnings = Get-AutomationVariable -Name 'NumberOfRunnings'
    $SampleMessage = Get-AutomationVariable -Name 'SampleMessage'
    Write-Output "Runbook has been run $NumberOfRunnings times."
    for ($i = 1; $i -le $NumberOfIterations; $i++) {
       Write-Output "$i`: $SampleMessage"
    }
    Set-AutomationVariable -Name NumberOfRunnings -Value (NumberOfRunnings += 1)
    

Nächste Schritte

Informieren Sie sich über das Erstellen eines Integrationsmoduls. Informieren Sie sich über das Erstellen von Automation-Runbooks.