Wolfroc 10 Geschrieben 30. Juli 2007 Melden Teilen Geschrieben 30. Juli 2007 Hallo, vorweg möchte ich erwähnen, das ich noch ein Anfänger bin was Scripting betrifft. Ich muss ein Script schreiben welches bei allen Benutzern in der Domäne das Feld "Company" füllt. In den Grundzügen habe ich das Script auch bereits fertig, nur ergeben sich für mich 2 abschliessende Probleme: Mein Script nimmt alle Objekte (Benutzer als auch Gruppen) und versucht das Feld Company zu befüllen es soll aber nur die Benutzer "anfassen" und mein 2. Problem ist, wie kann ich das Script so umbauen, dass es wahllos alle OUs auf dem Server durchsucht und nicht nur die Standard OU "Users"? So sieht mein Script bisher aus: On Error Resume Next Const vCompany = "MusterCompany"* Set objRootLDAP = GetObject("LDAP://rootDSE") strDNSDomain = objRootLDAP.Get("defaultNamingContext") Set objContainer = GetObject("LDAP://cn=Users," & strDNSDomain) Set ou = GetObject ("LDAP://test.test.de/CN=Users, dc=test, dc=test, dc=de")** For Each obj In ou If obj obj.Put "company", vCompany obj.SetInfo WScript.Echo obj.samAccountName & VbCrLf & obj.company*** Next *) Handelt sich an der Stelle nur um ein Beispiel. **) Das Script läuft momentan noch auf einer Testdomäne, daher auch der komische LDAP-Pfad ;). ***) Das WScript ist zu Debugg-Zwecken drin. Vielen Dank an alle die Antworten! Mit freundlichen Grüßen Wolfi Zitieren Link zu diesem Kommentar
ducke 11 Geschrieben 30. Juli 2007 Melden Teilen Geschrieben 30. Juli 2007 Mach doch einfach eine "Gespeicherte Abfrage" in AD User and Computer mit folgendem Syntax: (&(objectCategory=person)(objectClass=user)(name=*)) Dann alle Benutzer markieren und unter Eigenschaften den Namen der Firma eintragen. //edit Syntax gefixt *g* oder noch einfacher per Kommandozeile: dsquery user | dsmod user -company "Deine Firma" Zitieren Link zu diesem Kommentar
Wolfroc 10 Geschrieben 30. Juli 2007 Autor Melden Teilen Geschrieben 30. Juli 2007 Mein Chef will leider nen VBScript dafür haben und daher wäre es cool, wenn jemand vllt. jemand doch noch die Lösung für meine Probleme hätte. :) Zitieren Link zu diesem Kommentar
blub 115 Geschrieben 30. Juli 2007 Melden Teilen Geschrieben 30. Juli 2007 Hallo, Dann schau dir die beiden Links im Scripting Guide an. Dort steht, wie man Objekte im AD sucht und filtert. Microsoft Corporation Microsoft Corporation Warum will dein Chef keinen Einzeiler, wie von Ducke vorgeschlagen? cu blub Zitieren Link zu diesem Kommentar
Wolfroc 10 Geschrieben 31. Juli 2007 Autor Melden Teilen Geschrieben 31. Juli 2007 Hallo danke nochmal an alle Antwortenden. Da ich heute im Aussendienst bin, komme ich leider nicht dazu, alles zu bearbeiten, werde dies aber dann am Mittwoch nachholen. @ blub: Ich werde meinem Chef den Einzeiler nochmal vorschlagen. :) @ ducke: dsquery user | dsmod user -company "Deine Firma" Wenn ich diesen Befehl über die Kommandozeile ausführe, dann gibt er doch alle Benutzer aus dem AD, egal welcher OU sie angehören, per dsquery an dsmod weiter oder? Und abschliessend ändert dsmod dann bei allen das Feld Company auf "Deine Firma" richtig? Ich weiß ich bin anstrengend und ein Newbie. :( Gruß Wolfi Zitieren Link zu diesem Kommentar
ducke 11 Geschrieben 31. Juli 2007 Melden Teilen Geschrieben 31. Juli 2007 Das ist richtig. Weitere Erklärungen findest du unter Microsoft Corporation oder einfach dsquery /? und dsmod /? 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.