For the complete documentation index, see llms.txt. This page is also available as Markdown.

Skripte

Sie können in PowerShell Universal PowerShell-Skripte erstellen, die manuell, nach einem Zeitplan oder bei Ereignissen innerhalb der Plattform ausgeführt werden. Sie werden auf der Festplatte gespeichert und in einem lokalen oder remote Git-Repository persistiert.

Die Konfigurationsdatei scripts.ps1 speichert die Skripteigenschaften.

Ein neues Skript hinzufügen

Um ein neues Skript hinzuzufügen, klicken Sie auf der Seite Automatisierung / Skripte auf die Schaltfläche Neues Skript. Für das Skript stehen verschiedene Einstellungen zur Verfügung.

Dialog Neues Skript

Skriptoptionen

Name

Dies ist der Name des Skripts, wie er in Universal Automation angezeigt wird. Dies ist auch der Name, der zum Persistieren des Skripts auf der Festplatte verwendet wird. Der Name muss innerhalb des aktuellen Ordners eindeutig sein.

Modul und Befehl

Siehe Module und Befehle unten.

Beschreibung

Diese Beschreibung des Skripts wird an verschiedenen Stellen in der UA-Benutzeroberfläche angezeigt und von den Universal-Cmdlets zurückgegeben.

Manuellen Aufruf deaktivieren

Dies verhindert, dass ein Skript manuell ausgeführt wird. Dies wird sowohl in der Benutzeroberfläche als auch im Webserver und in den Cmdlets erzwungen.

Max. Auftragsverlauf

Der maximale Auftragsverlauf definiert die Anzahl der Aufträge, die bei der Ausführung dieses Skripts gespeichert werden. Der Standardwert ist 100. Aufträge werden außerdem basierend auf der serverweiten Einstellung für die Aufbewahrungsdauer von Aufträgen auf der Seite Einstellungen / Allgemein bereinigt.

Fehleraktion

Die Fehleraktion ändert, wie das Skript reagiert, wenn ein Fehler auftritt. Standardmäßig werden terminierende und nicht terminierende Fehler ignoriert und das Skript ist immer erfolgreich. Sie können diese Einstellung auf „stop“ ändern, damit Skripte sofort fehlschlagen, wenn ein Fehler auftritt.

Wenn Sie Fehler direkt in den Fehlerbereich schreiben möchten, ohne die Behandlung des Skripts zu verändern (zum Beispiel in einem Ausnahmehandler), verwenden Sie Write-PSUError, um den Fehlerdatensatz auszugeben; er erscheint dann im Fehler-Tab des Auftrags.

Umgebung

Damit können Sie die erforderliche PowerShell-Umgebung für das Skript festlegen. Standardmäßig wird die serverweite Standard-PowerShell-Umgebung verwendet. PowerShell-Umgebungen werden beim ersten Start des Universal Servers automatisch gefunden oder aus der Datei environments.ps1 gelesen. Sie können Umgebungen auch auf der Seite Einstellungen / Umgebungen hinzufügen.

Timeout

Die Anzahl der Minuten, bevor das Skript abläuft. Der Standardwert 0 bedeutet, dass das Skript unbegrenzt läuft. Sobald ein Skript sein Timeout erreicht, wird es abgebrochen.

Pipeline verwerfen

Wenn diese Option aktiviert ist, wird die Speicherung der Pipeline-Ausgabe deaktiviert. Dies reduziert den CPU- und Speicheraufwand der Aufträge erheblich, das Skript schreibt jedoch weiterhin in die Informations-, Warn- und Fehlerströme.

Gleichzeitige Aufträge

Legt die maximale Anzahl gleichzeitiger Aufträge fest, mit denen das Skript ausgeführt werden kann. Der Standardwert ist 100.

Ausführungsrollen

Mit der Eigenschaft Ausführungsrollen können Sie festlegen, welche Rollen während der Ausführung des Skripts zugewiesen werden. Standardmäßig wird das Skript basierend auf den Rollen des Aufrufers ausgeführt. In einigen Szenarien, zum Beispiel bei der Verwendung von Secrets mit Rollen, möchten Sie möglicherweise zusätzliche Rollen bereitstellen, die der Aufrufer nicht besitzt. Wenn Skripte in einem Zeitplan ausgeführt werden, verfügen sie über keine Rollen. Wenn Sie diese über Ausführungsrollen bereitstellen, können Sie im geplanten Skript Secret-Variablen mit Rollen verwenden.

Ein Skript ausführen

Sie können ein Skript in der Benutzeroberfläche auf der Seite Automatisierung / Skripte ausführen, indem Sie auf Ausführen klicken oder auf Anzeigen und dann auf Ausführen. In jedem Fall erscheint der Ausführungsdialog, in dem Sie verschiedene Einstellungen für den Auftrag auswählen können.

Dialog Skript ausführen

Ein Skript mit Parametern ausführen

Mehr über Parameter erfahren Sie hier.

PowerShell Universal ermittelt automatisch die in Ihren Skripten definierten Parameter. Dabei wird statische Codeanalyse genutzt, um den Typ, Standardwerte und einige Validierungen zu bestimmen, die dann in der Benutzeroberfläche dargestellt werden.

Sie könnten zum Beispiel ein Skript mit den folgenden Parametern haben:

Das Ergebnis ist eine Reihe von Eingabeoptionen basierend auf den Parametertypen.

Dialog Skriptparameter

Ein Skript als anderer Benutzer ausführen

Die integrierte Umgebung unterstützt die Ausführung mit alternativen Anmeldeinformationen nicht.

Sie können Skripte als anderer Benutzer ausführen, indem Sie Secret-Variablen konfigurieren. PowerShell Universal verwendet das Microsoft Secret Management-Modul zur Integration mit Secret-Anbietern. Weitere Informationen zu Secrets finden Sie unter Variablen.

  1. Erstellen Sie eine neue PSCredential-Secret-Variable.

Klicken Sie auf Plattform \ Variablen und dann auf Secret erstellen. Wählen Sie den Variablentyp PSCredential aus. Geben Sie den Benutzernamen und das Passwort ein. Stellen Sie sicher, dass der Wert „Disable Run As Support“ nicht aktiviert ist.

Secret-Variable erstellen
  1. Führen Sie das Skript aus und wählen Sie die Anmeldeinformationen aus

Navigieren Sie zurück zu Automatisierung \ Skripte und klicken Sie auf die Schaltfläche Skript ausführen. Wählen Sie eine andere Umgebung als die integrierte Umgebung aus. Standardmäßig ist dies entweder PowerShell 7 oder Windows PowerShell 5.1.

Sie werden nun über das Dropdown-Menü Run As aufgefordert, die Anmeldeinformationen auszuwählen. Dort können Sie die Anmeldeinformationen im Ausführungsdialog auswählen.

Als Benutzer ausführen

Ein Skript auf einem anderen Computer ausführen

Sie können das Dropdown-Menü Computer verwenden, um andere Computer auszuwählen, auf denen ein Skript ausgeführt werden soll. Der Standardwert ist die Ausführung auf einem beliebigen verfügbaren Computer.

Ein Skript auf allen Computern ausführen

Sie können ein Skript auf allen Computern ausführen, indem Sie im Dropdown-Menü Computer die Option Alle Computer auswählen.

Ein Skript aus einer App mit Ausgabe ausführen

Wenn Sie ein Skript aus einer App ausführen und die Ausgabe während der Ausführung anzeigen möchten, verwenden Sie das folgende Beispiel. Es nutzt Invoke-PSUScript und Get-PSUJobOutput.

Lastverteilung

PowerShell Universal verwendet einen Lastverteilungsalgorithmus nach dem Prinzip des am wenigsten beschäftigten Servers. Wenn mehr als ein Server ein gültiges Ziel für einen Auftrag ist, wählt PowerShell Universal den Server mit der geringsten Anzahl laufender Aufträge aus.

Remoting

Sie können PowerShell-Remoting nutzen, indem Sie Invoke-Command verwenden. PowerShell Universal unterstützt die Verwendung von Enter-PSSession oder Import-PSSession nicht.

Kommentarbasierte Hilfe

Sie können kommentarbasierte Hilfe verwenden, um die Beschreibung, eine Zusammenfassung, parameterbasierte Hilfe und Links für Ihre Skripte zu definieren. Diese werden in der Benutzeroberfläche von PowerShell Universal angezeigt.

Das oben Genannte ergibt die folgende Benutzeroberfläche. Die Zusammenfassung wird als kurze Beschreibung angezeigt, und eine längere Beschreibung erscheint im Beschreibungsabschnitt. Links erscheinen unter der Beschreibung.

Zusätzliche Skriptinformationen

Module und Befehle

Befehle und Cmdlets, die in Modulen enthalten sind, können als Ziel für Skripte verwendet werden, anstatt das Skript direkt zu schreiben.

Nehmen wir an, wir haben ein Modul namens PSUModule, das die folgende Funktion enthält.

Es ist möglich, diese Funktion als Skript verfügbar zu machen, indem die folgende Syntax in scripts.ps1 verwendet wird.

Die Funktion erscheint genau wie andere Skripte in der Verwaltungskonsole. Parameter, Hilfetexte und andere PSU-Funktionen funktionieren genauso wie bei Skripten.

Statistiken

Anhand des Auftragsverlaufs eines Skripts stellt PowerShell Universal grundlegende Statistiken zur Ausführung des Skripts bereit. Dazu gehören die Erfolgsquote, die durchschnittliche Ausführungszeit sowie Aufschlüsselungen nach Umgebung, Benutzer und Computer der Ausführung.

Skriptstatistiken

Start-Job-Unterstützung

Es ist zwar möglich, Aufträge mit Invoke-PSUScript zu starten, dennoch kann es wünschenswert sein, einen Auftrag mit dem PowerShell-Cmdlet Start-Job zu starten. Bei Verwendung von Start-Job wird der Auftrag nicht bei PowerShell Universal registriert und die Ausführungsinformationen erscheinen nicht in der Auftragstabelle.

Die Umgebungen Integrated, PowerShell 7 und Windows PowerShell 5.1 sind nicht mit Start-Job kompatibel, da es sich um benutzerdefinierte PowerShell-Hosts handelt. Um Start-Job zu verwenden, müssen Sie eine benutzerdefinierte PowerShell-Umgebung konfigurieren. Klicken Sie auf Einstellungen \ Umgebungen. Klicken Sie anschließend auf Neue Umgebung erstellen. Benennen Sie die Umgebung, wählen Sie den Umgebungstyp Custom aus und geben Sie pwsh.exe als Pfad der ausführbaren Programmdatei an.

Sie können nun diese Umgebung verwenden, um das Cmdlet Start-Job auszuführen.

API

Zuletzt aktualisiert

War das hilfreich?