nonliquet 10 Geschrieben 17. Februar 2010 Melden Teilen Geschrieben 17. Februar 2010 Hallo liebe Kollegen, ich komme leider nicht weiter und bitte euch um Hilfe! Ich möchte die User aus dem AD auslesen und auch wissen, ob sie gesperrt sind oder nicht (Win Server 2008). Dazu bin ich wie folgt vorgegangen: Um "verrutschte" User in anderen Container ebenfalls zu erwischen habe ich den obersten Container gewählt: Shell auf -> csvde -d "OU=Domänencontainer,DC=Domäne,DC=de" -l "sAMAccountName,sAMAccountType,userPrincipalName" -f c:\ad-user.csv Leider habe ich nun auch alle Gruppen, Computer, Kontakte etc mit über 3000 Einträgen :shock: mit in der csv-Datei. Es gibt bei weitem nicht so viele Benutzerkonten. Außerdem finde ich kein Attribut, was mir explizit verdeutlicht, dass der User gesperrt oder nicht gesperrt ist. Habt ihr eine Lösung für mich parat? :confused: Grüße, nonliquet Zitieren Link zu diesem Kommentar
NilsK 2.930 Geschrieben 17. Februar 2010 Melden Teilen Geschrieben 17. Februar 2010 Moin, faq-o-matic.net Jos 2.3: Kleine Korrektur Gruß, Nils Zitieren Link zu diesem Kommentar
Daim 12 Geschrieben 17. Februar 2010 Melden Teilen Geschrieben 17. Februar 2010 Servus, deine Abfrage stimmt nicht. Wenn dich lediglich die gesperrten Benutzer interessieren egal in welchem Container sich die Benutzer befinden, musst du gezielt das Attribut "lockoutTime" abfragen. Die Abfrage könnte so aussehen: Csvde -f "C:\Temp\GesperrteBenutzer.txt" -r "(&(objectCategory=Person)(objectClass=User)(lockoutTime>=1))" -l sAMAccountName,sAMAccountType,userPrincipalName Du könntest zwar eine Abfrage durchführen und dir dabei für jeden Benutzer das Attribut lockoutTime anzeigen lassen, doch das wird je nach Anzahl der Benutzer unübersichtlich. Die Abfrage könnte so aussehen: Csvde -f "C:\Temp\AlleBenutzer.txt" -r "(&(objectClass=user)(objectCategory=person))" -l samaccountname,sAMAccountType,userPrincipalName,lockoutTime Wenn dann bei lockoutTime solch ein Large Integer Wert eingetragen ist "129083854554461236", ist das Benutzerkonto gesperrt. Daher solltest du, wenn es dir lediglich um die gesperrten Benutzer geht, die erste Abfrage von mir verwenden. Zitieren Link zu diesem Kommentar
nonliquet 10 Geschrieben 17. Februar 2010 Autor Melden Teilen Geschrieben 17. Februar 2010 Hallo Nils, keine weiteren Fragen, das Skript ist mächtig und funktioniert, vielen Dank! Hallo Daim, ich habe die Befehlszeile ausgeführt, es wurden keine Einträge gefunden. Somit habe ich die Attribute eines Gesperrten mit einem aktiven User verglichen und festgestellt, dass die Werte gar nicht gesetzt sind. Deswegen wohl auch die Aussage über nicht gefundene Einträge. Gerne würde ich trotzdem mit deiner Funktion zum Ergebnis kommen, obwohl ich die gewünschten Daten schon habe. Grüße, nonliquet Zitieren Link zu diesem Kommentar
Daim 12 Geschrieben 17. Februar 2010 Melden Teilen Geschrieben 17. Februar 2010 ich habe die Befehlszeile ausgeführt, es wurden keine Einträge gefunden. Dann existieren keine gesperrten Benutzerkonten. Man darf gesperrte Benutzerkonten (zu oft falsch eingegebene Kennwörter) nicht mit deaktivierten Benutzerkonten verwechseln. Somit habe ich die Attribute eines Gesperrten mit einem aktiven User verglichen und festgestellt, dass die Werte gar nicht gesetzt sind. Du hast also das Attribut "lockoutTime" überprüft. Deswegen wohl auch die Aussage über nicht gefundene Einträge. Dann ist das Konto nicht gesperrt. Das kannst du ja auch in den Eigenschaften des Benutzerkontos verifizieren, ob dort der Haken bei "Konto ist gesperrt" gesetzt ist oder nicht. Gerne würde ich trotzdem mit deiner Funktion zum Ergebnis kommen, obwohl ich die gewünschten Daten schon habe. Zur Klarstellung: 1. Bei einem Benutzerkonto das noch nie gesperrt wurde, der Benutzer sich also immer erfolgreich an der Domäne authentisieren konnte, enthält das Attribut "lockoutTime" als Wert "<Not Set>". Wie oft der Benutzer ein falsches Kennwort eingeben darf bis sein Konto gesperrt wird, ist von der Kennwortrichtlinie vorgegeben. 2. Hat ein Benutzer sein Kennwort (mehr als es in der Kennwortrichtlinie definiert ist) zu oft falsch eingegeben, wird sein Benutzerkonto gesperrt. Dabei wird in "lockoutTime" ein Large Integer Wert eingetragen, dass den Zeitpunkt der Kontosperrung darstellt. 3. Wird ein Benutzerkonto vom Admin entsperrt, erhält das Attribut "lockoutTime" in den Eigenschaften des Benutzerkontos den Wert "0". Daran kann man erkennen, welche Benutzerkonten vom Admin schon einmal entsperrt wurden. 4. Wenn ein Benutzerkonto nach einer definierten Wartezeit durch eine Gruppenrichtlinie automatisch wieder entsperrt wurde, wird in "lockoutTime" der Zeitpunkt der Kontosperrung als ein Large Integer Wert eingetragen. Das Attribut "lockoutTime" enthält dann zwar einen Wert, aber der Haken "Konto ist gesperrt" ist logischerweise nicht "mehr" gesetzt. Der Wert in lockoutTime wird also nicht genullt und bleibt bestehen. Ist also eine Richtlinie definiert, in der ein Benutzer nach einer bestimmten Zeit automatisch wieder entsperrt wird, greift meine oben genannte erste Abfrage nicht. Dann muss errechnet werden ob die aktuelle Zeit größer ist als der Wert im Attribut "lockoutTime", plus die Zeit die ein Konto gesperrt bleiben soll (je nachdem wie es in der Kennwortrichtlinie definiert ist). Zitieren Link zu diesem Kommentar
nonliquet 10 Geschrieben 11. März 2010 Autor Melden Teilen Geschrieben 11. März 2010 Toll, ein großes Danke für deine ausführliche Beschreibung! :) Zitieren Link zu diesem Kommentar
Steffi 10 Geschrieben 14. September 2011 Melden Teilen Geschrieben 14. September 2011 Hallo, das obige Script funktioniert und ist toll... ich brauche aber eine weiterr Option in diesem Script: Ich brauche alle aktiven User und davon die User die sich seit 50 Tagen nicht mehr angemeldet haben. Könnt ihr mir helfen? Gruß, Steffi Zitieren Link zu diesem Kommentar
NilsK 2.930 Geschrieben 14. September 2011 Melden Teilen Geschrieben 14. September 2011 Moin, bitte für neue Fragen einen neuen Thread aufmachen und keinen alten kapern! Das Board warnt nicht umsonst. Von welchem Skript redest du jetzt genau? Von José? Das ist zur Dokumentation gedacht und nicht für Abfragen, wie du auch der FAQ entnehmen kannst: faq-o-matic.net » José: Version 3.0 ist da Du suchst sowas: faq-o-matic.net » Leichenzählung in Active Directory oder sowas: faq-o-matic.net » LUMAX: Schnelle Auswertung des Active Directory Gruß, Nils 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.