Vereinfachen der Service Management Automation-Runbookerstellung mit globalen Ressourcen

Wichtig

Diese Version von Service Management Automation (SMA) hat das Ende des Supports erreicht. Es wird empfohlen, ein Upgrade auf SMA 2022 durchzuführen.

Globale Ressourcen sind für alle Runbooks in einer Automation-Umgebung verfügbar. 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 sind für die Verwendung in Runbooks in Service Management Automation verfügbar, aber die Aktivitäten werden empfohlen, da sie effizienter sind, da sie nicht über den Automation-Webdienst arbeiten 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 die Aktivitäten in der folgenden Tabelle verwenden, um auf die Anmeldeinformationen in einem Runbook zuzugreifen.

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. Wählen Sie oben im Fenster Ressourcen aus.

  3. Wählen Sie unten im Fenster Einstellung hinzufügen aus.

  4. Wählen Sie Anmeldeinformationen hinzufügen aus.

  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. Wählen Sie den nach rechts zeigenden Pfeil aus.

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

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

Erstellen eines Zertifikats im

Verwaltungsportal

  1. Wählen Sie den Arbeitsbereich Automation aus.

  2. Wählen Sie oben im Fenster Ressourcen aus.

  3. Wählen Sie unten im Fenster Einstellung hinzufügen aus.

  4. Wählen Sie Anmeldeinformationen hinzufügen aus.

  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. Wählen Sie den nach rechts zeigenden Pfeil aus.

  8. Wählen Sie Nach Datei suchen aus, 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. Aktivieren Sie 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. Wählen Sie oben im Fenster Ressourcen aus.

  3. Wählen Sie unten im Fenster Einstellung hinzufügen aus.

  4. Wählen Sie Verbindung hinzufügen aus.

  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. Wählen Sie den nach rechts zeigenden Pfeil aus.

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

  9. Aktivieren Sie 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“.

Hinweis

Wir verwenden eine Hashtabelle, um die Eigenschaften der Verbindung zu definieren. 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 sie 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

Automatisierungsvariablen sind Werte, die für alle Runbooks verfügbar sind. 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 auch ein Wert von einem Runbook festgelegt werden, das dann von einem anderen Runbook verwendet wird oder bei der nächsten Ausführung vom gleichen Runbook verwendet wird.

Wenn eine Variable erstellt wird, müssen Sie den Datentyp aus der folgenden Liste angeben. Dies ist so, dass das Verwaltungsportal das entsprechende Steuerelement für den Variablenwert anzeigen kann. 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 aus dem Cmdlet Get-SmaVariable 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 Variablen 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. Wählen Sie oben im Fenster Die Option Assets aus.

  3. Wählen Sie unten im Fenster Einstellung hinzufügen aus.

  4. Wählen Sie Variable hinzufügen aus.

  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. Wählen Sie den nach rechts zeigenden Pfeil aus.

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

  9. Aktivieren Sie 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 Variablen vom Typ Integer 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