Verwenden von PsTools zur Steuerung anderer PCs über die Befehlszeile
In unserer heutigen Lektion in unserer Geek School-Serie über SysInternals zeigen wir Ihnen, wie Sie mit den PsTools-Dienstprogrammen alle Arten von Verwaltungsaufgaben sowohl lokal als auch auf Remotecomputern ausführen können.
SCHULNAVIGATION- Was sind die SysInternals-Tools und wie verwenden Sie sie??
- Prozess-Explorer verstehen
- Verwenden von Process Explorer zur Fehlerbehebung und Diagnose
- Prozessmonitor verstehen
- Verwenden von Process Monitor zur Problembehandlung und zum Suchen von Registrierungs-Hacks
- Verwenden von Autoruns zur Behandlung von Startvorgängen und Malware
- Verwenden von BgInfo zum Anzeigen von Systeminformationen auf dem Desktop
- Verwenden von PsTools zur Steuerung anderer PCs über die Befehlszeile
- Analysieren und Verwalten von Dateien, Ordnern und Laufwerken
- Zusammenfassen und Verwenden der Tools
Wenn Sie schon einmal eine Verbindung zu einem anderen Computer herstellen und einen Befehl ausführen, schnell Informationen über laufende Prozesse abrufen und diese gegebenenfalls beenden möchten, oder sogar einen Dienst auf einem anderen PC anhalten möchten, können Sie die PsTools-Dienstprogramme verwenden, um all diese Dinge auszuführen Mehr.
Natürlich können Sie Remotedesktop oder einen ähnlichen Dienst verwenden, um eine Verbindung zu einem beliebigen Windows-Computer herzustellen und tatsächlich den Desktop zu sehen und alles zu tun, was Sie lokal tun würden. Mit den PsTools-Dienstprogrammen können Sie jedoch viele Aufgaben über die Befehlszeile ausführen - oder besser noch ein Skript, das Sie später wiederverwenden können.
Dies sind die Dienstprogramme, die in einer Unternehmensumgebung am besten funktionieren. Durch das Beherrschen dieser Tools werden Sie auf jeden Fall bei der Systemadministration viel besser arbeiten, Zeit sparen und die Dinge auf viel intelligentere Weise erledigen. Dinge klüger und schneller zu machen, ist eine wichtige Fähigkeit, um ein großartiger Sysadmin zu sein.
Es gibt zwölf Tools im PsTools-Set, und obwohl einige von ihnen äußerst nützlich sind, wurden andere durch Tools ersetzt, die in neueren Windows-Versionen eingebaut sind, und es gibt einige andere, die für die meisten Benutzer nicht nützlich sind. Wir werden alle durchgehen, damit Sie wissen, wie sie funktionieren und warum Sie jeden verwenden möchten.
- PsExec - führt Prozesse auf einem Remote-Computer aus
- PsFile - Zeigt Dateien an, die auf dem Remote-Computer über das Netzwerk geöffnet werden
- PsGetSid - Zeigt die Sicherheitskennung für einen Computer oder Benutzer an
- PsInfo - listet Informationen zu einem System auf
- PsKill - beendet Prozesse nach Name oder ID
- PsList - Listet Informationen zu Prozessen in der Befehlszeile auf
- PsLoggedOn - Listet Konten auf, die entweder auf dem Computer angemeldet sind oder eine Remote-Verbindung herstellen
- PsLogList - Lädt das Ereignisprotokoll in der Befehlszeile
- PsPasswd - Ändern Sie das Passwort für Benutzer
- PsPing - ein recht einfaches Ping-Dienstprogramm mit einigen zusätzlichen Funktionen
- PsService - Liste auf, und nehmen Sie Änderungen an den Windows-Diensten vor
- PsShutdown - Herunterfahren, Abmelden oder Unterbrechen eines Computers
- PsSuspend - Prozesse anhalten und wieder aufnehmen (anstatt sie zu beenden)
Es ist erwähnenswert, dass Sie ein Tool wie PsExec verwenden können, um alle Arten von Befehlszeilen-Dienstprogrammen auf Remote-Computern auszuführen, einschließlich wirklich nützlicher wie das Autoruns-Befehlszeilen-Tool und viele mehr. Die Möglichkeiten sind unbegrenzt, sobald Sie die Kraft von PsTools erkannt haben.
Alle diese Tools können auf lokalen Computern verwendet werden. Sie sind jedoch meistens hilfreich, um Verbindungen zu Remote-Computern herzustellen und Befehle auf ihnen auszuführen.
Verbindung zu Remote-Computern herstellen (Syntax für alle Dienstprogramme)
Alle Utilities können entweder auf dem lokalen Computer oder auf dem Remote-Computer ausgeführt werden. Sie haben daher ggf. dasselbe erste Argument für den Computernamen. Beachten Sie, dass Sie stattdessen die IP-Adresse verwenden können. Wenn Sie dieses Argument nicht angeben, wird der Befehl auf Ihrem lokalen Computer ausgeführt.
psinfo \\ computername
Sie können auch mehrere Computer auflisten, z. B. psinfo \\ computer1, computer2, computer3, oder Sie können alle Namen in eine Datei und einen Verweis wie psinfo @ computerlist.txt aufnehmen. Die letzte Syntax lautet psinfo \\ *, die auf allen Computern in der Domäne ausgeführt werden kann. Dies wird wahrscheinlich nicht jeden Tag verwendet.
Wenn Sie sich mit alternativen Anmeldeinformationen verbinden müssen, da das Konto Ihres lokalen Computers einen anderen Benutzernamen und ein anderes Kennwort als der andere Computer hat, können Sie die Optionen -u und -p verwenden. Wir möchten jedoch beachten, dass Sie -p nicht verwenden möchten die Befehlszeile mit einem Kennwort im Befehl aus Sicherheitsgründen. Update: Seit der neuesten Version von PsExec übergibt kein Tool Passwörter mehr als Klartext. Die einzige Sorge ist, dass jemand Ihre Skriptdateien lesen und das Passwort dort sehen kann.
psinfo \\ computername -u "Benutzer" -p "Passwort"
Der Teil "user" des Befehls würde sich in "DOMAIN \ user" ändern, wenn Sie sich in einer Domänenumgebung befinden und den aktuell ausgeführten Benutzer ändern müssen.
Hinweis: In der Regel müssen Sie über ein Administratorkonto eine Verbindung zu den Remote-Computern herstellen.
Konfigurieren des Fernadministrationszugriffs
Wenn Sie sich in einer Domänenumgebung befinden, die die meisten Benutzer von PsTools verwenden müssen, können Sie diesen Abschnitt vollständig ignorieren, da alles einwandfrei funktionieren sollte. Für jeden, der Windows 7, 8 oder Vista in einer privaten Umgebung oder eine Reihe von Computern in einem Büro ohne Domäne ausführt, müssen Sie die Benutzerkontensteuerung auf dem Remote-Computer anpassen, damit PsTools ordnungsgemäß ausgeführt werden kann.
Das Problem wird von Microsoft gut beschrieben:
Wenn ein Benutzer, der Mitglied der lokalen Administratorengruppe auf dem Zielferncomputer ist, eine Remoteverwaltungsverbindung herstellt, indem er beispielsweise den Befehl net use * \\ remotecomputer \ Share $ verwendet, wird keine Verbindung als Volladministrator hergestellt. Der Benutzer hat kein Höhenpotenzial auf dem Remotecomputer, und der Benutzer kann keine Verwaltungsaufgaben ausführen.
Anders ausgedrückt: Wenn Sie versuchen, eine Verbindung zu einem anderen Computer herzustellen und etwas auszuführen, für das Administratorzugriff erforderlich ist, gibt es keine Möglichkeit, die UAC-Eingabeaufforderung auszulösen und von Ihrem Computer zu akzeptieren, sodass keine Verbindung als Administrator hergestellt wird.
Und das ist keine schlechte Sache. Sie sollten diese Einstellung nicht ändern, wenn Sie nicht vollständig verstanden haben, dass Sie zulassen, dass Malware von einem Computer auf einen anderen übertragen wird. Dabei muss davon ausgegangen werden, dass Malware Ihren lokalen Benutzernamen und Ihr Kennwort hat und dass das Kennwort mit dem anderen Computer und dem Kennwort identisch ist Malware ist so knifflig, was die meisten nicht sind. Aber es ist immer noch nicht leicht zu nehmen.
Wenn Sie sich in einer Domänenumgebung befinden, besteht dieses Problem nicht und muss nicht geändert werden. Wenn Sie nur mit einer Reihe virtueller Maschinen testen, müssen Sie sich keine Sorgen machen.
Um die Benutzerkontensteuerung zu optimieren, damit PsTools ausgeführt werden kann, müssen Sie den Registrierungseditor öffnen und zum folgenden Schlüssel navigieren:
HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \
Windows \ CurrentVersion \ Policies \ System
Wenn Sie dort sind, erstellen Sie auf der rechten Seite ein neues 32-Bit-DWORD. Geben Sie ihm den Namen LocalAccountTokenFilterPolicy und den Wert 1. Sie müssen den Computer nicht neu starten, damit die Einstellung wirksam wird.
Hinweis: Nur um zu verdeutlichen, muss diese Einstellung auf dem Remote-Computer erfolgen, zu dem Sie eine Verbindung herstellen.
PsExec
PsExec ist wahrscheinlich das leistungsfähigste Tool im Kit, da Sie jeden Befehl in Ihrer lokalen Eingabeaufforderung genauso ausführen können wie die Ausführung auf dem Remote-Computer. Dazu gehört alles, was über die Befehlszeile ausgeführt werden kann. Sie können Registrierungswerte ändern, Skripts und Dienstprogramme ausführen oder von diesem PC aus eine Verbindung zu einem anderen herstellen. Die Ausgabe der Befehle wird auf Ihrem lokalen PC und nicht auf dem Remote-Computer angezeigt.
Die Syntax ist einfach:
psexec \\ computername apptorun.exe
Realistisch gesehen möchten Sie jedoch auch den Benutzernamen und das Kennwort in die Befehlszeile aufnehmen. Wenn Sie beispielsweise eine Verbindung zu einem anderen PC herstellen und die Netzwerkverbindungsliste überprüfen möchten, verwenden Sie Folgendes:
psexec \\ computername -u Benutzer -p Kennwort ipconfig
Dieser Befehl würde eine Ausgabe ähnlich der folgenden erzeugen:
Nächste Seite: Verwenden von PsExec zum Ausführen von Remote-Befehlen