Jump to content

P.Foeckeler

Members
  • Gesamte Inhalte

    117
  • Registriert seit

  • Letzter Besuch

Alle erstellten Inhalte von P.Foeckeler

  1. Doch, LDAP-Filter gibt es auch Rekursiv, jedenfalls was die Attribute member + memberOf angeht. Man muss allerdings im LDAP-Filter einen seltsamen Modifier verwenden: :1.2.840.113556.1.4.1941: (LDAP_MATCHING_RULE_IN_CHAIN) Der Filter muss dann so aussehen: (memberOf:1.2.840.113556.1.4.1941:=CN=Gruppe98_Gesamt,OU=Gruppen,OU=Gesamt) oder eben für zwei Gruppen: (|(memberOf:1.2.840.113556.1.4.1941:=CN=Gruppe98_Gesamt,OU=Gruppen,OU=Gesamt)(memberOf:1.2.840.113556.1.4.1941:=CN=Gruppe99_Gesamt,OU=Gruppen,OU=Gesamt)) Diesen Filter sollte man allerdings nicht intensiv verwenden, denn er erzeugt eine relativ hohe Last am Domänencontroller. Auch kann ich Dir nicht genau sagen, wie das dann ist mit Domäne-übergreifenden Mitgliedschaften, ob er die auch rausfindet damit. Müßte man mal ausprobieren :) Gruß, Philipp
  2. Hallo zusammen, ich stimme mal meinen Vorrednern zu, es wird nicht ohne ReDesign/Umstrukturierung der Gruppenmechanik gehen. Denn vor Win2012 gibt es eine fixe Grenze für die Größe des Access Tokens, und die liegt genau bei 1014 Gruppenmitgliedschaften. Daraus resultieren dann nicht nur Zugriffsprobleme bei Filezugriff oder DB-Zugriff oder HTTP "Request Header too long" Fehler, sondern auch so häßliche Nebeneffekte dass z.B. plötzlich die Verarbeitung der Gruppenrichtlinien nicht mehr funktioniert. Sehr hinterhältig, deswegen besser frühzeitig die Gruppen und Mitgliedschaften restrukturieren... Zur Info: In das Access Token kommen nicht nur die SIDs der Gruppen, in denen ein User- oder Computer-Account unmittelbar enthalten ist, sondern die SIDs auch derjenigen, in denen eine Mitgliedschaft nur über Gruppenverschachtelung existiert. Da kommt dann schnell was zusammen in größeren Umgebungen. Sichtbar wird das am AD-Attribut "tokenGroups", hier sind die SIDs ALLER Gruppen sichtbar, in denen man direkt und indirekt enthalten ist. Sichtbar mit ADSIEdit, oder der W2K8 Registerkarte "Attribut-Editor" in der AD-Verwaltung...oder mit einem LDAP Browser. Gruß, Philipp
  3. Hallo, wie Dukel schon ganz richtig gesagt hat: Was hast du denn damit vor? Denn Deine Frage ist von vornherein erstmal viel zu unspezifisch um was dazu zu sagen... 1) Um welchen LDAP-Server handelt es sich denn auf der Linux-Seite? OpenLDAP, DirX, iPlanet oder ein anderer? 2) Welches Ergebnis soll denn die Kopplung erreichen? Willst Du Einträge aus dem Linux-LDAP in deinem globalen Adressbuch (Exchange/AD) sehen, oder sollen etwa Linux-Maschinen oder Benutzer auf Linux-Maschinen sich am AD anmelden können? Oder was anderes? Erst wenn das geklärt ist, kann man vielleicht vage antworten, was Dir weiterhelfen könnte. Es gibt für solche Kopplungen mehrere Lösungswege: Entweder Du machst den Abgleich auf Basis von eigenen Scripts oder Applikationen (powershell, vbscript, .NET etc), oder man macht es mit Hilfe von fertigen Kopplungs-Produkten (z.B. Microsoft Forefront Identity Manager). Im ersten Fall braucht man viel KnowHow, im zweiten Fall braucht man viel Geld :)
  4. Hallo, das Attribut das Du lesen möchtest, heißt nicht "AccountExpirationDate", sondern vielmehr "accountExpires". Hier siehst du die technischen LDAP-Namen von User-Attributen: SelfADSI : Attribute für AD User (Windows 2008) Das Attribut ist nicht ganz trivial auszulesen, weil es als so genannter Integer8-DateTime Wert gespeichert wird. Das sind dann Datum+Zeit ausgedrückt als 100-Nanosekunden-Abschnitte seit 01.01.1601 !! :) Hier gibt's Infos, wie mn solche Werte umwandelt in ein lesbares Datum: SelfADSI : Microsoft Timestamp / Interval Attribute mit Integer8 Syntax Viel Spass beim Scripten! Philipp
  5. Hallo, einen Vorschlag hätte ich noch: Wenn Du den Inhalt Deines Papierkorbes in einem Tool mit grafischer Anzeige anschauen willst, dazu vielleicht noch Objekte wiederherstellen am Original-Ort oder einem beliebigen anderen Container, dazu einen Überblick über die Parameter zu Thombstone-Lifetime und Deleted-Objects-Lifetime... ..dann nimm doch das kostenlose Tool hier: LAZARUS - Active Directory Deleted Objects Recovery :) Gruß, Philipp
  6. Warum zu lang ? Also rein vom System her kann ein DC locker mit Abfragen von weit mehr als 1000 Characters umgehen. Ist dass Eingabefeld in der MMC beschränkt oder was?
  7. Hmm, leider sieht es so aus, als müsstest du mit der langen Filtersyntax zurechtkommen. Denn wenn du mehrere Gruppen hast (z.B. XY.1, XY.2 oder XY.3), dann gibt es tatsächlich nur den Weg, die Mitgliedschaft einzeln über ODER-Verknüpfungen abzufragen. Also an (&(|(memberof=CN=XY.1,OU=Groups,OU=XY,OU=X,DC=subdomain2,DC=subdomain1,DC=de)(memberof=CN=XY.2,OU=Groups,OU=XY,OU=X,DC=subdomain2,DC=subdomain1,DC=de)(memberof=CN=XY.3,OU=Groups,OU=XY,OU=X,DC=subdomain2,DC=subdomain1,DC=de))(objectCategory=user)) führt nichts vorbei. Denn: Für die Abfrage nach einem Distinguished Name - Attribut (in unserem Fall "memberOf") sind keine Wildcards erlaubt. Ein (&(memberof=CN=XY.*,OU=Groups,OU=XY,OU=X,DC=subdomain2,DC=subdomain1,DC=de)(objectCategory=user)) klappt also nicht! Übrigens würde ich das Kriterium "(objectCategory=user)" immer ans Ende des Filters hängen, der Filter wird nämlich in der Reihenfolge der Kriterien ausgewertet, wenn das am Anfang steht, dann dauert die Abfrage viel länger, weil der DC erstmal ziemlich viele Treffer hat dadurch. Tip: SelfADSI : LDAP Filter Gruß, Philipp
  8. Hallo, also es noch nicht allzulange her ist, seitdem die Accoutns gelöscht wurden - d.h. wenn die Tombstones noch vorhanden sind (z.B. unter W2K8 180 Tage), dann kannst Du die Objekte mit einem geeigneten Tool im "Deleted Objects"-Container anzeigen lassen mit SID. LEX - The LDAP Explorer kann z.B. sowas: Gruß, Philipp
  9. Hallo, ich wollte noch anmerken, dass Quest Intrust mittlerweile abgelöst wurde durch das Produkt Quest Change Auditor. Der kann u.A. Mitgliedschaften überwachen und dann in Echtzeit eine Mail senden. Ist als ausgewachsene Audit-Lösung allerdings nicht gerade sehr billig und wahrscheinlich nicht so geeignet für das was du willst. Der Vorschlag mit dem stündlichen Powershell-Script dürfte wahrscheinlich am passensten für Deine Zwecke sein. Gruß, Philipp
  10. Hallo, also allein von der Logik her müßte es eigentlich reichen, den "System Management" Container genau in der Domäne anzulegen, in der sich der oder die SCCM-Server befinden. Denn was in diesem Container liegt, ist ein Objekt für je einen SCCM Server mit Managemenent Point Rolle, der in der Domäne installiert wird (Außerdem noch jeweils ein Objekt für jede SCCM-Site, der die betreffenden Server zugeordnet sind). Und diese Objekte werden doch dann von den Servern selbst dort angelegt (deswegen muss man ja auch die entsprechenden Berechtigungen vergeben...). D.h.: Jeder SCCM-Server legt das Zeug in seiner Domäne an und das war's. Die Clients müssten diese Info doch eigentlich aus dem Global Catalog auslesen können (also auch über Domänengrenzen hinweg), um "ihre" SCCM-Server und -Sites zu finden. Nur so eine Vermutung... Gruß, Philipp
  11. Hi Alex, ja das Attribut ist auch in einem W2K8 R2 / Ex 2010 Schema noch nach wie vor mit den gleichen Eigenschaften wie früher vorhanden, es ist ein Unicode-String: Phone-Pager-Primary attribute (Windows) Gruß, Philipp
  12. Hallo, nö, man kann ruhig einen ganzen ScriptBlock mit Try/Catch "versorgen", um größere Scripts leserlich zu halten...Schließlich werden Try/Catch Strukturen auch oft hierarchisch verschachtelt, wenn man da nicht zusammenfasst wird einem ja schwindelig :) Eine Verbesserung und genaue Information, woher der Fehler kommt und in was der Fehler besteht, wäre z.B. sowas hier: try { $currentAction = "Schritt 1" Mach-Irgendwas -IrgendeinParameter $currentAction = "Schritt 2" Mach-Nochwas -IrgendeinParameter $currentAction = "Schritt 3" Mach-Waszuletzt -IrgendeinParameter } catch [exception] { Write-Host ("Fehler bei $currentAction : " + $_.ToString()) } Gruß, Philipp
  13. Hallo, also die "Import-Module" Kommandos springen im Fehlerfall erst dann in den "Catch"-Bereich, wenn du sie so verwendest: Import-Module servermanager [b]-ErrorAction Stop[/b] Import-Module activedirectory [b]-ErrorAction Stop[/b] Un bei dem anderen, der im Fehlerfall trotz Sprung in den Catch trotzdem noch seinen Fehlertext ausgibt, würde ich es mal mit Remove-Windowsfeature RSAT-AD-PowerShell [b]-ErrorAction SilentlyContinue[/b] probieren. Gruß, Philipp
  14. Vielleicht fehlt Eurem Account noch die Berechtigung : "Reset Password" auf Computer-Objekte, und zwar auf Domänenebene, vererbt nach unten. Es handelt sich dabei um eines der "Extended Rights"....mit DSACLS muss man dann "Control Access" (CA) als Recht vergeben, mit einem "Reset Password" dahinter. Gruß, Philipp
  15. Hallo, das hört sich für mich nach einem Problem der maximalen Token Size an, und zwar wegen der "vielen" Gruppen, in denen ein betroffener Benutzer Mitglied ist. Denn er muss die SID (Security ID) jeder Gruppe bei der Anmeldung in seinem Access Token speichern. Man kann auf den Workstations die MaxTokenSize hochsetzen, dann passen mehr rein. Bei maximal 1015 Gruppen ist jedoch Schluss, da gibt es eine nicht unüberwindliche Grenze..... Schau mal hier nach: EventID 6 - Maximale Tokensize überschritten | Michael Foltin IT Consulting Gruß, Philipp
  16. Bevor ich's vergesse...für die, die Lumax noch nicht kennen: LUMAX - Active Directory User Maintenance Ist das jetzt unerlaubte Werbung? Hoffentlich nicht, denn Lumax ist kostenlos :) :) Gruß, Philipp
  17. Hallo Stibo, wenn ich mal als Programmierer von Lumax was dazu sagen darf :) Es ist tatsächlich so, das Lumax einen DC "sieht", den du nicht sauber demotet hast. Da das LastLogon eine Auswertung über alle DCs ist und nur dann Sinn macht wenn alle auch erreichbar sind, zeigt das Tool in diesem Fall lieber nichts an als unzuverlässige Anmeldedaten.... Beim Metadata-Cleanup mit NTDSUTIL verbindest du dich ürbigens nicht mit dem nicht mehr vorhandenen DC, sondern mit einem der normalen, noch aktiven! Gruß, Philipp
  18. Noch eine kleine Klug********r-Attacke am Rande: Die -21- in einer Domänen-SID gehört nicht zur Domänen-Kennung, diese Zahl steht für die Typisierung des nachfolgenden SID-Teils Genaue Doku über SIDs: SelfADSI : Microsoft Security Descriptor (SID) Attribute Gruß, Philipp
  19. Hallo, ich habe Deinen Filter mal innerhalb des LDAP Admin Tools "LEX - The LDAP Explorer" (ttp://www.ldapexplorer.com) in eine hierarchische grafische Struktur bringen lassen, dabei werden Deine Probleme leicht sichtbar: Mehrere Probleme: 1) Der von mir markierte Filter-Teil (objectCategory=user) ist mit einem AND mit allem anderen verbunden, da nutzt es dann nichts mehr, wenn du noch zusätzlich weiter unten in der Hierarchie Gruppen, Public Folder und Dynamische Verteilerlisten sehen willst..... also dieser Teil sollte raus aus dem Filter.... der führt übrigens dazu dass du nur noch kontakte siehst, denn die haben die Eigenschaft "objectCategory=person" :) 2) Doppelt gemoppelt: (mailNickname=*) bedeutet: Ich will nur Mail-Aktivierte Objekte sehen. MAil-aktivierte Objekte in einer Exchange-Umgebung sind dann genau User, Gruppen, DynDLs, Public Folder, Kontakte....weiter unten versuchst du all diese Typen nochmal extra im Filter aufzuführen, das ist sehr sehr umständlich.. 3) Nochmal doppelt gemoppelt: Der Part mit (homeMDB=*)(msExchangeHomeserverName=*) bedeutet: "Bitte nur Mail-aktivierte Benutzer mit Postfach, du hattest ja aber bereits vorher dmit (mailNickname=*) die Benutzer ohne Postfach ausgeschlossen.... Probiers mal mit diesem Filter: (&(mailnickname=*)(!(co=France))) Der bedeutet: "Alle Mail-aktivierten Objekte, außer denen in Frankreich." Wenn das nicht reicht und du z.B. brauchst "Alle Mail-aktivierten Objekte, außer den USERN in Frankreich", dann muss man nochmal was ändern dann melde Dich. Aber ansonsten kann ich Nils nur beipflichten, dass du ungenau spezifiziert hast, WAS genau du im Filter sehen willst.. :) Und überhaupt, in Zukunft hier: LEX Tutorial : Building LDAP Filters Gruß, Philipp
  20. Hallo, gelockte Accounts entsperren ist sehr einfach, jedoch ist es ziemlich tricky, die gelockten Accounts zu finden, es gibt hier mehrere Möglichkeiten, die in den verlinkten Tutorial-Artikeln alle beschrieben werden (wahrscheinlich am einfachsten, wenn Du die Variante "Kurzversion 2" aus dem ersten Tutorial-Artikel nimmst...) Auch ich habe leider nur VBS-Beispiele zu beiten, aber die kannst Du hoffentlich adaequat in Python umwandeln :) SelfADSI : Gesperrte Benutzer im Active Directory suchen und finden SelfADSI : Unlock - Entsperren von Active Directory Benutzerkonten Viele Grüße, Philipp
  21. Hallo, zu den Anmeldungen, obwohl der wiederhergestellt Benutzer eigentlich deaktiviert ist: Denkbar wäre vielleicht, dass an den Stationen warum auch immer überhaupt keine Kerberos-Verbindung zum DC möglich ist, dann hast du dort eine Anmeldung mit Cached Credentials - wenn der Benutzer früher einmal dort angemeldet war....vielleicht sowas? Waren die betreffenden Rechner-Accounts auch gelöscht und sind wiederhergestellt worden? Gruß, Philipp
  22. Hallo, als kostenlose AD-Tools würde ich Dir diese Helferlein empfehlen: LAZARUS : Active Directory Deleted Objects Recovery LIZA : Active Directory Analyse für Berechtigungen und ACLs LUMAX : Active Directory User Maintenance Hier ist der Link dazu : LEX - The LDAP Explorer : Free Tools Download Gruß, Philipp
  23. Hallo, du mußt bei deiner LDAP-Query irgendwo mitgeben, welche Attribute du sehen willst, das hier (&(objectCategory=person)(objectClass=user)(proxyAddresses=FAX:*)) ist eben leider keine komplette Query, sondern nur der Filter dazu... Was ich jetzt so von der LDAP Query Option im ADSearchAdmin gesehen habe, kannst du da anscheinend nicht beliebige Attribute zurückgeben lassen, sondern nur die Objekte selbst. Also muß anderesTool her, z.B. LEX - The LDAP Explorer oder per Script selbst eine CSV-Datei erzeugen, mit diesem Tutorial müßtest Du es eigentlich hinkriegen: SelfADSI : LDAP Objekte im Verzeichnis suchen mit ADO speziell mit diesem Unterpunkt: SelfADSI : LDAP Objekte im Verzeichnis suchen mit ADO Als Attribute kommen hier in Frage - proxyAddresses (da stehen dann halt die anderen Adressen auch mit drin) - facsimileTelephoneNumber Infos zu den Attributen: SelfADSI : Attribute für AD User (Windows 2000 / Windows 2003) Hoffe das hilft ein wenig weiter :) Gruß, Philipp
  24. hallo, also was du bräuchtest ist eine GINA Erweiterung (Grafical Identification and Authorization), andere Executable-Formen wie Deine Service-Versuche gehen hier nicht, ebenso wenig wie IDeen mit Login-Script, etc. denn das läuft ja erst wenn sich der USer angemeldet hat und das geht nicht, wenn das PW abgelaufen ist. Es gibt einige Software, die die offizielle GINA (der "Ctrl-Alt-Del"-Dialog) erweitert, z.B. der Novell-Client, oder Plattenverschlüssleungen wie Safeguard Easy. Es gibt auch kommerzielle Password-Self-Service-Software, die die Gina erweitert und genau das macht, was Du haben willst, z.B. sowas hier: Self-Service Password Reset/Account Unlock via Windows Logon (CTRL+ALT+DEL screen) using GINA/CP Password Management Functionality - ADSelfService Plus. Wie man allerdings eine eigene GINA bauen kann, weiß ich nicht genau, hier gibt es Hinweise dafür: The Essentials of Replacing the Microsoft Graphical Identification and Authentication Dynamic Link Library Vielleicht hilft Dir das ja weiter :) Gruß, Philipp
  25. Wirklich mysteriös.... Der hier vielleicht ? An LDAP simple bind to a Windows Server 2008 R2-based domain controller fails when the user name has more than 255 characters in the distinguished name Ansonsten fällt mir nicht mehr viel ein dazu...
×
×
  • Neu erstellen...