Hallo iedereen,
Ik moet binnen kort een aardig groot aantal(200) gebruikers in een active directory zetten. Hiervoor heb ik een VB scriptje geschreven die gegevens uit een access database haalt en deze in de active directory zet.
het script:
==========================================================
Private Sub Form_Load()
Dim conn As ADODB.Connection
Dim RS As ADODB.Recordset
Dim oContainer
Dim oUser
Dim MACadr
Set conn = CreateObject("ADODB.Connection")
Set RS = CreateObject("ADODB.Recordset")
Set oContainer = GetObject("LDAP://OU=import,DC=fictief")
Set oUser = oContainer.Create("User", "CN= fictief" & MACadr)
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Persist Security Info=False;" & _
"Data Source=c:\fictief\fictief\fictief.mdb"
Set RS = conn.Execute("SELECT * FROM MAC;")
If Not RS.EOF Then
Do While Not RS.EOF
MACadr = RS.Fields("MACadr")
'Assign properties values to user
oUser.Put "samAccountName",
MACadr 
oUser.Put "givenName", "PIET"
oUser.Put "sn", "PIET"
oUser.Put "userPrincipalName", "PIET@fictief"
oUser.SetInfo
RS.MoveNext
Loop
End If
'Clean up
Set oUser = Nothing
Set oContainer = Nothing
conn.Close
RS.Close
WScript.Echo "Finished"
End
End Sub
==========================================================
Mijn vraag betreft het gedeelte met de
. Dit werkt niet... zodra ik hier als atribuut bv "PIET" neer zet gaat het goed. Als ik hier een variabele neer zet (MACadr) dan gaat het mis. Voor meer info over de put funtie zie: http://msdn.microsoft.com.../netdir/adsi/iads_put.asp of http://msdn.microsoft.com...nd_setting_properties.asp
Het moet dus een "xxxx" zijn en ik heb juist een variabele nodig die telkens een andere waarde heeft aan de hand de record die ingelezen is.
Weet iemand hier een oplossing voor? Ik heb al veel geprobeerd om dit te omzeilen maar het lukt niet
. Ik heb het echt nodig.
PS. Ik weet dat er verder nog een rare dingen in zitten maar dat kom later wel eerst dit.
Alvast bedankt
Ik moet binnen kort een aardig groot aantal(200) gebruikers in een active directory zetten. Hiervoor heb ik een VB scriptje geschreven die gegevens uit een access database haalt en deze in de active directory zet.
het script:
==========================================================
Private Sub Form_Load()
Dim conn As ADODB.Connection
Dim RS As ADODB.Recordset
Dim oContainer
Dim oUser
Dim MACadr
Set conn = CreateObject("ADODB.Connection")
Set RS = CreateObject("ADODB.Recordset")
Set oContainer = GetObject("LDAP://OU=import,DC=fictief")
Set oUser = oContainer.Create("User", "CN= fictief" & MACadr)
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Persist Security Info=False;" & _
"Data Source=c:\fictief\fictief\fictief.mdb"
Set RS = conn.Execute("SELECT * FROM MAC;")
If Not RS.EOF Then
Do While Not RS.EOF
MACadr = RS.Fields("MACadr")
'Assign properties values to user
oUser.Put "samAccountName",
oUser.Put "givenName", "PIET"
oUser.Put "sn", "PIET"
oUser.Put "userPrincipalName", "PIET@fictief"
oUser.SetInfo
RS.MoveNext
Loop
End If
'Clean up
Set oUser = Nothing
Set oContainer = Nothing
conn.Close
RS.Close
WScript.Echo "Finished"
End
End Sub
==========================================================
Mijn vraag betreft het gedeelte met de
Het moet dus een "xxxx" zijn en ik heb juist een variabele nodig die telkens een andere waarde heeft aan de hand de record die ingelezen is.
Weet iemand hier een oplossing voor? Ik heb al veel geprobeerd om dit te omzeilen maar het lukt niet
PS. Ik weet dat er verder nog een rare dingen in zitten maar dat kom later wel eerst dit.
Alvast bedankt