Processes and Shell

Last modified by Sabrina V. on 2024/08/22 07:31

Execute batch-file command

Mit diesem Kommando können Sie entsprechende Befehle als Batch-Datei ausführen lassen. Tragen Sie unter dem Reiter Details dazu einfach die Befehle entsprechend ihrer Syntax in das Textfeld. Natürlich können Sie auch den Inhalt einer bestehenden Batch-Datei kopieren und hier einfügen.

Hinweis  Note:  

Beachten Sie, dass Sie beim Angeben der Befehle nur mit ASCII-Zeichen verwenden.

Für den Exit-Code und die Output-Zeilen können Sie auf bestehende Variablen zugreifen oder neue Variablen erstellen.

Auf dem Reiter Ausführen als können Sie abweichende Benutzeranmeldeinformationen angeben. Hierbei können Sie entweder ein spezifisches Konto (Benutzername und Passwort) angeben.

Um das Programm mit administrativen Rechten ausführen zu können, muss die Checkbox "Erhöhte Rechte anfordern" aktiviert werden. So ist gewährleistet, dass der impersonierte Prozess mit den höchsten verfügbaren Rechten ausgeführt wird. Zusätzlich muss der Prozess als Dienst und nicht im Userkontext ausgeführt werden. Hierzu wechseln Sie auf den Reiter Allgemein und wählen und den Ausführungsoptionen bei "Ausführen als" Dienst.

Hinweis  Note:  

Die Ausführung der EXE als Dienst erfordert, dass der Aufruf silent erfolgt. Mögliche Eingabefenster  und/ oder Bestätigungsdialoge werden nicht im Userkontext angezeigt und können entsprechend auch nicht bestätigt werden.

Shell execute command

Mit diesem Kommando ist es Ihnen möglich, ein Programm des Clients aufzurufen. Geben Sie dazu unter dem Tab "Details" den Dateinamen des aufzurufenden Programms, sowie seine Parameter an. Das Programm können Sie über den Browse–Button auswählen, falls es auf dem lokalen Rechner ebenfalls installiert ist. Geben Sie das Arbeitsverzeichnis des Programms an.

Um sicherzustellen, dass der Befehl auch auf 64-Bit Systemen fehlerfrei ausgeführt wird, aktivieren Sie die Checkbox Auf Windows x64 natives %WINDIR&\System32 verwenden.

Hinweis  Note:  

Es wird empfohlen bei "Dateiname" immer einen absoluten Pfad anzugeben. "Arbeitsordner" ist das Arbeitsverzeichnis, dass das unter "Dateiname" angegebene Programm verwendet. So kann das Programm, ausgehend vom "Arbeitsordner", relative Pfade nutzen.

5.8.3.2.22 - ShellExecuteCommand
Shell execute command

Im Bereich "Warteoptionen" können Sie zwischen zwei Optionen wählen. Bei Auswahl der Option "Auf Prozess warten" wird mit der Weiterführung gewartet, bis der aktuell ausgewählte Prozess beendet ist. Bei Auswahl der Option "Auf anderen Prozess warten" hingegen wird mit der Weiterführung gewartet, bis ein anderer Prozess beendet ist. Dieser Prozess muss angegeben werden. Beide Optionen können einzeln, aber auch gemeinsam genutzt werden. Gibt es den unter "Auf anderen Prozess warten" angegebenen Prozess mehrfach, so müssen alle Instanzen beendet werden. Ist der angegebene Prozess nicht gestartet, läuft die Anwendung direkt weiter.

Zusätzlich ist die Checkbox Fehlschlagen wenn Exit Code nicht 0 ist aktiviert. Dieser bewirkt, dass der Befehl fehlschlägt, wenn es sich z.B. um eine Softwareinstallation mit einem Softwarepaket handelt.

Unter "Erweiterte Optionen" steht im deaktivierten Eingabefeld der so genannte Aufrufstring. Über diesen wird das angegebene Programm mit den angegebenen Parametern gestartet. Falls Sie dem Aufruf noch etwas hinzufügen möchten, entsperren Sie den Aufrufstring und ändern diesen nach Ihren Wünschen. Alternativ ist bereits ein String hinterlegt, welcher das angegebene Programm über die Kommandoeingabe von Windows (cmd.exe) aufruft. !.FileName!? und ?!Parameters!? beinhalten dabei das angegebene Programm (Dateiname) bzw. die Parameter.

Hinweis  Note:  

Der Aufrufstring wird immer verwendet, unabhängig davon ob er gesperrt ist oder nicht.

Zuletzt geben Sie zwei Variablen an. In der ersten wird die Prozess ID gespeichert, während in der zweiten Variablen der Exit Code gespeichert wird. Der Exit Code beinhaltet den Exit Code der Ausführung.

Hinweis  Note:  

Solange auf den Prozess gewartet wird, liefert der Exit Code nur korrekte Werte.

Unter dem Tab "Verbindung" können Sie einen anderen Benutzer verwenden, falls der lokale Client–Benutzer nicht die erforderlichen Rechte besitzt, um auf das Programm zuzugreifen. Aktivieren Sie dazu die Checkbox und geben Sie den Benutzernamen sowie das zugehörige Passwort ein.

Hinweis  Note:  

Der "lokale Client-Benutzer" ist, außer in angepassten Umgebungen, immer System bzw. NT Authority\System. Diesem Account wird, aufgrund des fehlenden Passworts, bei neueren Freigaben standardmäßig der Zugriff auf Netzlaufwerke verwehrt, sodass die Angabe hier vorwiegend für den Zugriff auf UNC-Pfade von Interesse ist.

Auf dem Reiter Ausführen als können Sie abweichende Benutzeranmeldeinformationen angeben. Hierbei können Sie entweder ein spezifisches Konto (Benutzername und Passwort) angeben oder auf einen globalen Account zugreifen.

Um das Programm mit administrativen Rechten ausführen zu können, muss die Checkbox "Erhöhte Rechte anfordern" aktiviert werden. So ist gewährleistet, dass der impersonierte Prozess mit den höchsten verfügbaren Rechten ausgeführt wird. Zusätzlich muss der Prozess als Dienst und nicht im Userkontext ausgeführt werden. Hierzu wechseln Sie auf den Reiter Allgemein und wählen und den Ausführungsoptionen bei "Ausführen als" Dienst.

Hinweis  Note:  

Die Ausführung der EXE als Dienst erfordert, dass der Aufruf silent erfolgt. Mögliche Eingabefenster  und/ oder Bestätigungsdialoge werden nicht im Userkontext angezeigt und können entsprechend auch nicht bestätigt werden.

Execute PowerShell skript

Mit diesem Kommando ist es Ihnen möglich, ein PowerShell-Skript auszuführen. Dazu tragen Sie im Tab Details die entsprechenden Befehle in den Textbereich ein bzw. können diese auch aus einem bereits bestehenden Skript kopieren.

Werden innerhalb des PowerShellSkripts Dialoge angezeigt muss es impersoniert ausgeführt werden, da die Ausführung sonst im Systemkontext läuft und so für den angemeldeten Benutzer nicht sichtbar ist.

Die Checkbox Console anzeigen wird für einige administrative Dialoge benötigt bietet die Möglichkeit die PowerShell Console anzuzeigen. Diese Einstellung ist wichtig, wenn Sie Dialoge anzeigen wollen.

Geben Sie anschließend zwei Variablen an. Die erste Variable speichert den Exit Code, welcher verwendet werden kann, um Hinweise zur Ausführung zu geben. Standardmäßig lautet der Exit Code jedes Skriptes 0, sofern dieser nicht vom Entwickler des Skriptes geändert wird. Die zweite Variable speichert die Ausgaben des Skripts.

Hinweis  Note:  

Das Skript leert vor der eigentlichen Ausführung den Wert der Ausgabevariable, auch wenn das Skript keine Ausgabe besitzt oder nur einen leeren String ausgibt.

Auf dem Reiter Ausführen als können Sie abweichende Benutzeranmeldeinformationen angeben. Hierbei können Sie entweder ein spezifisches Konto (Benutzername und Passwort) angeben oder auf einen globalen Account zugreifen.

Get process ID

Mit diesem Kommando können Sie sich die Prozess ID eines bestimmten Prozesses holen. Dazu können Sie unter dem Tab Details einen Dateinamen oder einen Prozess angeben, nach welchem gesucht wird. Über die entsprechenden Browse – Buttons öffnet sich ein Fenster, in welchem Sie entweder eine Datei (wie ein normaler Auswahldialog) oder einen aktuell laufenden Prozess auswählen können.

Get process ID
Get process ID

Anhand dieser Auswahl wird auf dem Client nach einem entsprechenden Prozess gesucht und die ID zurückgegeben. Zum Speichern der ID dient eine anzugebende Variable.

Kill process

Mit diesem Kommando können Sie einen Prozess sofort beenden. Geben Sie dazu unter dem Tab Details einen Dateinamen, einen Prozess oder die entsprechende PID (Prozess ID) an. Über die beiden Browse–Buttons können Sie eine Datei oder einen Prozess auswählen. Bei der Dateiauswahl wird ein Auswahldialog geöffnet um eine Datei auszuwählen. Ein Prozess, welcher auf dieser Datei basiert wird später beendet. Bei der Auswahl eines Prozesses werden in einem Dialog alle aktuell laufenden Prozesse aufgelistet. Gleiche Prozesse werden später beendet.

Einige Prozesse lassen sich allerdings nicht so einfach beenden. Dabei hilft die Option Beenden des Dienstes erzwingen und Anwendungen debuggen. Falls mehr als ein Prozess existiert (z.B. svchost.exe), lässt sich weiterhin ein Fehler ausgeben.

Wait for process

Mit diesem Kommando können Sie auf die Beendigung eines Prozesses warten. Geben Sie dazu unter dem Tab Details einen Dateinamen, einen Prozess oder die entsprechende PID (Prozess ID) an. Über die beiden Browse – Button können Sie eine Datei oder einen Prozess auswählen. Bei der Dateiauswahl wird ein normaler Auswahldialog geöffnet um eine Datei auszuwählen. Auf einen Prozess, welcher auf dieser Datei basiert wird später gewartet. Bei der Auswahl eines Prozesses werden in einem Dialog alle aktuell laufenden Prozesse aufgelistet. Auf gleiche Prozesse wird später gewartet. Falls mehr als ein Prozess existieren (z.B. svchost.exe), lässt sich weiterhin ein Fehler ausgeben.

Sollte auf einen Prozess länger gewartet werden, als die unter Beenden eingestellte Zeit (in Sekunden), so schlägt das Kommando fehl und bricht ab.

© Aagon GmbH 2024
Besuchen Sie unsere neue Aagon-Community