MartinAD 10 Geschrieben 1. April 2010 Melden Geschrieben 1. April 2010 Hallo an alle! ich habe eine Frage zu einer LDAP Abfrage die ich auf mein AD Laufen lassen will. Es war mal èn Vogue in der Firma in der ich grade tätig bin, den Benutzern nur zu bestimmten Zeiten Anmeldeberechtigung zu geben. Das hat sich geändert, jetzt soll jeder immer zugriff haben sich anzumelden. Ich möchte mit einer LDAP Abfrage auf mein AD herausfinden bei welchen Usern noch Zeitbeschränkungen bestehen. Ich öffne dazu meine Benutzer und Computer -> Suche -> Benutzerdefinierte suche -> erweitert. Dann hab ich mich schlau gemacht wegen dem entsprechendem AD Parameter dazu, der lautet wohl "logonHours". Diesen Parameter möchte ich abfragen. Die einfachste Möglichkeit wäre gewesen, logonHours=$eingeschränkte_zeit. jetzt meine Frage: wie muss ich ich den wert $eingeschränkte_zeit schreiben? logonHours ist ja ein oktet wert, aber wie ich den nun im klartext schreiben muss, das weis ich nicht. Danke für eure Bemühungen :) Zitieren
olc 18 Geschrieben 1. April 2010 Melden Geschrieben 1. April 2010 Hi Martin, ein VBScript ist keine Alternative? faq-o-matic.net Anmeldezeiten fr AD-Benutzer per Skript ausgeben Viele Grüße olc Zitieren
MartinAD 10 Geschrieben 1. April 2010 Autor Melden Geschrieben 1. April 2010 mit dem Script kann ich die Anmeldezeiten für einen benutzer ausgeben, ich möchte sie aber für ALLE benutzer im AD ausgeben. Gibts da vllt. auch was? Zitieren
NilsK 2.982 Geschrieben 1. April 2010 Melden Geschrieben 1. April 2010 Moin, du kannst das Skript ja recht einfach modifizieren, dass es für alle User aufgerufen wird. Oder du leitest die Ausgabe von dsquery, AdFind o.ä. um und lässt das Skript auf Kommandozeilenparameter reagieren. Noch dazu kannst du es dir weiter vereinfachen und das Kommando "net user XYZ /domain" nutzen, in dessen Ausgabe die Zeitbeschränkung auch drinsteht. Um es für alle User aufzurufen, kannst du z.B. sowas machen: faq-o-matic.net Excel: Admins unbekannter Liebling Und was auch grundsätzlich funktioniert: Bei Objekten, für die nie eine Einschränkung definiert war, ist das Feld logonHours leer. Man kann also einfach abfragen, ob logonHours einen Wert hat (in LDAP: (logonhours=*), in SQL: WHERE logonHours='*'). Nachteil: Bei Usern, die mal eine Einschränkung hatten, welche dann aber im GUI wieder auf "alle Zeiten erlaubt" zurückgesetzt wurde, ist das Feld auf diese Weise nicht leer (sondern alle Bytes stehen auf FF - funktional dasselbe wie ein nicht vorhandener Wert, aber eben kein leeres Feld), solche Objekte würden in dieser Abfrage dann also auch zurückgegeben, obwohl sie faktisch nicht eingeschränkt sind. Naja, oder du schaust einfach auf der Seite, wo ich die Code-Grundlage für mein Skript herhabe: http://www.rlmueller.net/AllUsersLogonHours.htm Wahrscheinlich muss da aber auch die Korrektur für die Zeitzone gemacht werden (ist in meinem Code markiert). Gruß, Nils Zitieren
olc 18 Geschrieben 1. April 2010 Melden Geschrieben 1. April 2010 Hi, das Script kann sicher mit wenig Aufwand und etwas VBScript Kenntnissen angepaßt werden. Ansonsten müßte das sicherlich auch über die W7 / Windows Server 2008 R2 PowerShell AD CMDlets bzw. Quest AD CMDlets lösbar sein. [EDIT] Nils war schneller. :) [/EDIT] Viele Grüße olc Zitieren
MartinAD 10 Geschrieben 1. April 2010 Autor Melden Geschrieben 1. April 2010 Ok, ich denke mit eurer Hilfe kann ich mir selbst weiterhelfen - vielen Danke für eure Mühen, ich weis das zu schätzen! Zitieren
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.