Vereinfachen der Erstellung des Runbooks für die Dienstverwaltungsautomatisierung mit globalen Ressourcen
Globale Ressourcen sind für alle Runbooks in einer Automatisierungsumgebung verfügbar. Sie erstellen und konfigurieren sie entweder mithilfe des Automatisierungsarbeitsbereichs 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 RunbookConstructs-Modul abrufen und festlegen. Die Windows PowerShell-Cmdlets sind für die Verwendung in Runbooks in der Dienstverwaltungsautomatisierung verfügbar. Die Aktivitäten werden jedoch empfohlen, da sie effizienter sind, da sie nicht über den Automatisierungswebdienst arbeiten müssen.
Abrufen oder Festlegen von Anmeldeinformationen
Eine Automatisierungsanmeldeinformation ist entweder ein Benutzername und ein Kennwort, das mit Windows PowerShell-Befehlen oder einem Zertifikat verwendet werden kann, das auf den Server hochgeladen wird. Die Eigenschaften für anmeldeinformationen werden sicher in der Automatisierungsdatenbank gespeichert und können im Runbook entweder mit der Get-AutomationPSCredential - oder Get-AutomationCertificate-Aktivität auf das Runbook zugegriffen werden.
PowerShell zum Verwalten von Anmeldeinformationen
Sie können die Cmdlets in der folgenden Tabelle verwenden, um Anmeldeinformationen mit Windows PowerShell in der Dienstverwaltungsautomatisierung zu erstellen und zu verwalten.
Cmdlets | Beschreibung |
---|---|
Get-SmaCertificate | Ruft ein Automatisierungszertifikat ab. |
Get-SmaCredential | Ruft eine PowerShell-Automatisierungs-Anmeldeinformationen ab. |
Remove-SmaCertificate | Entfernt ein Automatisierungszertifikat. |
Remove-SmaCredential | Entfernt eine PowerShell-Automatisierungs-Anmeldeinformationen. |
Set-SmaCertificate | Erstellt ein neues Zertifikat oder legt die Eigenschaften für ein vorhandenes Zertifikat fest, einschließlich des Hochladens der Zertifikatdatei und festlegen des Kennworts für eine PFX-Datei. |
Set-SmaCredential | Erstellt eine neue Automatisierungs-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.
Aktivitäten | Beschreibung |
---|---|
Get-AutomationCertificate | Ruft ein Zertifikat ab, das in einem Runbook verwendet werden soll. |
Get-AutomationPSCredential | Ruft einen Benutzernamen/ein Kennwort für die Verwendung in einem Runbook ab. |
Hinweis
Sie sollten die Verwendung von Variablen im "Name-Parameter von Get-AutomationPSCredential und Get-AutomationCertificate vermeiden, da dadurch die Ermittlung von Abhängigkeiten zwischen Runbooks und Automatisierungsvariablen erschwert werden kann.
Erstellen einer PowerShell-Anmeldeinformationen im Verwaltungsportal
Wählen Sie den Automatisierungsarbeitsbereich aus.
Wählen Sie oben im Fenster "Objekte" aus.
Wählen Sie unten im Fenster " Einstellung hinzufügen" aus.
Wählen Sie "Anmeldeinformationen hinzufügen" aus.
Wählen Sie in der Dropdownliste Anmeldeinformationstyp die Option PowerShell-Anmeldeinformationen aus.
Geben Sie im Feld "Name" einen Namen für die Anmeldeinformationen ein.
Wählen Sie den nach rechts zeigenden Pfeil aus.
Geben Sie die Werte für jede Eigenschaft ein.
Aktivieren Sie das Häkchen, um die Anmeldeinformationen zu speichern.
Erstellen eines Zertifikats im
Verwaltungsportal
Wählen Sie den Automatisierungsarbeitsbereich aus.
Wählen Sie oben im Fenster "Objekte" aus.
Wählen Sie unten im Fenster " Einstellung hinzufügen" aus.
Wählen Sie "Anmeldeinformationen hinzufügen" aus.
Wählen Sie in der Dropdownliste Anmeldeinformationstyp die Option Zertifikat.
Geben Sie im Feld "Name" einen Namen für das Zertifikat ein.
Wählen Sie den nach rechts zeigenden Pfeil aus.
Wählen Sie "Nach Datei suchen" aus, und navigieren Sie zu einer .cer- oder PFX-Datei.
Wenn Sie eine PFX-Datei ausgewählt haben, geben Sie ihr Kennwort an.
Aktivieren Sie das Häkchen, um das Zertifikat zu speichern.
Erstellen einer Anmeldeinformation mit PowerShell
Die folgenden Beispielbefehle zeigen, wie Sie eine neue Anmeldeinformationen erstellen.
$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
So erstellen Sie ein neues PowerShell-Zertifikat mit Windows PowerShell in der Dienstverwaltungsautomatisierung
Die folgenden Beispielbefehle zeigen, wie Sie ein neues Zertifikat erstellen, indem Sie eine Zertifikatdatei importieren.
$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
Sie rufen eine PowerShell-Anmeldeinformationen in einem Runbook mit der Get-AutomationPSCredential-Aktivität ab. Dadurch wird ein PSCredential-Objekt zurückgegeben, das Sie im Workflow verwenden können.
Die folgenden Beispielbefehle zeigen, wie Sie ein PowerShell-Anmeldeinformationsobjekt in einem Runbook verwenden. In diesem Beispiel werden die Anmeldeinformationen mit einer InlineScript-Aktivität verwendet, um eine Reihe von Befehlen mit alternativen Anmeldeinformationen auszuführen.
$myCredential = Get-AutomationPSCredential -Name 'MyCredential' InlineScript { <Commands> } -PSComputerName $ServerName -PSCredential $myCredential
Verwalten von SMA-Verbindungen
Eine Automatisierungsverbindung enthält die informationen, die zum Herstellen einer Verbindung mit einem Dienst oder einer Anwendung aus einem Runbook erforderlich sind. Diese Informationen werden im Modul für die Anwendung definiert und enthalten in der Regel Informationen wie Benutzername und Kennwort sowie den Computer, mit dem eine Verbindung hergestellt werden soll. Andere Informationen können auch erforderlich sein, z. B. ein Zertifikat oder eine Abonnement-ID. Die Eigenschaften für eine Verbindung werden sicher in der Automatisierungsdatenbank gespeichert und können im Runbook mit der Get-AutomationConnection-Aktivität 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 auf Verbindungen in einem Runbook mit den Aktivitäten in der folgenden Tabelle zugreifen.
Aktivitäten | Beschreibung |
---|---|
Get-AutomationConnection | Ruft eine Verbindung ab, die in einem Runbook verwendet werden soll. |
Erstellen einer Verbindung im Verwaltungsportal
Wählen Sie den Automatisierungsarbeitsbereich aus.
Wählen Sie oben im Fenster "Objekte" aus.
Wählen Sie unten im Fenster " Einstellung hinzufügen" aus.
Wählen Sie Verbindung hinzufügen aus.
Wählen Sie im Dropdownmenü "Verbindungstyp " einen Verbindungstyp aus.
Geben Sie im Feld "Name" einen Namen für die Verbindung ein.
Wählen Sie den nach rechts zeigenden Pfeil aus.
Geben Sie einen Wert für jede Eigenschaft ein.
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. Dies liegt daran, dass unterschiedliche Verbindungstypen unterschiedliche Eigenschaftengruppen erfordern. Eine Verbindung eines anderen Typs würde einen anderen Satz von Feldwerten verwenden.
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).
Der folgende Beispielcode zeigt, wie Sie eine Verbindung verwenden, um den Computernamen und die Anmeldeinformationen für einen InlineScript-Block bereitzustellen, 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, Windows PowerShell oder aus einem Runbook erstellen, ändern und abrufen. Automatisierungsvariablen sind in folgenden Szenarien hilfreich:
Freigeben eines Werts zwischen mehreren Runbooks.
Verwenden Sie einen Wert zwischen mehreren Aufträgen aus demselben Runbook.
Verwalten Sie einen Wert aus dem Verwaltungsportal oder über die Windows PowerShell-Befehlszeile, die von Runbooks verwendet wird.
Automatisierungsvariablen werden beibehalten, sodass sie auch dann weiterhin verfügbar sind, wenn das Runbook fehlschlägt. Dadurch kann auch ein Wert von einem Runbook festgelegt werden, das dann von einem anderen verwendet wird oder von demselben Runbook beim nächsten Ausführen 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 einer Variablen nur einen Wert des richtigen Typs zuweisen.
String
Ganzzahl
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, wie ein verschlüsselter Wert abgerufen werden kann, ist 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 auf Variablen in einem Runbook mit den Aktivitäten in der folgenden Tabelle zugreifen.
Aktivitäten | Beschreibung |
---|---|
Get-AutomationVariable | Ruft den Wert einer vorhandenen Variable ab. |
Set-AutomationVariable | Legt den Wert für eine vorhandene Variable fest. |
Hinweis
Sie sollten die Verwendung von Variablen im "Name-Parameter von Get-AutomationVariable" vermeiden, da dadurch die Ermittlung von Abhängigkeiten zwischen Runbooks und Automatisierungsvariablen erschwert werden kann.
Erstellen einer neuen Variablen im Verwaltungsportal
Wählen Sie den Automatisierungsarbeitsbereich aus.
Wählen Sie oben im Fenster "Objekte" aus.
Wählen Sie unten im Fenster " Einstellung hinzufügen" aus.
Wählen Sie "Variable hinzufügen" aus.
Wählen Sie im Dropdownmenü "Typ " einen Datentyp aus.
Geben Sie im Feld "Name" einen Namen für die Variable ein.
Wählen Sie den nach rechts zeigenden Pfeil aus.
Geben Sie einen Wert für die Variable ein, und geben Sie an, ob sie verschlüsselt werden soll.
Aktivieren Sie das Häkchen, um die neue Variable zu speichern.
So erstellen Sie eine neue Variable mit Windows PowerShell
Das Cmdlet Set-SmaVariable erstellt beide eine neue Variable und legt den Wert für eine vorhandene Variable fest. Die folgenden Beispielbefehle zeigen, wie eine Variable vom Typ Zeichenfolge erstellt wird.
$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 zeigt, wie eine Variable in einem Runbook festgelegt und abgerufen wird. In diesem Beispiel wird davon ausgegangen, dass Variablen vom Typ "Integer" mit dem Namen "NumberOfIterations" und "NumberOfRunnings" und einer Variablen vom Typ "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
- Informationen zum Erstellen eines Integrationsmoduls.
- Informationen zum Erstellen von Automatisierungsrunbooks.
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Tickets als Feedbackmechanismus für Inhalte auslaufen lassen und es durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unter:Einreichen und Feedback anzeigen für