Zum Inhalt springen

VB / VBS Active Directory [ADSI]


FisyX

Empfohlene Beiträge

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 ;)

Link zu diesem Kommentar
Auf anderen Seiten teilen

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 ^^

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

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

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

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

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...