Skript in Kombination mit PSExec
Hallo zusammen,
ich würde gerne ein Skript schreiben der mich nach einem Hostnamen fragt, ich diesen eintippe,
Psexec gestartet wird und sich mit der CMD des Hosts verbindet.
Allesgut soweit.
Nur, sobald ich mich verbunden habe werde die Befehle in meinem Skript nicht auf die CMD des Hosts übertragen.
Beispiel:
PSexec verbinde dich mit Host1
Danach mache auf Host1 ipconfig.
Wie kann ich die Befehle in meinter BAT auf übertragen?
Hoffe es ist klar was ich meine.
Lg
ich würde gerne ein Skript schreiben der mich nach einem Hostnamen fragt, ich diesen eintippe,
Psexec gestartet wird und sich mit der CMD des Hosts verbindet.
Allesgut soweit.
Nur, sobald ich mich verbunden habe werde die Befehle in meinem Skript nicht auf die CMD des Hosts übertragen.
Beispiel:
PSexec verbinde dich mit Host1
Danach mache auf Host1 ipconfig.
Wie kann ich die Befehle in meinter BAT auf übertragen?
Hoffe es ist klar was ich meine.
Lg
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 339181
Url: https://administrator.de/forum/skript-in-kombination-mit-psexec-339181.html
Ausgedruckt am: 23.12.2024 um 01:12 Uhr
11 Kommentare
Neuester Kommentar
Hallo allein,
Hoffe es ist klar was ich meine.
Nee, isses nicht. :--)
Poste mal das fertige Script (bitte in Code-Tags), sieh dir vorher mal die Hilfe zu psexec an: psexec /?
Gruß
Hi,
PSEXEC startet einen neuen Prozess auf einem anderen Computer.
Die Batch läuft weiterhin im CMD-Prozess auf dem lokalen Server.
Wie sollen da die nach dem PSEXEC folgenden Befehle auf dem anderen Computer greifen?
Du benötigst 2 Batch:
Bsp.
Batch 1
Batch 2
E.
Nur, sobald ich mich verbunden habe werde die Befehle in meinem Skript nicht auf die CMD des Hosts übertragen.
Sorry, is aber logisch.PSEXEC startet einen neuen Prozess auf einem anderen Computer.
Die Batch läuft weiterhin im CMD-Prozess auf dem lokalen Server.
Wie sollen da die nach dem PSEXEC folgenden Befehle auf dem anderen Computer greifen?
Du benötigst 2 Batch:
- Welches Dich nach den Computer fragt und dann die 2. Batch auf diesem Computer kopiert und dann dieses via PSEXEC auf diesem startet
- Welches die Kommandos enthält, welche auf dem anderen Computer ausgeführt werden sollen.
Bsp.
Batch 1
..... Abfrage des Zielcomputers ....
copy batch2.cmd \\zielcomputer\c$\batch2.cmd
psexec \\zielcomputer cmd.exe /c c:\batch2.cmd
Batch 2
... tue dies ...
... tue das ...
E.
Hi,
du hast Recht, wenn du in einer Batch-Datei mehrere Befehle ausführen möchtest.
Mit einem einzelnen Befehl klappt das aber auch ohne das Kopieren.
Um bei seinem Beispiel mit IPConfig zu bleiben, würde folgender Befehl funktionieren:
Und wenn du dir die Ausgabe auf eine evtl vorhandene Freigabe auf deinem eigenen Computer umleitest statt auf Temp auf dem Remotecomputer, kannst du dir die Info gleich ansehen.
Gruß
du hast Recht, wenn du in einer Batch-Datei mehrere Befehle ausführen möchtest.
Mit einem einzelnen Befehl klappt das aber auch ohne das Kopieren.
Um bei seinem Beispiel mit IPConfig zu bleiben, würde folgender Befehl funktionieren:
psexec \\Remotecomputername %COMSPEC% "/C IPCONFIG /ALL > %TEMP%\IPCONFIGINFO:txt"
Und wenn du dir die Ausgabe auf eine evtl vorhandene Freigabe auf deinem eigenen Computer umleitest statt auf Temp auf dem Remotecomputer, kannst du dir die Info gleich ansehen.
Gruß
Richtig. Deshalb schrieb ich ja, dass du Recht hast und habe es auch nur auf sein Beispiel mit IPCONFIG bezogen..
Das ganze möchte ich in einer Batch schreiben. Ist dies möglich oder muss jeder Befehl in einer eigenen Zeile mit PSExec ausgeführt werden?
Es geht beides. Nur wenn Du letzteres machst, dann muss er für jeden Befehl eine neue PSEXEC-Sitzung aufmachen. Regelst Du das über ein zweites Script, dann hast Du nur eine Sitzung.Aber, um den Ordnerinhalt anzeigen zu können, muss Du nicht über PSEXEC gehen. Warum nicht sowas wie ...?
dir \\computername\c$\Ordner
In meinem ersten Beitrag hatte ich dich gebeten, das fertige Script hier (in Codetags) zu posten.
Offenbar gefällt dir das nicht, also bin ich raus.
Viel Erfolg
Offenbar gefällt dir das nicht, also bin ich raus.
Viel Erfolg
Hallo,
ich verstehe nicht, warum du nicht ganz einfach dein Script hier postest und dann weiß jeder genau was du vor hast, aber gut.
Ich benutze auch gerne PSExec um auf einem remote PC via CMD zu verbinden, dazu hab ich folgendes geschrieben:
Datei: remote_cmd.bat
Dazu musst du einmal PSExec EULA auf deinem Rechner zugestimmt haben. Mit Script bist du dann, sofern du die Berechtigungen hast als SYSTEM User auf dem Remote Computer und kannst die Ordner anzeigen lassen z.B dir C:\
Du KANNST natürlich auch eine Variable im Script dazu bauen.
Hier kannst du ein paar Bsp anschauen: https://ss64.com/nt/psexec.html
LG
ich verstehe nicht, warum du nicht ganz einfach dein Script hier postest und dann weiß jeder genau was du vor hast, aber gut.
Ich benutze auch gerne PSExec um auf einem remote PC via CMD zu verbinden, dazu hab ich folgendes geschrieben:
Datei: remote_cmd.bat
@echo off
:start
set /p pc="Rechnername eingeben: "
:: wenn Q eingeben wird, wird das Fenster geschlossen
if /I "%pc%" EQU "Q" goto END
PFAD\PsExec.exe -s \\%pc% cmd.exe
goto start
:end
exit
Dazu musst du einmal PSExec EULA auf deinem Rechner zugestimmt haben. Mit Script bist du dann, sofern du die Berechtigungen hast als SYSTEM User auf dem Remote Computer und kannst die Ordner anzeigen lassen z.B dir C:\
Du KANNST natürlich auch eine Variable im Script dazu bauen.
Hier kannst du ein paar Bsp anschauen: https://ss64.com/nt/psexec.html
LG