PsExec v2.34

Von Mark Russinchef

Veröffentlicht: 25. Mai 2021

HerunterladenVon PsTools herunterladen(3,5 MB)

Einführung

Hilfsprogramme wie Telnet und Remotesteuerungsprogramme wie Symantec PC Anywhere ermöglichen es Ihnen, Programme auf Remotesystemen auszuführen. Sie können jedoch eine GroßeInrichterung sein und erfordern, dass Sie Clientsoftware auf den Remotesystemen installieren, auf die Sie zugreifen möchten. PsExec ist ein leichter Telnet-Ersatz, mit dem Sie Prozesse auf anderen Systemen mit vollständiger Interaktivität für Konsolenanwendungen ausführen können, ohne clientsoftware manuell installieren zu müssen. Zu den leistungsstärksten Verwendungsmöglichkeiten von PsExec gehören das Starten interaktiver Eingabeaufforderungen auf Remotesystemen und Remoteaktivierungstools wie IpConfig, die andernfalls nicht in der Lage sind, Informationen zu Remotesystemen anzeigen zu können.

Hinweis: Einige Virenschutzscanner melden, dass mindestens eines der Tools mit einem "Remoteadministrator"-Virus infiziert ist. Keines der PsTools enthält Viren, aber sie wurden von Viren verwendet, weshalb sie Virenbenachrichtigungen auslösen.

Installation

Kopieren Sie einfach PsExec in den Pfad ihrer ausführbaren Datei. Wenn Sie "psexec" eingeben, wird dessen Verwendungssyntax angezeigt.

Verwenden von %%amp;quot;PsExec%%amp;quot;

Weitere Informationen zur erweiterten Verwendung von PsExec finden Sie im Juli 2004-Issue von Windows IT Pro Magazine für Mark.

Syntax:

psexec [\\computer[,computer2[,...] | @file]][-u user [-p psswd][-n s][-r servicename][-h][-l][-s|-e][-x][-i [session]][-c executable [-f|-v]][-w directory][-d][-<priority>][-a n,n,...] cmd [arguments]
Parameter BESCHREIBUNG
-a Separate Prozessoren, auf denen die Anwendung mit Kommas ausgeführt werden kann, wobei 1 die am wenigsten nummerierte CPU ist. Um die Anwendung beispielsweise auf CPU 2 und CPU 4 ausführen zu können, geben Sie Folgendes ein: "-a 2,4"
-c Kopieren Sie die angegebene ausführbare Datei zur Ausführung in das Remotesystem. Wenn Sie diese Option weglassen, muss sich die Anwendung im Systempfad des Remotesystems finden.
-d Warten Sie nicht, bis der Prozess beendet wird (nicht interaktiv).
-e Das Profil des angegebenen Kontos wird nicht geladen.
-f Kopieren Sie das angegebene Programm, auch wenn die Datei bereits auf dem Remotesystem vorhanden ist.
-i Führen Sie das Programm so aus, dass es mit dem Desktop der angegebenen Sitzung auf dem Remotesystem interagiert. Wenn keine Sitzung angegeben ist, wird der Prozess in der Konsolensitzung ausgeführt. Dieses Flag ist erforderlich, wenn Versucht wird, Konsolenanwendungen interaktiv (mit umgeleiteter Standard-E/A) ausführen zu können.
-h Wenn das Zielsystem Vista oder höher ist, wird der Prozess mit dem Token mit erhöhten Rechten des Kontos ausgeführt, sofern verfügbar.
-l Führen Sie den Prozess als eingeschränkter Benutzer aus (entfernt die Gruppe Administratoren und lässt nur berechtigungen zu, die der Gruppe Benutzer zugewiesen sind). Auf Windows Vista wird der Prozess mit niedriger Integrität ausgeführt.
-n Gibt ein Timeout in Sekunden an, das eine Verbindung mit Remotecomputern herstellen soll.
-p Gibt ein optionales Kennwort für den Benutzernamen an. Wenn Sie dies weglassen, werden Sie aufgefordert, ein ausgeblendetes Kennwort einzugeben.
-r Gibt den Namen des Remotediensts an, mit dem erstellt oder mit dem interagiert werden soll.
-s Führen Sie den Remoteprozess im Systemkonto aus.
-u Gibt einen optionalen Benutzernamen für die Anmeldung beim Remotecomputer an.
-v Kopieren Sie die angegebene Datei nur, wenn sie über eine höhere Versionsnummer verfügt oder neuer als die auf dem Remotesystem ist.
-w Legen Sie das Arbeitsverzeichnis des Prozesses fest (relativ zum Remotecomputer).
-x Zeigen Sie die Benutzeroberfläche auf dem sicheren Winlogon-Desktop an (nur lokales System).
-priority Gibt -low, -belownormal, -abovenormal, -high oder -realtime an, um den Prozess mit einer anderen Priorität ausführen zu können. Verwenden Sie -background, um unter Vista mit niedriger Arbeitsspeicher- und E/A-Priorität ausgeführt zu werden.
Computer Führen Sie PsExec an, um die Anwendung auf dem oder den angegebenen Remotecomputern ausführen zu können. Wenn Sie den Computernamen weglassen, führt PsExec die Anwendung auf dem lokalen System aus. Wenn Sie einen Platzhalter (\*) angeben, führt PsExec den Befehl auf allen Computern in der aktuellen Domäne aus.
@file PsExec führt den Befehl auf jedem der in der Datei aufgeführten Computer aus.
cmd Name der auszuführenden Anwendung.
Argumente Zu übergebende Argumente (beachten Sie, dass Dateipfade absolute Pfade auf dem Zielsystem sein müssen).
-accepteula Dieses Flag unterdrückt die Anzeige des Lizenzdialogfelds.

Sie können Anwendungen, deren Namen Leerzeichen enthalten, in Anführungszeichen umschließen, z. B.

psexec \\marklap "c:\\long name app.exe"

Die Eingabe wird nur an das Remotesystem übergeben, wenn Sie die EINGABETASTE drücken. Durch Drücken von STRG+C wird der Remoteprozess beendet.

Wenn Sie einen Benutzernamen weglassen, wird der Prozess im Kontext Ihres Kontos auf dem Remotesystem ausgeführt, hat aber keinen Zugriff auf Netzwerkressourcen (da er die Identität an sich anzieht). Geben Sie einen gültigen Benutzernamen in der Syntax an, wenn der Remoteprozess Zugriff auf Netzwerkressourcen erfordert oder Domain\User in einem anderen Konto ausgeführt werden soll. Beachten Sie, dass das Kennwort und der Befehl während der Übertragung an das Remotesystem verschlüsselt werden.

Fehlercodes, die von PsExec zurückgegeben werden, sind spezifisch für die anwendungen, die Sie ausführen, und nicht für PsExec.

Beispiele

Dieser Artikel, den ich geschrieben habe, beschreibt die Funktionsweise von PsExec und gibt Tipps zur Verwendung:

Der folgende Befehl startet eine interaktive Eingabeaufforderung auf \\marklap :

psexec -i \\marklap cmd

Dieser Befehl führt IpConfig auf dem Remotesystem mit dem Switch aus /all und zeigt die resultierende Ausgabe lokal an:

psexec -i \\marklap ipconfig /all

Dieser Befehl kopiert das Programm test.exe auf das Remotesystem und führt es interaktiv aus:

psexec -i \\marklap -c test.exe

Geben Sie den vollständigen Pfad zu einem Programm an, das bereits auf einem Remotesystem installiert ist, wenn es sich nicht im Pfad des Systems befindet:

psexec -i \\marklap c:\bin\test.exe

Führen Sie Regedit interaktiv im Systemkonto aus, um den Inhalt der SAM- und SECURITY-Schlüssel anzuzeigen:

psexec -i -d -s c:\windows\regedit.exe

Verwenden Sie Internet Explorer Befehl, um die Anwendung wie mit eingeschränkten Benutzerberechtigungen auszuführen:

psexec -l -d "c:\program files\internet explorer\iexplore.exe"

HerunterladenVon PsTools herunterladen(3,5 MB)

Pstools

PsExec ist Teil eines wachsenden Kits von Sysinternals-Befehlszeilentools, die bei der Verwaltung lokaler und Remotesysteme mit dem Namen PsTools helfen.

Wird ausgeführt unter:

  • Client: Windows Vista und höher.
  • Server: Windows Server 2008 und höher.