gw5 10 Geschrieben 5. Juli 2011 Melden Teilen Geschrieben 5. Juli 2011 Hallo zusammen, nach längerer Suche im board hab ich leider nix passendes gefunden - hoffe der Beitrag ist hier richtig. Per net user /domain %username% möchte ich alle Gruppen u.a. auch abcdefghijklm12345nopqrstuvwxyz auslesen. Jedoch beinhaltet die Gruppennamen-Länge mehr als 20 Zeichen und somit wird als Ergebnis nur Lokale Gruppenmitgliedschaften *abcdefghijklm12345nop geliefert. Gibt es eine Möglichkeit (außer Gruppennamen-Länge kürzen) den erlaubten Zeichencache von net user zu erweitern? Zitieren Link zu diesem Kommentar
NilsK 2.934 Geschrieben 5. Juli 2011 Melden Teilen Geschrieben 5. Juli 2011 (bearbeitet) Moin, ich habe gerade erstaunt festgestellt, dass der sAMAccountName einer Gruppe tatsächlich länger sein darf als 20 Zeichen, obwohl hier steht, dass es nur 20 sein dürfen*: http://msdn.microsoft.com/en-us/library/ms679635(v=VS.85).aspx Da die Shellbefehle mit Sicherheit ein hart kodiertes Ausgabeformat haben, wirst du das kaum beeinflussen können. Daher solltest du auf andere Methoden zum Auslesen ausweichen. Aus diesem Grund würde ich aber dazu raten, die SAM-Namen von Objekten nicht länger zu machen als 20 Zeichen. Gruß, Nils * EDIT: Stimmt nicht, ich lese gerade: This attribute must be less than 20 characters to support older clients. bearbeitet 5. Juli 2011 von NilsK Noch was gefunden Zitieren Link zu diesem Kommentar
gw5 10 Geschrieben 5. Juli 2011 Autor Melden Teilen Geschrieben 5. Juli 2011 meinst du mit deinem edit dass es doch mehr als 20 Zeichen sein dürfen, nur nicht für "older clients"? oder wie verstehst du die Angabe? Und was sind "older clients"? Windows NT 4.0, Windows 95, Windows 98? Hab den Befehl auf einem WinXP System ausgeführt (AD=Win2k8) BG gw5 Zitieren Link zu diesem Kommentar
olc 18 Geschrieben 5. Juli 2011 Melden Teilen Geschrieben 5. Juli 2011 Hi, wie Nils schon sagte ist das Maximum laut Schema nicht auf 20 Zeichen beschränkt (siehe das "Range-Upper" im verlinkten MSDN Artikel) - jedoch gibt es diverse Applikationen und/oder Dienste, die mit längeren sAMAccountName Attributwerten nicht umgehen können. Bei 16-20 Zeichen ist meist Schluß. AFAIR sind auch Microsoft Applikationen betroffen, vielleicht ist also "net.exe" ein Beispiel dafür. Wofür benötigst Du die Ausgabe genau? Wird sie im Benutzerkontext ausgegeben oder war das %username% nur ein Platzhalter für den Post hier? Alternativen wären neben vielen anderen Varianten zum Beispiel "whoami.exe /groups", "dsget user -memberof -expand" oder Win32_TokenGroups, je nach Anwendungszweck. Viele Grüße olc Zitieren Link zu diesem Kommentar
gw5 10 Geschrieben 6. Juli 2011 Autor Melden Teilen Geschrieben 6. Juli 2011 Moin olc, danke, an whoami hatte ich garnicht gedacht. Funktioniert prima. Noch eine Frage dazu: mit dem findstr-Befehl durchsucht er mir alle Gruppen egal an welcher Stelle der string steht. D.h. suche ich nach Gruppe abc, listet er mir auch Gruppe abcd oder 12abc34. Ist es möglich genau nach einer bestimmten Gruppe mit entsprechendem string zu suchen? Hattest das schon richtig erkannt %username% sollte hier wirklich für den angemeldeten User stehen, was quasi whoami wiederspiegelt. Noch als Nachtrag: "dsget user -memberof -expand" funktioniert m.E. nur im AD nicht auf Client-Systemen?! Besten Dank und VG Zitieren Link zu diesem Kommentar
olc 18 Geschrieben 6. Juli 2011 Melden Teilen Geschrieben 6. Juli 2011 Hi gw5, mit findstr kannst Du ansatzweise "regular expressions" nutzen, vielleicht reicht Dir ja schon die "/b" Option: Findstr Ansonsten schau Dir die regexp-Optionen im Artikel an: \<xyz -->Word position: beginning of wordxyz\> --> Word position: end of word DSGET.exe ist standardmäßig nur auf DCs installiert - aber wir wußten oben ja noch nicht, ob es client-seitig ausgeführt werden soll oder nicht. :) Schau Dir noch einmal Win32_TokenGroups an, das kann Dir auch weiterhelfen. Aber um das ganze noch einmal genauer zu beleuchten und zu prüfen, ob es nicht vielleicht auch andere Varianten geben würde: Was genau möchtest Du mit der Gruppenprüfung erreichen? Was ist Ziel der Aktion? Filterungen kannst Du etwa mit den GPP viel einfacher lösen als mit Loginscripts o.ä. Viele Grüße olc Zitieren Link zu diesem Kommentar
gw5 10 Geschrieben 7. Juli 2011 Autor Melden Teilen Geschrieben 7. Juli 2011 Erstmal besten Dank olc, mit meiner Prüfung der Gruppen möchte ich erreichen, dass in Abhängigkeit der Gruppenzugehörigkeit eines Useres best. Laufwerke, Drucker etc. beim Anmelden des Useres gemapped werden. Deinen Tip mit der Option /b bzw. \<xyz -->Word position: beginning of wordxyz\> --> Word position: end of word hatte ich probiert, aber irgendwie will es nicht wie ich ;-)hier mal noch ein Auszug des Codes... @echo on set a="abcd" %logonserver%\netlogon\whoami.exe /groups | findstr \< %a% >NUL ::Gruppe nicht gefunden if errorlevel 1 echo Gruppe %a% nicht gefunden ::Gruppe gefunden if not errorlevel == 1 echo Gruppe %a% gefunden pause Könnte mir jemand die vollständige Zeile angeben, wie die Optionen für findstr korrekt eingebunden werden müssen? VG Zitieren Link zu diesem Kommentar
Sunny61 806 Geschrieben 7. Juli 2011 Melden Teilen Geschrieben 7. Juli 2011 mit meiner Prüfung der Gruppen möchte ich erreichen, dass in Abhängigkeit der Gruppenzugehörigkeit eines Useres best. Laufwerke, Drucker etc. beim Anmelden des Useres gemapped werden. Olc hatte es ja schon erwähnt, mit Group Policy Preferences bist Du IMHO an dieser Stelle besser bedient. Schau dir dazu das zweite Bild in diesem HowTo genauer an: GPP - Group Policy Preferences - Gruppenrichtlinien Einstellungen Zitieren Link zu diesem Kommentar
gw5 10 Geschrieben 7. Juli 2011 Autor Melden Teilen Geschrieben 7. Juli 2011 ...das GPOs für meinen Anwendungsfall theoretisch geeigneter wären, konnte ich nach einer Weile auch feststellen, das Problem ist einfach nur, dass quasi von "oben" (Firma) es so gewollt ist, dass Mappings anhand von Gruppen geschehen sollen (der Übersicht halber) --> ich weiß diese Meinung muss man nicht unbedingt teilen ;) Zitieren Link zu diesem Kommentar
olc 18 Geschrieben 7. Juli 2011 Melden Teilen Geschrieben 7. Juli 2011 ...mit den GPP kannst Du ja Gruppen als Filter nutzen. ;) Deshalb der Hinweis von Sunny61 zum zweiten Screenshot auf der verlinkten Webseite... :) Versuche es einmal mit den GPP, wenn Deine Betriebssysteme Windows XP aufwärts sind - ggf. noch das GPP Update vorher auf XP und Vista installieren (etwa per WSUS). Du wirst sehen, daß das weit einfacher und komforabler ist als das Logon Script. Ansonsten: Versuch es einnmal im Scipt ohne Leerzeichen: findstr \<%a% Das %a% wird korrekt im Script aufgelöst? Viele Grüße olc Zitieren Link zu diesem Kommentar
Sunny61 806 Geschrieben 7. Juli 2011 Melden Teilen Geschrieben 7. Juli 2011 ...das GPOs für meinen Anwendungsfall theoretisch geeigneter wären, konnte ich nach einer Weile auch feststellen, das Problem ist einfach nur, dass quasi von "oben" (Firma) es so gewollt ist, dass Mappings anhand von Gruppen geschehen sollen (der Übersicht halber) --> ich weiß diese Meinung muss man nicht unbedingt teilen ;) Du kannst aber trotzdem die GPPs benutzen und in einem Test vorführen. Hast Du dir das angesehen? Ist um Welten einfacher zu handeln und Du könntest jetzt schon zum baden an den nächsten See fahren. ;) Zitieren Link zu diesem Kommentar
gw5 10 Geschrieben 7. Juli 2011 Autor Melden Teilen Geschrieben 7. Juli 2011 die GPP-Variante ist auf jeden Fall eine Variante, an der man festhalten sollte... Als Begründung FÜR ein logon-skript --> falls mal ein mapping nicht funktioniert, führe ich logon-skript erneut durch und sehe direkt dessen Fehlermeldung (Fehlersuche damit einfacher) als bei GPOs --> da hab ich im Endeffekt nur die möglichkeit mit gpupdate /force die Richtlinie neu zuzustellen, aber wenn das nicht funzt weiß ich immernoch nicht an was es liegt, so die Begründung von "oben" ;) @olc: sorry, der tip greift auch nicht, hab nun schon sogut wie alles probiert.. das \< dahinter davor mit und ohne leerzeichen :rolleyes: gibts noch weitere Ratschläge? :) @Sunny61: ach wie gern wär ich jetz am see ;) Zitieren Link zu diesem Kommentar
Sunny61 806 Geschrieben 7. Juli 2011 Melden Teilen Geschrieben 7. Juli 2011 die GPP-Variante ist auf jeden Fall eine Variante, an der man festhalten sollte... Als Begründung FÜR ein logon-skript --> falls mal ein mapping nicht funktioniert, führe ich logon-skript erneut durch und sehe direkt dessen Fehlermeldung (Fehlersuche damit einfacher) als bei GPOs --> da hab ich im Endeffekt nur die möglichkeit mit gpupdate /force die Richtlinie neu zuzustellen, aber wenn das nicht funzt weiß ich immernoch nicht an was es liegt, so die Begründung von "oben" ;) Dann sollen die von oben doch mal das Ereignisprotokoll aufrufen, da findet man schon genügend Infos. Und es reicht in fast allen Fällen ein gupdate mit Ab- und wieder Anmelden völlig aus. Wer administriert die Systeme? Du oder die von oben? Wenn Du, weshalb schreiben die von oben dann vor, mit welchem Werkzeug Du bestimmte Aufgaben durchführen sollst? Zitieren Link zu diesem Kommentar
olc 18 Geschrieben 7. Juli 2011 Melden Teilen Geschrieben 7. Juli 2011 Hi nochmal, abgesehen davon (siehe auch die anderen kommentare), daß ich das Vorgehen nicht für sinnvoll halte - nur der Vollständigkeit halber: So sollte es funktionieren. @echo on set a=abcd %logonserver%\netlogon\whoami.exe /groups | findstr /I "\<%a%" ::Gruppe nicht gefunden if errorlevel == 1 echo Gruppe %a% nicht gefunden ::Gruppe gefunden if errorlevel == 0 echo Gruppe %a% gefunden Viele Grüße olc Zitieren Link zu diesem Kommentar
gw5 10 Geschrieben 8. Juli 2011 Autor Melden Teilen Geschrieben 8. Juli 2011 thx to olc jawoll so funktionierts. Um eine exakte Suche nach einer bestimmten Gruppe mittels whoami durchzuführen, kann folgendes Skript verwendet werden: @echo on set a=abcd %logonserver%\netlogon\whoami.exe /groups | findstr "\<%a%\>" ::Gruppe nicht gefunden if errorlevel == 1 echo Gruppe %a% nicht gefunden ::Gruppe gefunden if errorlevel == 0 echo Gruppe %a% gefunden Danke nochmals für eure Hilfe, cooles board. :) 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.