VB script voor importeren veel users in Active directory

Pagina: 1
Acties:
  • 69 views sinds 30-01-2008

  • OCISCOOL
  • Registratie: Juni 2001
  • Laatst online: 23-07 12:06
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

  • Masch
  • Registratie: Augustus 2002
  • Laatst online: 21:16
Ik ken VB niet, maar in vba moet je een variabele tussen & tekens zetten, dus zoiets als dit;

oUser.Put "samAccountName", " & MACadr & "

Als dit niet van toepassing is in vb, moet je deze post maar als niet gepost beschouwen ;) suc6

(\__/) Ik wist totaal niet wat hier neer te zetten....
(='.'=) Dus het werd....
("")("") Een konijn!!


  • OCISCOOL
  • Registratie: Juni 2001
  • Laatst online: 23-07 12:06
Had ik ook al geprobeerd, wat doet die eikel geeft ie de gebruir de volgende naam "& MACadr &" |:(

  • Masch
  • Registratie: Augustus 2002
  • Laatst online: 21:16
In VBA moet je wel rekening houden met de spaties. Dus " & MACadr & ". Als dat het niet is weet ik het ook niet. Zoals ik al zei, 'k ben geen vb specialist.

(\__/) Ik wist totaal niet wat hier neer te zetten....
(='.'=) Dus het werd....
("")("") Een konijn!!


  • OCISCOOL
  • Registratie: Juni 2001
  • Laatst online: 23-07 12:06
Niemand anders heeft een idee?? of kan ik een dergelijke vraag beter onder proffessional networking posten??

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
als de var MACadr een waarde heeft dan moet dit werken
code:
1
oUser.Put "samAccountName",  MACadr

maar dat heb je al...
Dus als MACadr de waarde "pietje" heeft:
code:
1
2
MACadr = "Pietje"
oUser.Put "samAccountName",  MACadr

dan werkt het wel? Of controleert windows b.v. de geldigheid van je waarde, en moet het een geldig mac-adress zijn? In dat geval kan het wel eens zijn dat streepjes er tussen moeten of deze juist weg moeten:
dus 00-a7-45-b3 of 00a745b3 ??
Masch schreef op 07 March 2003 @ 12:30:
Ik ken VB niet, maar in vba moet je een variabele tussen & tekens zetten, dus zoiets als dit;

oUser.Put "samAccountName", " & MACadr & "

Als dit niet van toepassing is in vb, moet je deze post maar als niet gepost beschouwen ;) suc6
Nee!! Dit is als je in var AAN/IN een STRING bouwt, b.v.:
code:
1
2
3
strGebruiker = "RobIII"
strKeer = "15e"
myVar = "Goededag, " & strGebruiker & "! Het is de " & strKeer & " keer dat u inlogt"

En dat geeft:
code:
1
Goededag, RobIII! Het is de 15e keer dat u inlogt

Wat jij nu zegt is gewoon onwaar...

[ Voor 47% gewijzigd door RobIII op 08-03-2003 17:02 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • OCISCOOL
  • Registratie: Juni 2001
  • Laatst online: 23-07 12:06
Het is als volgt:

MACadr = "Pietje"
oUser.Put "samAccountName", MACadr

Dit werk niet!!! Op de server krijg ik de volgende foutmelding:
===========================================
Run-time error '-2147024865 (8007001f)'

Automation error
A decive attached to the system is not functioning
==========================================

De volgende code:

oUser.put "samAccountname", "Pietje"

Dit werkt wel het heeft dus te maken met het feit dat ik geen variabele kan mee geven.

Dat met & variable & is idd voor het toevoegen van variabelen aan bv een string.

Ik sta wederom open voor suggesties

PS. Windows checked niet of de syntax van het MAC adres goed is. Het MAC adres word gewoon al gebruikersnaam gebruikt en dat is voor de Aactive Directory gewoon een string. Hier gaat het nu om. Voor de Internet Authenticatie Service maakt de syntax idd wel uit maar dat zit wel goed.

[ Voor 24% gewijzigd door OCISCOOL op 10-03-2003 08:48 ]


  • OCISCOOL
  • Registratie: Juni 2001
  • Laatst online: 23-07 12:06
Ok bedankt iedereen (vooral RobIII) Ik ben er uit. het had toch met het format te maken ik ging uit van een windows 2000 username format en ging er van uit de pre windows 2000 logon name de zelfde format had. NIET DUS!!! Nou ja nu weet ik het bedankt.....

Verwijderd

Kun je het script nog een keer posten, of mailen? Ik moet namelijk ook een groot aantal users toevoegen en dan is zo'n scriptje wel interessant. Thanx

  • justmental
  • Registratie: April 2000
  • Niet online

justmental

my heart, the beat

Complete scripts vragen doen we niet aan hier.
Zie ook:
P&W FAQ - Scriptrequests

Who is John Galt?

Pagina: 1

Dit topic is gesloten.