PsExec v2.40

Von Mark Russinovich

Veröffentlicht: 19. Juli 2022

Herunterladenvon PsTools(3,5 MB)

Einführung

Hilfsprogramme wie Telnet und Remotesteuerungsprogramme wie symantec's PC Anywhere ermöglichen Es Ihnen, Programme auf Remotesystemen auszuführen, sie können jedoch ein Schmerz sein, um Clientsoftware auf den Remotesystemen einzurichten und zu benötigen, auf die Sie zugreifen möchten. PsExec ist eine leichte Telnet-Ersatzlösung, mit der Sie Prozesse auf anderen Systemen ausführen können, die mit vollständiger Interaktivität für Konsolenanwendungen abgeschlossen sind, ohne die Clientsoftware manuell installieren zu müssen. PsExecs leistungsfähigste Verwendung umfasst das Starten interaktiver Befehlszeilen auf Remotesystemen und Remoteaktivierungstools wie IpConfig, die andernfalls keine Informationen zu Remotesystemen anzeigen können.

Hinweis: Einige Anti-Virus-Scanner melden, dass eine oder mehrere der Tools mit einem "Remoteadministrator"-Virus infiziert sind. Keine der PsTools enthalten Viren, aber sie wurden von Viren verwendet, weshalb sie Virusbenachrichtigungen auslösen.

Installation

Kopieren Sie PsExec einfach auf Ihren ausführbaren Pfad. Das Eingeben von "psexec" zeigt seine Verwendungssyntax an.

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

Lesen Sie die Ausgabe vom Juli 2004 des Windows IT Pro Magazinsfür Mark , der die erweiterte Verwendung von PsExec behandelt.

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 niedrigste nummerierte CPU ist. Geben Sie beispielsweise zum Ausführen der Anwendung auf CPU 2 und CPU 4 folgendes ein: "-a 2,4"
-c Kopieren Sie die angegebene ausführbare Datei in das Remotesystem für die Ausführung. Wenn Sie diese Option auslassen, muss sich die Anwendung im Systempfad im Remotesystem befinden.
-d Warten Sie nicht, bis der Prozess beendet werden soll (nicht interaktiv).
-e Lädt das Profil des angegebenen Kontos nicht.
-f Kopieren Sie das angegebene Programm auch dann, wenn die Datei bereits auf dem Remotesystem vorhanden ist.
-i Führen Sie das Programm aus, damit sie mit dem Desktop der angegebenen Sitzung im Remotesystem interagiert. Wenn keine Sitzung angegeben wird, wird der Prozess in der Konsolensitzung ausgeführt. Diese Kennzeichnung ist erforderlich , wenn Sie versuchen, Konsolenanwendungen interaktiv (mit umgeleitetem Standard-IO) auszuführen.
-h Wenn das Zielsystem Vista oder höher ist, wird der Prozess mit dem erhöhten Token des Kontos ausgeführt, falls verfügbar.
-l Führen Sie den Prozess als eingeschränkter Benutzer aus (entfernt die Gruppe "Administratoren", und ermöglicht nur Berechtigungen, die der Gruppe "Benutzer" zugewiesen sind). Unter Windows Vista wird der Prozess mit niedriger Integrität ausgeführt.
-n Gibt Timeout in Sekunden an, die mit Remotecomputern verbunden sind.
-p Gibt optionales Kennwort für den Benutzernamen an. Wenn Sie dies auslassen, werden Sie aufgefordert, ein ausgeblendetes Kennwort einzugeben.
-r Gibt den Namen des Remotediensts an, mit dem sie erstellen oder interagieren möchten.
-s Führen Sie den Remoteprozess im Systemkonto aus.
-u Gibt optionalen Benutzernamen für die Anmeldung bei Remotecomputern an.
-v Kopieren Sie die angegebene Datei nur, wenn sie über eine höhere Versionsnummer verfügt oder neuer ist als die auf dem Remotesystem.
-w Legen Sie das Arbeitsverzeichnis des Prozesses (relativ zum Remotecomputer) fest.
-x Zeigen Sie die Benutzeroberfläche auf dem sicheren Desktop von Winlogon (nur lokales System) an.
-Priorität Gibt -low, -belownormal, -abovenormal, -high oder -realtime an, um den Prozess auf einer anderen Priorität auszuführen. Verwenden Sie "-Hintergrund", um bei Vista bei niedriger Speicher- und I/O-Priorität ausgeführt zu werden.
Computer Direct PsExec, um die Anwendung auf dem angegebenen Remotecomputer oder Computern auszuführen. Wenn Sie den Computernamen auslassen, führt PsExec die Anwendung im lokalen System aus, und wenn Sie eine Wildcard (\\*) angeben, führt PsExec den Befehl auf allen Computern in der aktuellen Domäne aus.
@file PsExec führt den Befehl auf jedem der computer aus, die in der Datei aufgeführt sind.
cmd Name der Anwendung, die ausgeführt werden soll.
Argumente Argumente, die übergeben werden sollen (beachten Sie, dass Dateipfade absolute Pfade im Zielsystem sein müssen).
-accepteula Dieses Flag unterdrückt die Anzeige des Lizenzdialogfelds.

Sie können Anwendungen einschließen, die Leerzeichen in ihrem Namen mit Anführungszeichen enthalten, z. B.

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

Die Eingabe wird nur an das Remotesystem übergeben, wenn Sie die EINGABETASTE drücken. Beim Eingeben von STRG-C wird der Remoteprozess beendet.

Wenn Sie einen Benutzernamen auslassen, wird der Prozess im Kontext Ihres Kontos auf dem Remotesystem ausgeführt, hat jedoch keinen Zugriff auf Netzwerkressourcen (da er imitiert wird). Geben Sie einen gültigen Benutzernamen in der Domain\User Syntax an, wenn der Remoteprozess Zugriff auf Netzwerkressourcen erfordert oder in einem anderen Konto ausgeführt werden soll. Beachten Sie, dass das Kennwort und der Befehl in der Übertragung an das Remotesystem verschlüsselt sind.

Fehlercodes, die von PsExec zurückgegeben werden, sind speziell für die von Ihnen ausgeführten Anwendungen, nicht PsExec.

Beispiele

Dieser Artikel, den ich geschrieben habe , beschreibt, wie PsExec funktioniert und Tipps zur Verwendung gibt:

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

psexec -i \\marklap cmd

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

psexec -i \\marklap ipconfig /all

Dieser Befehl kopiert das Programm test.exe in das Remotesystem und führt ihn 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 nicht auf dem Pfad des Systems:

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

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

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

Um Internet Explorer wie mit eingeschränkten Benutzerberechtigungen auszuführen, verwenden Sie diesen Befehl:

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

Herunterladenvon PsTools(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:

  • Client: Windows 8.1 und höher.
  • Server: Windows Server 2012 und höher.