Zum Inhalt springen

Benutzer ins AD eintragen mittels VBScript


Empfohlene Beiträge

Geschrieben

Also ich soll ein Script schreiben das 100 neue Benutzer ins Active Directory einträgt.

Habe Windows 2003 server hier auf Virtual PC installiert.

Aber ich finde irgendwie keinen Ansatz! Hab auch schon bei Google gesucht, aber ich finde nichts :(

Geschrieben

' Connection Object erzeugen

Set ConnectionObject = CreateObject("ADODB.Connection")

ConnectionObject.Provider = "ADSDSOObject"

ConnectionObject.Open

'Command Object erzeugen

Set CommandObject = CreateObject("ADODB.Command")

'Command Objet der Connection Zuweisen

Set CommandObject.ActiveConnection = ConnectionObject

Was du nun machen musst ist dich mit den beiden Objekte zu beschäftigen. Hilfe gibt es im Internet ;) such ma im MSDN

Geschrieben

Ich weis das es um Active Directory geht... glücklicherweise unterstützt Win 200X Server das LDAP Protokoll... und somit sollte das funzen ;)

oder die Fragestellung is wirklich zu kurz!!!

grz Ange

Geschrieben
Ich weis das es um Active Directory geht... glücklicherweise unterstützt Win 200X Server das LDAP Protokoll... und somit sollte das funzen ;)
Ich wusste gar nicht, dass das auch mit ADO geht - wieder was gelernt :floet:

Hier noch ein Link dazu.

Geschrieben

Jetzt ein bisschen differenziertere Angaben, außerdem soll ich jetzt erstmal beginnen das AD auszulesen und erst wenn ich das kapiert hab, was reinschreiben ;)

Hab mir von diesem Tool http://www.computerperformance.co.uk/Logon/LDAP_attributes_ADSIEdit.htm ein Script zum auslesen (will erst mal da AD auslesen bevor ich versuch was reinzuschreiben ;) ) erstellen lassen. Jetzt sollte man da aber irgendwo den LDAP-Pfad eintragen, Problem: Wie finde ich den korrekten LDAP Pfad heraus?

So sieht das generierte Script aus:

strContainer = "Users"

strName = "EzAdGroup"


On Error Resume Next


'***********************************************

'*          Connect to an object                 *

'***********************************************

Set objRootDSE = GetObject("LDAP://rootDSE")

If strContainer = "" Then

  Set objItem = GetObject("LDAP://" & _

    objRootDSE.Get("defaultNamingContext"))

Else

  Set objItem = GetObject("LDAP://cn=" & strName & "," & strContainer & "," & _

    objRootDSE.Get("defaultNamingContext"))

End If

'***********************************************

'*         End connect to an object           *

'***********************************************


WScript.Echo VbCrLf & "** General Properties Page**"

WScript.Echo "** (Single-Valued Attributes) **"

strname = objItem.Get("name")

WScript.Echo "name: " & strname

strsamAccountName = objItem.Get("samAccountName")

WScript.Echo "samAccountName: " & strsamAccountName

strdescription = objItem.Get("description")

WScript.Echo "description: " & strdescription

strmail = objItem.Get("mail")

WScript.Echo "mail: " & strmail


WScript.Echo VbCrLf & "** General Properties Page**"

WScript.Echo "** (The groupType attribute) **"

Set objHash = CreateObject("Scripting.Dictionary")

objHash.Add "ADS_GROUP_TYPE_GLOBAL_GROUP", &h2

objHash.Add "ADS_GROUP_TYPE_DOMAIN_LOCAL_GROUP", &h4

objHash.Add "ADS_GROUP_TYPE_UNIVERSAL_GROUP", &h8

objHash.Add "ADS_GROUP_TYPE_SECURITY_ENABLED", &h80000000

intgroupType = objItem.Get("groupType")

For Each Key in objHash.Keys

  If objHash(Key) And intgroupType Then

    WScript.Echo Key & " is enabled."

  Else

    WScript.Echo Key & " is disabled."

  End If

Next

If intgroupType AND objHash.Item("ADS_GROUP_TYPE_DOMAIN_LOCAL_GROUP") Then

  WScript.Echo "Group Scope: Domain Local Group"

ElseIf intGroupType AND objHash.Item("ADS_GROUP_TYPE_GLOBAL_GROUP") Then

  WScript.Echo "Group Scope: Global Group"

ElseIf intGroupType AND objHash.Item("ADS_GROUP_TYPE_UNIVERSAL_GROUP") Then

  WScript.Echo "Group Scope: Universal Group"

End If

If intgroupType AND objHash.Item("ADS_GROUP_TYPE_SECURITY_ENABLED") Then

  WScript.Echo "Group Type: Security"

Else

  WScript.Echo "Group Type: Distribution"

End If

WScript.Echo VbCrLf & "** Managed By Properties Page**"

WScript.Echo "** (Single-Valued Attributes) **"

strmanagedBy = objItem.Get("managedBy")

WScript.Echo "managedBy: " & strmanagedBy


If strmanagedBy <> "" Then

  Set objItem1 = GetObject("LDAP://" & strManagedBy)

  WScript.Echo "physicalDeliveryOfficeName: " & _

    objItem1.physicalDeliveryOfficeName

  WScript.Echo "streetAddress: " & _

    objItem1.streetAddress

  WScript.Echo "l: " & _

    objItem1.l

  WScript.Echo "c: " & _

    objItem1.c

  WScript.Echo "telephoneNumber: " & _

    objItem1.telephoneNumber

  WScript.Echo "facsimileTelephoneNumber: " & _

    objItem1.facsimileTelephoneNumber

End If


WScript.Echo VbCrLf & "** Member Properties Page**"

WScript.Echo "** (MultiValued Attributes) **"

strmember = objItem.GetEx("member")

WScript.Echo "member:"

For Each Item in strmember

 WScript.Echo vbTab & Item

Next


WScript.Echo VbCrLf & "** Member Of Properties Page**"

WScript.Echo "** (MultiValued Attributes) **"

strmemberOf = objItem.GetEx("memberOf")

WScript.Echo "memberOf:"

For Each Item in strmemberOf

 WScript.Echo vbTab & Item

Next


WScript.Echo VbCrLf & "** Managed By Properties Page**"

WScript.Echo "** (Single-Valued Attributes) **"

strmanagedBy = objItem.Get("managedBy")

WScript.Echo "managedBy: " & strmanagedBy


If strmanagedBy <> "" Then

  Set objItem1 = GetObject("LDAP://" & strManagedBy)

  WScript.Echo "physicalDeliveryOfficeName: " & _

    objItem1.physicalDeliveryOfficeName

  WScript.Echo "streetAddress: " & _

    objItem1.streetAddress

  WScript.Echo "l: " & _

    objItem1.l

  WScript.Echo "c: " & _

    objItem1.c

  WScript.Echo "telephoneNumber: " & _

    objItem1.telephoneNumber

  WScript.Echo "facsimileTelephoneNumber: " & _

    objItem1.facsimileTelephoneNumber

End If

Ich steh grad voll auf der Leitung, keine Ahnung wie ich jetzt vorgehen muss… Will erst mal im AD im Ordner Users die Gruppen auslesen… :confused: :(

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