Kategorien
Scripte

How to create Active Directory User

Ein Active Directory Benutzer ist ein Benutzerkonto, das in einer Windows-basierten Netzwerkumgebung über das Active Directory (AD) erstellt und verwaltet wird.

Binäre Darstellung

Benutzer im Active Directory erzeugen

Ein Active Directory Benutzer ist ein Benutzerkonto, das in einer Windows-basierten Netzwerkumgebung über das Active Directory (AD) erstellt und verwaltet wird. Dieses Konto ermöglicht es einem Benutzer, sich an Computern im Netzwerk anzumelden und Ressourcen wie Dateien und Drucker zu nutzen. Das Active Directory speichert Informationen über den Benutzer, einschließlich seines Namens, Passworts und Zugriffsrechten, und ermöglicht die zentrale Verwaltung von Benutzerkonten und deren Berechtigungen in einer Organisation.

Ihr wollt nicht immer wieder die Active Directory (AD)-Benutzer MMC öffnen, herum klicken, Tippfehler machen und zum x-ten Mal ein neues Benutzerkonto erstellen? Wenn dies der Fall ist, ist es Zeit das Hinzufügen eines Benutzers zu automatisieren.

Wie meistens existieren hierfür mehrere Wege, die alle zum Ziel führen.
Der Erste ist, einen Benutzer mittels Script anzulegen und die benötigten Attribute mitzugeben.
Ein Zweiter Weg ist, einen vorhandenen Benutzer zu kopieren. In dem Fall ist ein Referenzobjekt erforderlich. Die dritte Möglichkeit besteht darin mittels einer csv-Liste die Objekte und Eigenschaften zu übermitteln.

Für welchen Weg ihr euch entscheidet müsst ihr selbst festlegen.

Code

Hier ist der zentrale Source Code zu der Prozedur User anlegen.
Anpassen müsst ihr nur Domain, und natürlich eine Userliste bereitstellen.

'User anlegen in der root der Domain
Private Sub mnu_User_Create_Click()
Dim objAs, sUser, sOU, sGroup
Dim Container As IADsContainer
Dim user As IADsUser
Dim objUser
'Variablen belegen
sLastName = cNachname.Text
sGivenName = cVorname.Text
sFullname = sLastName & " " & sGivenName
sDescription = "User"
Set adsi = GetObject("LDAP:")
Dim dc(10)

tmp = Domain.Text
i = 1
While (InStr(1, tmp, ".")) <> 0
laenge = Len(tmp): punkt = InStr(1, tmp, "."):_
dc(i) = Left(tmp, punkt - 1) & ",": rest = laenge - punkt
tmp = Right(tmp, rest): i = i + 1
Wend
dc(i) = tmp
For K = 1 To i
  DomSTR2 = DomSTR2 & "dc=" & dc(K)
Next K
DomSTR = Domain.Text & "/" & DomSTR2
  Set objAs = adsi.OpenDSObject("LDAP://" &_
  DomSTR, admin.Text, adminpwd.Text, 1)
  Set objUser = objAs.Create("User", "CN=" & sFullname)
  objUser.FullName = sFullname
  objUser.Description = sDescription
  objUser.LastName = sLastName
  objUser.GivenName = sGivenName
  objUser.Put "company", "Company"
  
  objUser.Put "samAccountname", LCase(cAccountname)
  objUser.Put "UserPrincipalName",_
  LCase(cAccountname) & "@" & Domain
  objUser.SetInfo
Kontrollfeld.Text = Err.Number & " ; " & Err.Description
  Err.Clear
  
  Set user = adsi.OpenDSObject("LDAP://" &_
  Domain & "/" & "CN=" & sFullname & "," &_
  DomSTR2, admin.Text, adminpwd.Text, 1)
  Set Container = GetObject(user.Parent)
  user.AccountDisabled = False
  user.SetPassword (cpassword.Text)
  user.SetInfo
  If Err.Number = 0 Then cerror =_
  "User erfolgreich angelegt" Else cerror =_
  Err.Number & " ; " & Err.Description
  Kontrollfeld.Text = cerror
  Err.Clear
End Sub

Dieses Scriptstück ist inzwischen etwas in die Jahre gekommen.

Inzwischen verwende ich Powershell zur Lösung derartiger Aufgaben. Mit New-ADUser erreicht ihr hier einen besseren Code bei der Umsetzung. Hier nur ein Beispiel.

New-ADUser -Name "h.muster" -OtherAttributes @{'title'="your title";'mail'="h.muster@yourdomain.de"}

Es ist auch sehr einfach alle bekannten Attribute bei der Anlage mitzugeben wie Passwort, Standort, Organisation, Homelaufwerk, Gültigkeitszeitraum, Telefondaten, Stadt usw. Toll daran ist, ihr könnt das mit einem einzigen Powershell Befehl umsetzen.

Vorrausetzungen:

  • Windows PowerShell 5.1 auf eurem Rechner muss vorhanden sein.
  • Remote Server Administration Tools (RSAT). Dieses Paket installiert das Active Directory PowerShell Modul welches das New-AdUser cmdlet beinhaltet.
  • Ihr müsst an einem Rechner angemeldet sein, der Mitglied der Domain ist in der ihr die User anlegen wollt.
  • Der benutzte AD Account muss über die Berechtigungen verfügen Bentzer anzulegen.

Diesen Code verwendet ihr auf eigene Gefahr. Voraussetzung sind entsprechende Berechtigungen auf die AD Struktur. Ich übernehme keine Gewährleistung.

Michael Leidig

Von Michael

Diplom-Ingenieur
wohnhaft in München

Schreiben Sie einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert