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
Wählen Sie den Arbeitsbereich Automation aus.
Klicken Sie im oberen Fensterbereich auf Ressourcen.
Klicken Sie unten im Fenster auf Einstellung hinzufügen.
Klicken Sie auf Anmeldeinformationen hinzufügen.
Wählen Sie in der Dropdownliste Anmeldeinformationstyp die Option PowerShell-Anmeldeinformationen aus.
Geben Sie im Feld Name einen Namen für die Anmeldeinformationen ein.
Klicken Sie auf den Pfeil nach rechts.
Geben Sie Werte für jede Eigenschaft ein.
Klicken Sie auf das Häkchen, um die Anmeldeinformationen zu speichern.
Erstellen eines Zertifikats im
Verwaltungsportal
Wählen Sie den Arbeitsbereich Automation aus.
Klicken Sie im oberen Fensterbereich auf Ressourcen.
Klicken Sie unten im Fenster auf Einstellung hinzufügen.
Klicken Sie auf Anmeldeinformationen hinzufügen.
Wählen Sie in der Dropdownliste Anmeldeinformationstyp die Option Zertifikat aus.
Geben Sie im Feld Name einen Namen für das Zertifikat ein.
Klicken Sie auf den Pfeil nach rechts.
Klicken Sie auf Datei suchen , und navigieren Sie zu einer CER- oder PFX-Datei.
Wenn Sie eine PFX-Datei ausgewählt haben, geben Sie das Kennwort für diese an.
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
Wählen Sie den Arbeitsbereich Automation aus.
Klicken Sie im oberen Fensterbereich auf Ressourcen.
Klicken Sie unten im Fenster auf Einstellung hinzufügen.
Klicken Sie auf Verbindung hinzufügen.
Wählen Sie in der Dropdownliste Verbindungstyp einen Verbindungstyp aus.
Geben Sie im Feld Name einen Namen für die Verbindung ein.
Klicken Sie auf den Pfeil nach rechts.
Geben Sie einen Wert für jede Eigenschaft ein.
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
Wählen Sie den Arbeitsbereich Automation aus.
Klicken Sie im oberen Fensterbereich auf Ressourcen.
Klicken Sie unten im Fenster auf Einstellung hinzufügen.
Klicken Sie auf Variable hinzufügen.
Wählen Sie in der Dropdownliste Typ einen Datentyp aus.
Geben Sie im Feld Name einen Namen für die Variable ein.
Klicken Sie auf den Pfeil nach rechts.
Geben Sie einen Wert für die Variable ein, und geben Sie an, ob diese verschlüsselt werden soll.
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.