• Active Directory
    • AD Consulting
    • AD Design
      • Domain Name festlegen
      • Domain Struktur einrichten
      • Forest Struktur definieren
    • AD Management
    • AD Automation
      • Dynamic Access Control (DAC)
    • AD Federation Services
      • ADFS Betrieb
      • ADFS und Office365
      • ADFS und Cisco Unified Communications Manager
      • SAML und ADFS 2.0
  • Azure / M365
    • Azure AD
    • Microsoft 365 (O365)
  • Migration
    • Active Directory Migration
    • Exchange Migration
    • File Server Migration
    • Lotus Notes Migration
    • Novell Migration
  • Wissen
    • Alle Beiträge
    • Administration
    • PowerShell
    • Migration
    • Exchange
    • Tools
  • Kontakt
    • Wir über uns
    • Kontakt
  • EN
info@firstattribute.com
by FirstAttribute
Active Directory FAQActive Directory FAQ
  • Active Directory
    • AD Consulting
    • AD Design
      • Domain Name festlegen
      • Domain Struktur einrichten
      • Forest Struktur definieren
    • AD Management
    • AD Automation
      • Dynamic Access Control (DAC)
    • AD Federation Services
      • ADFS Betrieb
      • ADFS und Office365
      • ADFS und Cisco Unified Communications Manager
      • SAML und ADFS 2.0
  • Azure / M365
    • Azure AD
    • Microsoft 365 (O365)
  • Migration
    • Active Directory Migration
    • Exchange Migration
    • File Server Migration
    • Lotus Notes Migration
    • Novell Migration
  • Wissen
    • Alle Beiträge
    • Administration
    • PowerShell
    • Migration
    • Exchange
    • Tools
  • Kontakt
    • Wir über uns
    • Kontakt
  • EN

Powershell: Massenimport von Active Directory Benutzern aus einer SQL-Server Tabelle

Dez 18, 2013 (Letztes Update) | Posted by Peter Schäfer PowerShell, Programmierung |

 

In dem folgenden Beispiel wird gezeigt, wie man mit einem Powershell Script Benutzer im Active Directory anlegt, deren Namen in einer SQL-Datenbank gespeichert sind.

Das Ergebnis des Massenimports wird anschließend per Mail verschickt.
Dieses Script könnte zum Beispiel einmal pro Nacht neue AD-Konten aus einer HR-Datenbank anlegen.

Ich habe dieses Script bewusst einfach gehalten, um die Funktionen deutlicher erkennbar zu machen.

Voraussetzungen für die Ausführung sind

  • Powershell ab Version 2.0 (es werden keine ‚Spezial-Module‘ verwendet)
  • Zugriff auf die Datenbank
  • Rechte zum Anlegen eines User-Objekts im angegeben Benutzer-Container

 

Script: Bulk-Import von AD Usern aus SQL Server Tabelle

$mail = user@domain.com  <# Sender- und Empfänger-Mailbox für Import-Ergebnis #>

$smtpServer = „servername“ <# SNMP-Server (muss angepasst werden)#>

$con = „Data Source=localhost\SQLEXPRESS;Initial Catalog=UserDB;Integrated Security=True“ <# SQL-Verbindungszeichenfolge#>


<# Der Active-Direcory Container unter dem die neuen Konten angelegt werden #>

$containerDN = „LDAP://OU=Users,OU=DEN01,OU=US,DC=domain,DC=net“


<# Die SQL-Abfrage gegen die Datenbank… #>

$query = „SELECT  LogonName FROM LogonNames WHERE … „

$adapter = new-object system.data.sqlclient.sqlDataAdapter($query,$con)

$table = new-object System.data.dataTable

$adapter.Fill($table) <# Hier wird die eigentliche Abfrage durchgeführt… #>


<# Referenz auf den AD-Benutzer-Container erstellen… #>

$userContainer = New-Object System.DirectoryServices.DirectoryEntry($containerDN)

del $logFile -ErrorAction Ignore <# Löschen des Logfiles #>


<# Für alle Zeilen der Ergebnistabelle ausführen… #>

foreach($row in $table.Rows)

{

      $logonName = $row[„LogonName“]
<# Wert für Benutzername aus Tabellenspalte „LogonName“ auslesen…  #>

     try

     {

          <# Erstellen des AD-Benutzerkontos #>

          $newUser = $userContainer.Children.Add(„cn=$logonName„,“User“)

          $newUser.Properties[„samAccountName“].Value=$logonName

          $newUser.CommitChanges()

          $newUser.Path >> $logFile <#AD-Pfad des neuen Kontos in Logdatei #>

      }

catch [Exception]

       {

            <# Fehlerbehandlung #>

            „Error creating user $logonName“ >>  $logFile

             $_ >> $logFile

        }

}


<# Versenden des Logfiles an eine Mailbox #>

Send-MailMessage -SmtpServer $smtpServer -From $mail -To $mail -Subject User-Import -Attachments $logFile

 

Erweiterungsmöglichkeiten:

In diesem Beispiel wird der Benutzer nur mit den notwendigsten Attributen „samAccountName“ und „cn“ angelegt. Das Ergebnis ist ein deaktiviertes Benutzerkonto ohne Kennwort.

Wenn weiter Eigenschaften aus der Datenbank genutzt werden sollen, sind folgende Änderungen notwendig:

$query = „select LogonName, Attribute1 from LogonNames“

Hinter der Zeile:

$newUser.Properties[„samAccountName“].Value=$logonName

Muss eine neue Zeile eingefügt werden:

$newUser.Properties[„ldapAttribute1“].Value=$row[„Attribute1“]

 

Hinweis:

Es werden schreibende Zugriffe auf das Active Directory ausgeführt!
Das Script sollte vor dem Produktiveinsatz sorgfältig getestet werden.
Der Autor übernimmt keinerlei Haftung für Datenverlust, unerwünschte Nebeneffekte oder sonstige Garantien. Das Risiko aus der Verwendung oder Leistung des Scripts trägt der Anwender.

Powershell AD SQL Mail

Powershell AD SQL Mail
Artikel weiterempfehlen:
  • teilen
  • tweeten
  • sharen
  • xingen
  • mailen
Artikel erstellt am: 20.12.2013
Tags: Active DirectoryDatenbankExportImportPowerShellSQL
0

You also might be interested in

AD-PowerShell-Linux-Attribute

Linux Attribute am AD-User ändern (Powershell)

Nov 30, 2015

Will man die Linux Attribute gidNumber, uid und uidnumber per[...]

Mailversand über O365 automatisieren

Mailversand über O365 automatisieren

Nov 26, 2019

Vielerorts wird von Microsoft Exchange auf Office 365 umgestellt. Damit[...]

Bitlocker-Recovery Password mit PowerShell auslesen

Bitlocker-Recovery Password mit PowerShell auslesen

Nov 2, 2020

In vielen Unternehmen wird die Verschlüsselung mit BitLocker genutzt. BitLocker[...]

Leave a Reply

<p>Danke für Ihre Anregungen, Fragen und Hinweise.<br/>Infos zum <a href="https://www.active-directory-faq.dekontakt/">Datenschutz</a></p>
Cancel Reply

FirstWare IDM-Portal im Test: IT-Administrator 08-2022

 

ADFAQ-FirstAttribute

Wer schreibt ?

Team der FirstAttribute AG

Consultants und Entwickler der FirstAttribute arbeiten seit mehr als 20 Jahren in IAM- und Cloud-Transition-Projekten.
Zusammen verfügen Sie über einen wertvollen Erfahrungsschatz im Bereich Active Directory und Azure AD und teilen diesen auf Active Directory FAQ.

Neueste Artikel

  • 8 Tipps für mehr Sicherheit in Active Directory und Backups von AD
  • Azure AD Custom Security Attributes ermöglichen flexible Berechtigungsstrukturen
  • Dateiberechtigungen in MS Teams und SharePoint Online verwalten – So funktioniert es
  • AD-Gruppen in Microsoft Teams verwenden – Dynamische Gruppen in der Praxis
  • Verbindung zwischen Microsoft 365 und SharePoint Online zu Azure AD

Unsere IAM-Lösungen

Ihre IAM-Lösung: FirstWare IDM-Portal

 

my-IAM für Cloud Identity Management in Microsoft Teams

Kontakt aufnehmen

Sie haben eine Frage oder Anmerkung? Schicken Sie uns schnell eine Nachricht.

Nachricht senden
Jetzt AD Tasks vereinfachen und delegieren: FirstWare IDM-Portal

Folgen Sie uns

Kontakt

  • FirstAttribute AG
  • Am Büchele 18, 86928 Hofstetten, Germany
  • +49 89 215 442 400
  • https://www.firstattribute.com

Schlagwörter

.Net ACL Active Directory AD LDS AD Objekt Azure AD Berechtigung Cloud cmdlets Delegation Domain Controller dynamicgroup dynamische Gruppen Exchange Exchange-Ordner Exchange-Postfach Exchange Migration Federation FirstWare Get-Mailbox Global Catalog Group Policy Gruppen Gruppenmitgliedschaft IDM-Portal LDAP m365 Microsoft Azure Migration New-ADUser Novell NTFS Office 365 PowerShell QMM QMM AD QMM Exchange Quest Migration Manager Schema Set-ADUser SID SID History Update Windows 10 Windows Server 2012 R2

Neueste Kommentare

  • activedirectoryfaq.com sharepoint login - infoslist bei Windows 365 und Azure AD verstehen in Theorie und Praxis
  • Domäne Letzte Anmeldung - ObenGesichert.com bei LastLogon vs. LastLogonTimestamp
  • Teams Code Zur Anmeldung - ObenGesichert.com bei Authentifizierung für MS Teams in hybriden Netzwerken
Login
Impressum
Datenschutzerklärung

© 2023 · Active-Directory-FAQ by firstattribute.com

Prev Next