jfish 10 Geschrieben 25. September 2008 Melden Teilen Geschrieben 25. September 2008 Hallo, ich muss auf über 20000 Systemen die lokalen User + Gruppen prüfen. Wer keinen Adminantrag hat fliegt. Hier mein langsamer Ansatz der funzt. psexec \\srv1,srv2,srv3 net localgroup administrators | find /i "dom\user_bzw_group" Laufen solles aber so, das der Hostname nur von den Srv. angezeigt wird, die den gesuchten User/Grp. enthalten. bei psexec \\bla1 net localgroup administrators | find /i "dom\user_bzw_group" && hostname wird der eigene Hostname angezeigt. Eine if-Abfrage funzt auch nicht. Habt ihr eine Idee wie sich das optimieren läßt. Besten Dank Gruß Jens Zitieren Link zu diesem Kommentar
vmorbit 10 Geschrieben 25. September 2008 Melden Teilen Geschrieben 25. September 2008 hallo, Wenn der hostname nur ausgegeben werden soll, wenn ein bestimmtes kriterium erfüllt ist, wirst wohl um eine if-schleife nicht herumkommen denk ich mal... Zitieren Link zu diesem Kommentar
jfish 10 Geschrieben 25. September 2008 Autor Melden Teilen Geschrieben 25. September 2008 Hi, ich habe eben was probiert. Auf der CLI funktioniert es, aber aus dem Script herraus gibt er immer den Hostnamen zurück. net localgroup administrators|find /I "grp" | if %errorlevel%==0 echo %computername% >> txt Das ganze über psexec mit Laufwerksmapping zum wegschreiben der Ergebnisse. – Ergänzend.. ich glaube im Script muss der errorlevel mit doppelten Prozent geschrieben werden, aber das war es nicht. Zitieren Link zu diesem Kommentar
Dr Kiffer 10 Geschrieben 27. September 2008 Melden Teilen Geschrieben 27. September 2008 ich glaube dein Problem liegt im Einzeiler. Bei mir bekomme ich aus der commandline immer den Hostnamen ausgegeben. Wenn ich das im Script mache natürlich auch. Änder ich die Batch in net localgroup administrators|find /I "grp" if %errorlevel%==0 echo %computername% >> txt funktioniert es. Gruß Danny Zitieren Link zu diesem Kommentar
Biber 10 Geschrieben 29. September 2008 Melden Teilen Geschrieben 29. September 2008 Moin jfish, wie Dr.Kiffer schon schrieb... ich glaube dein Problem liegt im Einzeiler. Und zwar wegen der Pipe-Verkettung " find ...|IF %ERRORLEVEL% == 0..." . Gemeint ist ja, dass nur wenn etwas gefunden wurde eine Aktion stattfindet. Richtiger wäre also dann die "logische UND-Verknüpfung" mit "&&" net localgroup administrators|find /I "grp" >nul && @echo %computername% >> txt[/Code] Grüße Biber Zitieren Link zu diesem Kommentar
jfish 10 Geschrieben 29. September 2008 Autor Melden Teilen Geschrieben 29. September 2008 Moin, ja genau. Mit && habe ich es auch umgeschrieben. Im Test hat es funktioniert. Jetzt rennt das Script gerade über 3000 Kisten und das Log ist immer noch leer...Status folgt. Besten Dank erst mal – Er gibt nur den Hostnamen von der Kiste zurück, von der aus das Script gestartet wurde. gruß jens 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.