Powershell

    Inhaltsverzeichnis
    keine Gliederung

    Version seit 18:10, 22 Dez 2024

    zu dieser Version.

    Zurück zu Versionshistorie.

    Zeige aktuelle Version

    Der Operations Manager unterstützt den Einsatz der Powershell durch die folgenden Methoden:

    1. Berechnung von Registern im PreProzess

    Neben den VBScript Registern können auch Powershell-Register verwendet werden, um Inhalte von Registern zu bestimmen. Hierfür wird das HDBCom (COM+ hierarchische Datenbank) als $HDB im Registerscript zur Verfügung gestellt. Wie auch beim VBScript wird der Registerinhalt durch Zuweisung auf die Variable {Registername} am Ende bestimmt. Die Powershell-Register sind zur Berechnung bzw. Transformation von Eingans- in Ausgangsdaten gedacht. Der Sicherheitskontext ist der des Web-Servers bzw. des Kontos unter dem Application-Pool. Grundsätzlich wird ein verlassen der Maschine übers Netzwerk in Powershell-Registern daher nicht unterstützt!

    2. Modulfunktion 'NSOS.OS.RunShellRemote' (Powershell Befehl remote ausführen)

    Über die Modulfunktion kann ein Registerwert zur Laufzeit des PreProzess mit dem Inhalt eines Powershell-Scripts gefüllt werden bzw. ein Script ausgeführt werden. Das Register wird nach Ausführung mit dem Console-Output des Scripts gefüllt. Zur Weiterverarbeitung wird dies häufig in ein VBScript-Register eingefügt, daher werden vor dem Einfügen die Zeilenumbrüche durch Pipes '|' ersetzt. In Modulfunktionen kann grundsätzlich beliebiger Code auf dem Zielsystem zur Ausführung kommen. Der Kontext ist entweder der unter dem Zielhost in der HDB hinterlegte oder alternative Anmeldeinformationen, die als Objekt mit hinterlegten Anmeldeinformationen als HDB-Pfad angegeben werden können:

    3. Ausführen eines Powershell-Script in einer Elementar-Operation

    Die Elementaroperation 'NSOS.OS.OSExecShellRemote' (Powershell Befehl remote ausführen) ist in den Parametern identisch mit der Modulfunktion:

    Als Script wird immer ein Powershell-Script-Text angegeben, wie z.B.:

    $Result = get-process | select name, id
    foreach ($Line in $Result)
    {
     $Out += [string] ($Line.Name) + "~" + [string] ($Line.Id) +","
    }
    $Out = $Out.Trim(",")
    $Out

    Dieses Script berechnet z.B. die Quelle einer Prozess-Auflistung, die dann in einer Listbox angezeigt werden kann.

    Unterstützt von MindTouch Core