FisyX Geschrieben 8. September 2004 Geschrieben 8. September 2004 Hallo alle zusammen. Habe ein Problem Bin gerade in einem Praktikum und muss ein Script in VB bzw. VBS Programmieren. Dieses soll aus der Active Directory (Windows Server 2003) verschiedene Attribute auslesn. User -> Name, Vorname, Email Computer -> Name Danach soll dies mit einer Access Datenbank abgeglichen werden. Aber mir gehts erstmal ums auslesen. Bin ned alllzufitt in VB und hab mal das Internet nen bissel durchforstet.... kein erfolg.... Hab zwar scripte gefunden die ienen user oder alle user eienr OU auslesen aber dies konnte ich nicht verwenden. Die ADS ist folgendermaßen aufgebaut. - OU Company -- OU Filiale --- OU Standort ---- OU Abteilung ----- OU Mitarbeiter Hierzu zu sagen ist, das jeder Mitarbeiter seine eigene OU hat... z.b: gast1 ist mit seinem computer g001 in der OU g01. gast2 ist mit seinem computer g002 in der OU g02. usw... Hoffe jemand kann mir helfen... Brauch also ein Script, das alle OUs nach vorgegebenen Objekten und deren attribute durchsucht und dann ausgibt. Danke schonmal für eure Hilfe. Mit freundlichen Grüssen FisyX Zitieren
FisyX Geschrieben 8. September 2004 Autor Geschrieben 8. September 2004 Hab ne Antwort gefunden 'Global variables Dim oContainer Dim OutPutFile Dim FileSystem 'Initialize global variables Set FileSystem = WScript.CreateObject("Scripting.FileSystemObject") Set OutPutFile = FileSystem.CreateTextFile("struktur.txt", True) Set oContainer=GetObject("LDAP://") 'Enumerate Container EnumerateUsers oContainer 'Clean up OutPutFile.Close Set FileSystem = Nothing Set oContainer = Nothing WScript.Echo "Finished" WScript.Quit(0) Sub EnumerateUsers(oCont) Dim oUser For Each oUser In oCont Select Case LCase(oUser.Class) Case "user" If Not IsEmpty(oUser.distinguishedName) Then OutPutFile.WriteLine "dn: " & oUser.distinguishedName End If If Not IsEmpty(oUser.name) Then OutPutFile.WriteLine "name: " & oUser.Get ("name") End If 'need to do this because oUser.name would get back the Relative Distinguished name (i.e. CN=Jo Brown) If Not IsEmpty(oUser.st) Then OutPutFile.WriteLine "st: " & oUser.st End If If Not IsEmpty(oUser.streetAddress) Then OutPutFile.WriteLine "streetAddress: " & oUser.streetAddress End If If Not IsEmpty(oUser.givenName) Then OutPutFile.WriteLine "Vorname: " & oUser.givenName End If If Not IsEmpty(oUser.sn) Then OutPutFile.WriteLine "Nachname: " & oUser.sn End If If Not IsEmpty(oUser.mail) Then OutPutFile.WriteLine "E-Mail: " & oUser.mail End If If Not IsEmpty(oUser.computerName) Then OutPutFile.WriteLine "E-Mail: " & oUser.computerName End If Case "organizationalunit" , "container" EnumerateUsers oUser End Select OutPutFile.WriteLine Next End Sub Ach ja .... um die einzelnen ADS-LDAP Namen rauszufinden könnt ihr die Seite http://www.kaczenski.de/it-service/ad-ldap.htm verwenden oder das Programm Namens hyena ^^ Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.