lash87
Goto Top

Active Directory mit MS SQL DB synchronisieren (Server2008)

Suche Anleitung, Tipps, alles was weiterhilft

Hallo zusammen,

ich würde gerne Benutzer aus einer MS SQL DB in die AD (Windows Server 2008 Enterprise) importieren. Die Situation ist folgende:
In einem Verwaltungsprogramm werden neue Personen angelegt, die in einer MS SQL DB gespeichert werden. Diese möchte ich inklusive Gruppe (wird bei der Erfassung mit eingegeben) in die AD importieren. Also am besten automatisch synchronisieren. Das Passwort der Benutzer soll dabei dem Benutzernamen entsprechen. Habe jetzt zwar schon einige Beiträge im Netz gefunden, in denen etwas von LDAP steht, allerdings kein howto oder ähnliches. Hat hier jemand eine Ahnung wie man das realisieren kann? Oder ist es gar nicht machbar und ich muss mir etwas anderes überlegen?

Grüße

Lash

Content-Key: 144107

Url: https://administrator.de/contentid/144107

Printed on: April 19, 2024 at 10:04 o'clock

Member: dog
dog Jun 03, 2010 at 09:01:15 (UTC)
Goto Top
Forefront Identity Manager sollte ein MSSQL Plugin haben.
Das ist natürlich die teuerste denkbare Lösung.

Du kannst auch einfach alle paar Minuten ein Script über die DB laufen lassen und die Benutzer daraus anlegen (die bräuchtest nur einen eindeutigen Bezeichner wie die employeeID).

Dazu kannst du VBScript oder Powershell benutzen.

http://msdn.microsoft.com/de-de/library/system.data.sqlclient.aspx
http://msdn.microsoft.com/en-us/library/aa772170(VS.85).aspx
http://thelazyadmin.com/blogs/thelazyadmin/archive/2007/05/14/create-an ...
Member: Lash87
Lash87 Jun 04, 2010 at 08:12:09 (UTC)
Goto Top
Sehr gute Idee mit der Powershell. Dafür schon mal danke! Sitze gerade dran. Wollte die Benutzer auslesen, in eine txt schreiben und dann ins AD. Will noch nicht so richtig aber wird schon face-smile

EDIT:
Hänge gerade irgendwie. Vllt weiß jemand weiter. Ich habe jetzt meine Daten aus der DB in einer Textfile. Diese sollen nun der AD hinzugefügt werden. Habe die Active Role Management Shell for AD installiert, um die cmdlets für die AD zu haben. Klappt damit auch ganz gut. Meine eigentliche Frage ist, wie erstelle ich mit der PS eine txt, die ich nutzen kann um Benutzer meiner AD hinzuzufügen?

Script sieht im Moment so aus:

$SqlConnection = New-Object System.Data.SqlClient.SqlConnection
$SqlConnection.ConnectionString = "Server=DICKE-MUTTI\SQLEXPRESS;Database=ad-test;Integrated Security=True"  
$SqlCmd = New-Object System.Data.SqlClient.SqlCommand
$SqlCmd.CommandText = "select * from [ad-test].[dbo].[user] order by [benutzer]"  
$SqlCmd.Connection = $SqlConnection
$SqlAdapter = New-Object System.Data.SqlClient.SqlDataAdapter
$SqlAdapter.SelectCommand = $SqlCmd
$DataSet = New-Object System.Data.DataSet
$SqlAdapter.Fill($DataSet)
$SqlConnection.Close()
Write-Output $DataSet.Tables | Out-File "c:\blubb.txt"  

Dabei wird mir folgendes ausgegeben:

benutzer        gruppe          test            test2         
--------        ------          ----            -----         
blubb           kt1             rehjr           irtghje       
hans            ki1             asd             asdf          
kalle           hm1             sdfg            kjgh    

Jetzt muss dieser ganze Spaß allerdings noch dazwischen:

New-QADUser [-Name] <String> -ParentContainer <IdentityParameter> [-UserPassword 
<String>] [-City <String>] [-Company <String>] [-Department <String>] [-Email <String>] 
.........................

Natürlich nur einige Parameter, weiß aber nicht wie ich diese dazwischen bekomme. Hilfe!
Member: dog
dog Jun 04, 2010 at 13:54:18 (UTC)
Goto Top
foreach($user in $DataSet.Tables) {
  New-QADUser -Name $user.benutzer
}

So aus dem Kopf.
Member: Lash87
Lash87 Jun 07, 2010 at 05:28:57 (UTC)
Goto Top
Vielen Dank, funktioniert einwandfrei!