Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Mit psexec Gruppe der localgroup hinzufügen wie bekomme ich eine vernünftige Kontrolle?

Frage Microsoft Windows Tools

Mitglied: llaprosper

llaprosper (Level 1) - Jetzt verbinden

15.04.2009, aktualisiert 11:25 Uhr, 5013 Aufrufe, 19 Kommentare

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
Mitglied: 60730
15.04.2009 um 11:46 Uhr
Servus,

Mach doch aus dem einzeiler einen Zweizeiler:

01.
psexec.exe @pcs.txt net localgroup administratoren Gruppe /add 
02.
psexec.exe @pcs.txt net localgroup Gruppe |find /i "Administratoren" && echo %computername%, ok>>\\server\freigabe\logfile || echo badnews from %computername% >>\\server\freigabe\badlogfile
Gruß
Bitte warten ..
Mitglied: llaprosper
15.04.2009 um 12:09 Uhr
Was meinst du denn in Zeile 2 mit net localgroup Gruppe? Welche Gruppe ist denn da nun gemeint?
Die Domänen oder die Lokale?
Bitte warten ..
Mitglied: 60730
15.04.2009 um 12:12 Uhr
Zitat von llaprosper:
Was meinst du denn in Zeile 2 mit net localgroup Gruppe?
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ß
Bitte warten ..
Mitglied: llaprosper
15.04.2009 um 12:19 Uhr
War auch eigentlich selbsterklärend
Hatte es zu früh losgeschickt.
ok>>c:\logfile.txt || echo badnews from %computername% >>c:\badlogfile.txt
Hmm, das Badlogfile ist nicht da!?
Und im logfile zeigt er mir nur den ersten PC als OK an, dafür 2 mal!

Edit:
Ne, klappt irgendwie nicht.
Die Gruppen werden hinterlegt, im logfile steht aber nur mein eigener Rechnername (und ja, ich bin Admin auf allen Clients. Hab also die Rechte)
weder, der 2.te wo es geklappt hat, steht drin, noch der, wo es nicht geklappt hat.
Bitte warten ..
Mitglied: LotPings
15.04.2009 um 13:35 Uhr
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.
01.
for /F "delims=" %%A in (pcs.txt) do psexec.exe \\%%A net ....
Bitte warten ..
Mitglied: llaprosper
15.04.2009 um 13:38 Uhr
alter Schwede, das übersteigt leider meine Kenntnisse. BIn absoluter Newbie in dieser Materie.
Das er mir nur meinen Rechnernamen anzeigt, scheint mir klar, weil,

echo badnews from %computername% >>c:\badlogfile.txt
bezieht sich ja nicht mehr auf meine Liste pcs.txt.

Aber was genau muss ich denn schreiben? Kannst Du das mal ausführen?
Bitte warten ..
Mitglied: 60730
15.04.2009 um 13:48 Uhr
Zitat von LotPings:
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

01.
rem in die Domain Gruppe, die Admins einfügen 
02.
net localgroup administratoren domain\Gruppe /add 
03.
rem jetzt testen, ob alles geklappt hat 
04.
net localgroup Administratoren |find /i "domain\Gruppe" && echo %computername%, ok>>\\server\freigabe\logfile || echo badnews from %computername% >>\\server\freigabe\badlogfile
..und das ganze dingens nun via:
psexec.exe @pcs.txt -c gruppen.cmd
starten.

So sollte das funktionieren.

Gruß
Bitte warten ..
Mitglied: llaprosper
15.04.2009 um 14:10 Uhr
Zitat von 60730:

<code>
rem zuerst muß mal die Gruppe angelegt werden...
net localgroup Gruppe /add

Warum dieser Schritt?Sollte es denn nicht nur mit nachfolgendem Befehl reichen?
Die Domaingruppe gibt es doch schon.

rem dann in die neue Gruppe, die Admins einfügen
net localgroup administratoren Gruppe /add
Bitte warten ..
Mitglied: 60730
15.04.2009 um 14:18 Uhr
Zitat von llaprosper:
> 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 ²
Bitte warten ..
Mitglied: llaprosper
15.04.2009 um 15:28 Uhr
Klappt leider nicht. Ich bekomme
a) nur die logfile.txt und
b) nur meinen Rechner mit einem OK drinn.

Ich teste es aber immer an 3 Rechnern. "Bei 2en wo es immer klappt. (Weil es sie gibt )
Und bei einem soll es fehlschlagen.

Wie gesagt: Mein PC wird mir im Textfile angezeigt, der andere leider nicht.
Und einen Fehler beim dritten PC wird leider auch nicht angezeigt.
Bitte warten ..
Mitglied: 60730
15.04.2009 um 17:04 Uhr
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:

01.
:parameter 
02.
Set "Log==\\server\freigabe\log.txt" 
03.
Set Gruppe==domain\gruppe" 
04.
 
05.
:Ab hier dann bitte nichts ändern 
06.
echo %date%>>%log% 
07.
if not exist %log% echo Fehler 
08.
net localgroup administratoren %Gruppe% /add 
09.
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ß
Bitte warten ..
Mitglied: llaprosper
16.04.2009 um 09:51 Uhr
Also, mein Schnibsel sieht so aus:
gruppen.cmd:

net localgroup administratoren meine vorhandene Domänengruppe /add
net localgroup administratoren |find /i "meine vorhandene Domänengruppe" && echo %computername%, ok>>\\Freigabe\logfile.txt || echo badnews from %computername% >>\\Freigabe\badlogfile.txt

Auf der Feigabe hat "jeder" volle Rechte.

In meiner pcs.txt stehen 3 Rechner
meiner
vom Kollegen
ein nicht existierender

Eingabeaufforderung: (Ich habe übrigens Domainadminrechte)
psexec.exe @pc´s -c gruppen.cmd

Es wird in der Freigabe die logfile.txt erstellt mit dem Inhalt:
Mein Rechner, ok
Bitte warten ..
Mitglied: 60730
16.04.2009 um 10:18 Uhr
Moin,

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:
01.
net localgroup Administratoren |find /i "%Gruppe%" && echo %computername%,ok>>%log%|| color ff
"Damit" wird der Errorlevel im nichtfall auf 1 gesetzt.

Gruß
Bitte warten ..
Mitglied: llaprosper
16.04.2009 um 12:00 Uhr
Moin,

danke, werde ich mal testen.
Ich sehe gerade bei der vorherigen Version von Dir in der Eingabeaufforderung folgendes:

Beim Versuch für die entfernten pcs etwas in die logfiles zu schreiben, kommt:
Zugriff verweigert!!!!! Hatte ich noch gar nicht gesehen.
Verstehe ich allerdings nicht, da auf dem Share "jeder" Vollzugriff hat!
Da muss also der Haken sein, mehr als freigeben kann ich allerdings nicht!?

Und egal, welchen Pfad ich für die Logs angebe und freigebe: Mein Rechnername wird immer geschrieben, bei den anderen kommt: Zugriff verweigert!
Bitte warten ..
Mitglied: 60730
16.04.2009 um 12:18 Uhr
Moin zurück,

Verstehe ich allerdings nicht, da auf dem Share "jeder" Vollzugriff hat!
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ß
Bitte warten ..
Mitglied: llaprosper
16.04.2009 um 12:23 Uhr
ich hab dem Kollegen sogar kurzzeitig Domainadmin-Rechte gegeben und es klappt nicht.
Raff ich nicht
Bitte warten ..
Mitglied: llaprosper
16.04.2009 um 13:33 Uhr
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!

Wenn ich jetzt nur folgendes teste:
psexec.exe @pcs.txt net localgroup Gruppe |find /i "Administratoren" && echo %computername%, ok>>\\server\freigabe\logfile || echo badnews from %computername% >>\\server\freigabe\badlogfile

und in der pc.txt nur den Rechner von meinem Kollegen habe, koomt trotzdem die Meldung: badnews from "meinem PC"!!!
Ich verstehe nun bald gar nichts mehr
Bitte warten ..
Mitglied: 60730
16.04.2009 um 14:09 Uhr
> 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!

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.

01.
:parameter 
02.
Set Gruppe==domain\gruppe" 
03.
 
04.
net localgroup administratoren %Gruppe% /add 
05.
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ß
Bitte warten ..
Mitglied: llaprosper
16.04.2009 um 14:18 Uhr
Die Version ist die 1.94.0.0.
Das andere teste ich mal

Edit:

Hab es jetzt mit -u -p gemacht!
FUNKTIONIERT!

Wobei ich nie gerne irgendwo ein sensibles PW in Klarschrift eingebe!
Bitte warten ..
Ähnliche Inhalte
Neue Wissensbeiträge
RedHat, CentOS, Fedora

Fedora, RedHat, Centos: DNS-Search Domain setzen

(10)

Tipp von Frank zum Thema RedHat, CentOS, Fedora ...

Drucker und Scanner

Samsung SL-M4025ND, firmware update und (kompatible) Tonerkassetten

(1)

Erfahrungsbericht von markus-1969 zum Thema Drucker und Scanner ...

Router & Routing

PfSense auf Supermicro Intel Xeon D-15x8 SoC Bare Bone

Tipp von Dobby zum Thema Router & Routing ...

Heiß diskutierte Inhalte
Windows 10
Windows für Privatanwender "nicht mehr handhabbar" (26)

Frage von FA-jka zum Thema Windows 10 ...

LAN, WAN, Wireless
Brauche Hilfe: Mit (schnellem) WLAN Strecke überbrücken (23)

Frage von pierrehansen zum Thema LAN, WAN, Wireless ...

Basic
Programmierung von Windows Programmen (10)

Frage von Ghost108 zum Thema Basic ...