Remote Befehle ausführen mit psexec pstools - cmd Windows

 

Mit den pstools können Befehle auf anderen Computern ausgeführt werden: Voraussetzung dafür sind natürlich die nötigen Rechte für die Remoteverbindung: Standardmäßig sind das der Domain Administrator oder der lokale Administrator. Als Alternative für eine Remote-Verbindung auf einen anderen Computer kann auch PowerShell-Remoting verwendet werden, siehe: Powershell-Remote

psinfo

System Informationen auslesen mit 

Batch
psinfo \\hostname

die Ausgabe in eine Datei funktioniert mit cmd Boardmittel:

Batch
 psinfo \\Hostname >> c:\temp\ausgabe.txt

Hinweis: eine ähnliche Auswertung liefert auch: 

Batch
psexec \\hostname systeminfo

z.B. könnte die Ausgabe auch gleich gefiltert werden: 

Batch
psexec \\hostname systeminfo | find "Betriebssystemname"

 

systeminfo liefert folgende Informationen:

  • Hostname;
  • Betriebssystemname;
  • Betriebssystemversion:
  • Betriebssystemhersteller
  • Betriebssystemkonfiguration:
  • Betriebssystem-Buildtyp:
  • Registrierter Benutzer:
  • Registrierte Organisation:
  • Produkt-ID:
  • Ursprüngliches Installationsdatum:
  • Systemstartzeit:
  • Systemhersteller:
  • Systemmodell:
  • Systemtyp:
  • Prozessor(en):
  • BIOS-Version:
  • Windows-Verzeichnis:
  • System-Verzeichnis:
  • Startgerät:
  • Systemgebietsschema:
  • Eingabegebietsschema:
  • Zeitzone:
  • Gesamter physikalischer Speicher
  • Verfügbarer physikalischer Speicher
  • Virtueller Arbeitsspeicher
  • Maximale Größe
  • Virtueller Arbeitsspeicher
  • Verfügbar
  • Virtueller Arbeitsspeicher
  • Zurzeit verwendet
  • Auslagerungsdateipfad(e):
  • Domäne:
  • Anmeldeserver:
  • Hotfix(es):

 

pslist

laufende Tasks mit

Batch
pslist \\hostname

pskill

mit pskill können Tasks die vorhin mit pslist angezeigt werden können gestoppt werden

Batch
pskill \\hostname PidNr

psexec

mit psexec \\hostname Befehl kann ein CommandLine Befehl auf dem Remotecomputer ausgeführt werden:

Beispiel:

Batch
psexec \\Hostname cmd

öffnet die Eingabeaufforderung des Remotecomputers

die Ausgabe in eine Datei funktioniert mit cmd Boardmittel: 

Batch
psexec \\Hostname cmd >> c:\temp\ausgabe.txt

psexec Software Installation

Batch
psexec \\hostname \\server\share_mit_Sofwaresource\install.exe /s

psexec Werte in Registry schreiben:

Batch
psexec \\hostname reg add \\COMPUTERNAME\HKLM\System\CurrentControlSet\Services\LanmanServer\Parameters /t REG_DWORD /v autosharewks /d 1 /f

psexec auf mehreren Rechnern:

Batch
psexec @hosts.txt reg add \\COMPUTERNAME\HKLM\System\CurrentControlSet\Services\LanmanServer\Parameters /t REG_DWORD /v autosharewks /d 1 /f

in die hosts.txt kann dann in jede Zeile ein Hostname geschrieben werden, psexec verbindet sich dann der Reihe nach zu den Rechnern und führt dort einen Befehl aus.

Programme installieren

Beispiel: 

Batch
psexec \\hostname install.exe /s

wichtig dabei: die Installation muss silent, also im Hintergrund (oder Unattended) erfolgen, wird eine GUI geladen oder verlangt, funktioniert die Installation nicht. Beim Installieren müssen also entsprechende Parameter für die Unattended Installation mit angegeben werden.

Programme deinstallieren

Batch
psexec \\hostname msiexec /x {GUID} /q

Update Windows 10

Windows-Firewall

Wurde der PC initial für das Netzwerk als  "nicht sichtbar" eingestellt, kann PSExec auf den Rechner nicht zugreifen:

"Der Netzwerkpfad wurde nicht gefunden"

Verantwortlich dafür ist, bei aktivierter Firewall, die eingehende Regel "Datei- und Druckfreigabe (SMB eingehend) am Zielrechner. 

Nach dem Aktivieren der Regel kommt der Fehler "Zugriff verweigert"

LocalAccountTokenFilterPolicy

Die Verbindung klappt allerdings leider nur mit "Zugriff verweigert" (Access Denied)

verantworlich dafür ist folgender Eintrag in der Registry:

 

HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System

neu DWORD-Wert (32bit)

LocalAccountTokenFilterPolicy = 1

Die Einstellung ist sofort aktiv, der Rechner muss dazu nicht neu gestartet werden.

positive Bewertung({{pro_count}})
Beitrag bewerten:
{{percentage}} % positiv
negative Bewertung({{con_count}})

DANKE für deine Bewertung!

Aktualisiert: 07.06.2016 von Bernhard | Translation English |🔔 | Kommentare:7

NTFS Vererbung | Windows Batch | cmd ping test

Top-Artikel in diesem Bereich


sleep oder wait in Batch Dateien: pause cmd

Die Funktion wait oder sleep war in BATch Dateien standardmäßig nicht vorhanden.Abhilfe schafft ein kleiner Umweg über den ping Command


Aufbau einer Batch Datei Syntax: echo off cmd

Wer eine Batch-Datei angelegt hat, kann in jede Zeile einen Befehl schreiben, siehe: wie erstelle ich eine Batch Datei - Grundlagen. Die Befehle werden beim Starten der Datei der Reihe nach ausgeführt. Das Verhalten der Ausgabe kann wie folgt angepasst werden.


cmd Befehl Windows Verwaltung: Systemsteuerung cpl und msc

CMD Befehl Windows Verwaltung: Systemsteuerung CPL und MSC

Fragen / Kommentare


(sortiert nach Bewertung / Datum) [alle Kommentare(neueste zuerst)]

✍anonym
05.02.2020 09:22
User: Frank 
Vielen Dank für diese für mich perfekte Lösung des "Zugriff verweigert" Problems...
Eine wirklich präzise und auf den Punkt gebrachte Anleitung, grossartig.
Jetzt habe ich endlich das PSexec Programm wieder aus meiner Versenkung holen können.

LG Frank

✍anonym
15.05.2019 06:57
User: Mr. S. 
Mahlzeit
bei dem befehl "psexec \\hostname install.exe /s"  wird das installations fenster schwarz angezeigt, weißt du woran das liegen könnte ??

✍anonym
19.09.2016 12:32
User: Matze 
Danke für die Zusammenfassung!

Wenn ich ein Programm remote installieren möchte, aber keine silent install.exe hab, aber nur auf "weiter" klicken muss, kann ich das durch irgend einen Parameter übergeben?

✍anonym
27.03.2015 13:03
User: David 
Hallo zusammen, ich Danke euch für die hilfreiche Seite. TOP

✍anonym
27.11.2014 05:59
User: Jannik 
Ich habe noch nie solch geniale Tools gesehen.
Riesen Respekt!

✍anonym
22.12.2013 00:48
User: a-bar 
vielen Dank f sehr informative Seite

✍anonym
09.12.2013 16:05
User: Pia 
Perfekt!