Jump to content

Eingelese Objekte überprüfen in VBScript


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

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

Link zu diesem Kommentar

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"

Link zu diesem Kommentar

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

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...