TeaRex 10 Geschrieben 26. März 2006 Melden Teilen Geschrieben 26. März 2006 Hallo zusammen, ich möchte via einer Batchdatei sämtlich PC in einem Netzwerk herunterfahren. Diese Batchdatei wird über einen Task auf meinem Server angestossen. Auf der Suche nach einer Möglichkeit bin ich auf einen Threat gestossen der eigentlich meinen Wünschen entspricht, jedoch eben nicht ganz!!! Ich möchte via der Batchdatei die Namen meiner Clients aus einer Datei (hier ping.txt) herauslesen lassen, die betreffenden PC anpingen, falls dieser Antworten einen Shutdown durchführen, falls nicht den nächsten PC anpingen usw.! Folgendes Skript habe ich gefunden, bringe es aber nicht zum Laufen. Wäre jemand nett und könnte dieses einmal auf Fehler untersuchen (und deren hat's ganz bestimmt)? Vielen Dank für eure Bemühungen. thx Tea Skript @echo on for /f %%i in (d:\ping.txt) do ( ping %%i | find /i "Antwort" if not errorlevel 1 goto ab :an echo Computer %%i wird ausgeschaltet! Rem Hier Befehl zum Herunterfahren PC goto ende if not errorlevel 1 goto ab :ab echo der Computer %%i ist schon ausgeschaltet Pause :ende ) Zitieren Link zu diesem Kommentar
lefg 276 Geschrieben 26. März 2006 Melden Teilen Geschrieben 26. März 2006 Hallo, schau dir dies mal an! Gruß Edgar title R214net view > c:\shutdown.txt type c:\shutdown.txt rem @echo off for /F %%e in ('findstr "\\R214-" c:\shutdown.txt') do ( %logonserver%\netlogon\psshutdown.exe %%e -u administrator -p admin ) pause Zitieren Link zu diesem Kommentar
TeaRex 10 Geschrieben 26. März 2006 Autor Melden Teilen Geschrieben 26. März 2006 Hallo lefg, vielen Dank für deine Antwort. Könntest du bitte für mich beschreiben, was in den einzelnen Zeilen abläuft und wie ich dieses Script auf meine Bedürfnisse abändern kann. Vielen Dank. thx Tea Zitieren Link zu diesem Kommentar
TeaRex 10 Geschrieben 27. März 2006 Autor Melden Teilen Geschrieben 27. März 2006 Hallo zusammen, habe mich mit dem Skript auseinandergesetzt und weiss nun was gemacht wird. Ich habe das Skript geändert da es mir sonst die ganze PC Landschaft herunterfahren würde und das möchte ich nicht, sondern nur ausgewählte PC. Hier das Skript welches auf dem Server liegt: title R214 @echo off for /F %%e in ('findstr "\\R214-" i:\shutdown.txt') do ( %logonserver%\netlogon\psshutdown.exe %%e -u administrator -p ) pause Nach ausführen des Skripts fährt der Testcomputer jedoch nicht herunter! Statt dessen erscheint im Command Prombt: C:\Dokumente und Einstellungen\Administrator\Desktop>title R214 FINDSTR: i:\shutdown.txt kann nicht geöffnet werden. Drücken Sie eine beliebige Taste . . . Wieso kann ich meine Datei shutdown.txt nicht öffnen? Hat jemand eine Ahnung. Gruss und vielen Dank. Tea Zitieren Link zu diesem Kommentar
XP-Fan 217 Geschrieben 27. März 2006 Melden Teilen Geschrieben 27. März 2006 Hallo schau mal bei sysinternals.com vorbei und halte Ausschau nach der psshutdown.exe I:\ Laufwerk beim Script ist anzupassen. Zitieren Link zu diesem Kommentar
TeaRex 10 Geschrieben 27. März 2006 Autor Melden Teilen Geschrieben 27. März 2006 Hallo XP-Fan, habe das Programm psshutdown auf dem Server liegen und habe das Script wie folgt umgestellt. Leider noch immer ohne Erfolg. Datei shutdown.txt kann noch immer nicht geöffnet werden. Div$ ist eine Freigabe auf dem Server, in welchem sich das Programm psshutdown.exe befindet. title R214 @echo off for /F %%e in ('findstr "\\R214-" I:\shutdown.txt') do ( \\server\Div$\psshutdown.exe %%e -u administrator -p xy ) pause Zitieren Link zu diesem Kommentar
lefg 276 Geschrieben 27. März 2006 Melden Teilen Geschrieben 27. März 2006 Was steht denn in der shutdown.txt drinnen? Existier die Datei übberhaupt, wurde sie erzeugt? Zitieren Link zu diesem Kommentar
lefg 276 Geschrieben 27. März 2006 Melden Teilen Geschrieben 27. März 2006 f....('findstr "\\R214-" i:\shutdown.txt')... Beinhalten die Rechnernamen denn den String R214? Das kommt doch aus dem von mir gestellten Skript. Zitieren Link zu diesem Kommentar
TeaRex 10 Geschrieben 27. März 2006 Autor Melden Teilen Geschrieben 27. März 2006 Hi, habe hier auszugsweise die shutdown.txt gepostet, welche auch vom Skript ordnungsgemäss erstellt wird. Ich möchte aber vorausschicken, dass mit diesem Skript auch meine Server hinuntergefahren werden. Dies möchte ich jedoch vermeiden! Ist dies irgendwie möglich!? Shutdown.txt Servername Beschreibung ------------------------------------------------------------------------------- \\1LPC \\1PC01 \\1PC07 \\2LPC \\2PC01 \\2PC02 \\2PC03 \\2PC04 \\2PC05 \\server1 \\server2 Der Befehl wurde erfolgreich ausgeführt. thx tea Zitieren Link zu diesem Kommentar
XP-Fan 217 Geschrieben 27. März 2006 Melden Teilen Geschrieben 27. März 2006 Hallo tea, warum löst du das Ganze nicht komplett mit der psshutdown ? Die hat auch eine Möglichkeit eine Datei auszulesen und dementsprechend die Rechner herunterzufahren. Wer von den PC nicht da ist wird halt nicht heruntergefahren und der Task geht weiter. Infos bei sysinternals.com ( hier ) Zitieren Link zu diesem Kommentar
lefg 276 Geschrieben 27. März 2006 Melden Teilen Geschrieben 27. März 2006 Der Befehl findstr sucht den in Anführungszeichen stehenden String in der angegebenen Datei. Bei mir sind die Computer in Räumen organisiert und sind danch benannt. R214 ist ein solcher Raum. Computernamen sin zusammengesetz aus Raumnummer und Bezeichnung(R214-Dozent, R214-PC01). Net viev ist der Dos-Befehl für den Browswer, erlistet die Computer der Arbeitsgruppe oder Domäne auf, mit der Umleitung wird die Liste in die Datei sctdown.txt gecschrieben. Mit der For-Schleife wird diese Datei ausgelesen, findstr \\R214 filtert alle String mit \\R214 raus, die Computernamen landen in der Variablen %%i, mit deren Inhalt wird psshutdown dann parametriert. Zitieren Link zu diesem Kommentar
TeaRex 10 Geschrieben 30. März 2006 Autor Melden Teilen Geschrieben 30. März 2006 Hallo zusammen, sorry dass ich mich so lange nicht mehr gemeldet habe. Durch die Ausführungen von lefg habe ich die Batchdatei zum laufen gebracht :) ! Vielen Dank. Auch ich habe verschiedene Informatikräume. Diese fangen entweder mit einer 1 od. einer 2, mit L oder D an. Frage ist es möglich nach all diesen Strings suchen zu lassen, damit ich nicht vier verschiedene Batchdateien erstellen muss. Komisch ist aber, dass sich nicht alle PC herunterfahren lassen, obwohl alle PC gleich sind (gleiches Image)! Es kommt eine Fehlermeldung: Zugriff verweigert If The local system is already performing a shutdown operation you must abort it before issuing a different command. Die Firewall von WinXP SP2 wurde von mir deaktiviert! Leider ohne ersichtlichen Erfolg. Hat jemand das selbe Problem, oder besser weiss jemand wie ich dieses Problem lösen kann. viele Dank TeaRex Zitieren Link zu diesem Kommentar
XP-Fan 217 Geschrieben 30. März 2006 Melden Teilen Geschrieben 30. März 2006 Hallo, ist der Benutzer welcher den Shutdown auslöst in der gruppe Admin auf den PC ? Zitieren Link zu diesem Kommentar
TeaRex 10 Geschrieben 30. März 2006 Autor Melden Teilen Geschrieben 30. März 2006 Hi, ja! Die Batchdatei wird via Task auf dem Server aufgerufen. Die PC haben durch die Aufnahme in's AD automatisch den Eintrag Domänen-Admin in der Gruppe der Administratoren. Daran sollte es eigentlich nicht liegen. Bei allen anderen PC dieser Gruppe funktioniert es ja!? Gruss Tea Zitieren Link zu diesem Kommentar
lefg 276 Geschrieben 30. März 2006 Melden Teilen Geschrieben 30. März 2006 Ich habe es mal erlebt, da fehlten administrative Freigaben z.B. Admin$ Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.