Mit psexec Gruppe der localgroup hinzufügen wie bekomme ich eine vernünftige Kontrolle?
Hallo,
ich möchte eine bestimmte Dömanengruppe der lokalen Administratorengruppe auf unsere Clients verteilen.
Dies funktioniert auch tadellos mit dem Befehl:
psexec.exe @pcs.txt net localgroup administratoren Gruppe /add.
Jetzt bräuchte ich aber eine vernünftige Output-Liste, wo ich erkennen kann, auf welchen Clients es geklappt hat und wo nicht!
Wenn ich hinten noch ein >PfadzurTextDatei\Ergebniss.txt anhänge, bekomme ich eine Liste mit folgendem Inhalt.
Der Befehl wurde erfolgreich ausgeführt.
Der Befehl wurde erfolgreich ausgeführt.
\\Rechner1:
\\Rechner2:
\\Rechner3:
Bei Rechner 2 hat es übrigens(extra) nicht geklappt.
Daraus kann man natürlich nichts erkennen!
Habt Ihr da eine Idee?
Es gibt übrigens Gründe, warum ich es so mache. Also bitte keine Hinweise auf Loginscript ect. auch wenn es nnett gemeint ist
Ich muss es auf jeden Fall "händisch machen, indem ich eine PC-Liste vorgebe und es dann per batch, Script oder so mache.
Vielen Dank schon ´mal
ich möchte eine bestimmte Dömanengruppe der lokalen Administratorengruppe auf unsere Clients verteilen.
Dies funktioniert auch tadellos mit dem Befehl:
psexec.exe @pcs.txt net localgroup administratoren Gruppe /add.
Jetzt bräuchte ich aber eine vernünftige Output-Liste, wo ich erkennen kann, auf welchen Clients es geklappt hat und wo nicht!
Wenn ich hinten noch ein >PfadzurTextDatei\Ergebniss.txt anhänge, bekomme ich eine Liste mit folgendem Inhalt.
Der Befehl wurde erfolgreich ausgeführt.
Der Befehl wurde erfolgreich ausgeführt.
\\Rechner1:
\\Rechner2:
\\Rechner3:
Bei Rechner 2 hat es übrigens(extra) nicht geklappt.
Daraus kann man natürlich nichts erkennen!
Habt Ihr da eine Idee?
Es gibt übrigens Gründe, warum ich es so mache. Also bitte keine Hinweise auf Loginscript ect. auch wenn es nnett gemeint ist
Ich muss es auf jeden Fall "händisch machen, indem ich eine PC-Liste vorgebe und es dann per batch, Script oder so mache.
Vielen Dank schon ´mal
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 113890
Url: https://administrator.de/contentid/113890
Ausgedruckt am: 22.11.2024 um 15:11 Uhr
19 Kommentare
Neuester Kommentar
Servus,
Mach doch aus dem einzeiler einen Zweizeiler:
Gruß
Mach doch aus dem einzeiler einen Zweizeiler:
psexec.exe @pcs.txt net localgroup administratoren Gruppe /add
psexec.exe @pcs.txt net localgroup Gruppe |find /i "Administratoren" && echo %computername%, ok>>\\server\freigabe\logfile || echo badnews from %computername% >>\\server\freigabe\badlogfile
Gruß
naja - ich hab nichts weiter gemacht, als deiner erste Zeile zu kopieren und zu ändern.
Welche Gruppe ist denn da nun gemeint?
"natürlich" diejenige welche du in der Zeile vorher angelegt hast.
Sorry, ich dachte das wäre selbsterklärend
Um "sicher" zu sein, das eine Gruppe angelegt wurde und dort auch die Gruppe Admins drin ist - "einfach" per Net localgroup Gruppennamen...
a) herausfinden, ob diese existiert
b) herausfinden, ob tasächlich die Admins - wie gewünscht - Mitglieder sind.
Gruß
Welche Gruppe ist denn da nun gemeint?
"natürlich" diejenige welche du in der Zeile vorher angelegt hast.
Sorry, ich dachte das wäre selbsterklärend
Um "sicher" zu sein, das eine Gruppe angelegt wurde und dort auch die Gruppe Admins drin ist - "einfach" per Net localgroup Gruppennamen...
a) herausfinden, ob diese existiert
b) herausfinden, ob tasächlich die Admins - wie gewünscht - Mitglieder sind.
Gruß
Das kann meiner Meinung nach auch nicht klappen.
Du kriegst doch vom psexec Befehl nur eine Fehlerrückgabe.
Du wirst statt @pcs.txt eine "For /F" Schleife zum einzeln Ausführen nehmen müssen.
Du kriegst doch vom psexec Befehl nur eine Fehlerrückgabe.
Du wirst statt @pcs.txt eine "For /F" Schleife zum einzeln Ausführen nehmen müssen.
for /F "delims=" %%A in (pcs.txt) do psexec.exe \\%%A net ....
Zitat von @77559:
Das kann meiner Meinung nach auch nicht klappen.
Das kann meiner Meinung nach auch nicht klappen.
Womit ich dir recht gebe
denn "nur" aus einem übernommenen einzeiler einen Zweizeiler zu machen - ist tatsächlich sinnbefreit
edit
Bereinigt:
gruppen.cmd
rem in die Domain Gruppe, die Admins einfügen
net localgroup administratoren domain\Gruppe /add
rem jetzt testen, ob alles geklappt hat
net localgroup Administratoren |find /i "domain\Gruppe" && echo %computername%, ok>>\\server\freigabe\logfile || echo badnews from %computername% >>\\server\freigabe\badlogfile
psexec.exe @pcs.txt -c gruppen.cmd
starten.
So sollte das funktionieren.
Gruß
Zitat von @llaprosper:
> Zitat von @60730:
> ----
Warum dieser Schritt?Sollte es denn nicht nur mit nachfolgendem
Befehl reichen?
Die Domaingruppe gibt es doch schon.
> Zitat von @60730:
> ----
Warum dieser Schritt?Sollte es denn nicht nur mit nachfolgendem
Befehl reichen?
Die Domaingruppe gibt es doch schon.
Ärgs....
weil du das so geschrieben hast
Beim nächsten Mal dann bitte:
net localgroup domain\Gruppe....
..dann kommt man[n] (speziell ich) - trotz anonymisierung auch drauf, was du willst (obwohl es in deiner Frage ja auch beschrieben war)
mea Culpa ²
ich hab obigen letzten Schnippsel nun geändert und auch bei mir mit Werten gefüllt, die klappen.
Poste mal deinen Schnippsel - denn das funktioniert schon
Zur Sicherheit mal so herum:
Den Abschnit :Parameter bitte anpassen und nochmal probieren.
Ich tippe ja irgendwie drauf, dass derjenige keine Rechte auf den Pfad für das Fehlerlog hat - daher alles in das gleiche Log schreiben lassen.
Gruß
Poste mal deinen Schnippsel - denn das funktioniert schon
Zur Sicherheit mal so herum:
:parameter
Set "Log==\\server\freigabe\log.txt"
Set Gruppe==domain\gruppe"
:Ab hier dann bitte nichts ändern
echo %date%>>%log%
if not exist %log% echo Fehler
net localgroup administratoren %Gruppe% /add
net localgroup Administratoren |find /i "%Gruppe%" && echo %computername%,ok>>%log%|| echo badnews from %computername%>>%log%
Den Abschnit :Parameter bitte anpassen und nochmal probieren.
Ich tippe ja irgendwie drauf, dass derjenige keine Rechte auf den Pfad für das Fehlerlog hat - daher alles in das gleiche Log schreiben lassen.
Gruß
Moin,
dann nimm mal bitte die letzte Version.
Und zum ausprobieren (obwohl bei mir alles läuft) folgende Änderungen hintereinander:
btw: ich lese gerade in deinem ersten Post...
Wenn du tatsächlich eine gefüllte Textdatei erhälst, dann mach es ganz anders...
Zeile 9:
"Damit" wird der Errorlevel im nichtfall auf 1 gesetzt.
Gruß
dann nimm mal bitte die letzte Version.
Und zum ausprobieren (obwohl bei mir alles läuft) folgende Änderungen hintereinander:
- Pipe nicht in \\server\freigabe - sondern direkt in c: - das muß du dann aber auf dem Client ansehen.
- füge beim psexec Aufruf ein -i vor -c ein und eine Pause ans Ende der Gruppen.cmd.
btw: ich lese gerade in deinem ersten Post...
Wenn ich hinten noch ein >PfadzurTextDatei\Ergebniss.txt anhänge, bekomme ich eine Liste mit folgendem Inhalt.
Ich hab PsExec v1.94, ads mag das nicht.Wenn du tatsächlich eine gefüllte Textdatei erhälst, dann mach es ganz anders...
Zeile 9:
net localgroup Administratoren |find /i "%Gruppe%" && echo %computername%,ok>>%log%|| color ff
Gruß
Moin zurück,
Im zweifel sind es nicht nur die Rechte auf die Freigabe, sondern auch die im Ordner.
füge noch ein - u (domain\user) -p (Passwort) mit den jeweiligen Daten ein.
Gruß
Verstehe ich allerdings nicht, da auf dem Share "jeder" Vollzugriff hat!
Da muss also der Haken sein, mehr als freigeben kann ich allerdings nicht!?
Da muss also der Haken sein, mehr als freigeben kann ich allerdings nicht!?
Im zweifel sind es nicht nur die Rechte auf die Freigabe, sondern auch die im Ordner.
füge noch ein - u (domain\user) -p (Passwort) mit den jeweiligen Daten ein.
Gruß
> Zitat von @60730:
> ----
>
> * Pipe nicht in \\server\freigabe - sondern direkt in c: - das
> muß du dann aber auf dem Client ansehen.
> * füge beim psexec Aufruf ein -i vor -c ein und eine Pause
ans
> Ende der Gruppen.cmd.
>
Das klappt einwandfrei!
Ich frage mich, warum mein Rechner sich in jede Freigabe schreibt und
andere nicht, trotz Domainadminrechte!
> ----
>
> * Pipe nicht in \\server\freigabe - sondern direkt in c: - das
> muß du dann aber auf dem Client ansehen.
> * füge beim psexec Aufruf ein -i vor -c ein und eine Pause
ans
> Ende der Gruppen.cmd.
>
Das klappt einwandfrei!
Ich frage mich, warum mein Rechner sich in jede Freigabe schreibt und
andere nicht, trotz Domainadminrechte!
siehste mal
Aber verrat mir doch mal deine Version von PSexec
Probier das mit dem color ff aus - wenn dein PSexec die Ausgabe bei dir lokal in eine Datei pipt.
:parameter
Set Gruppe==domain\gruppe"
net localgroup administratoren %Gruppe% /add
net localgroup Administratoren |find /i "%Gruppe%" || color ff
Die erfolgreichen Systeme geben dann lokal bei dir eine 0 und die Fehlerhaften eine 1 zurück.
Gruß