Avatar billede hollywood Nybegynder
21. oktober 2002 - 14:35 Der er 6 kommentarer og
2 løsninger

Create mange brugere

Er der nogle der kan hjælpe mig med at lave et .vbs script der indeholder en løkke eller lign. til at oprette mange brugere i active directory. Man skal kunne tage brugernavn og andet info fra en .txt fil eller lign.
Avatar billede jansimon Nybegynder
21. oktober 2002 - 15:05 #1
Hej her er et eksempel på bruger oprettelse. Den tager en kommasepareret fil og opretter i AD.

/Jan Simon

'***************************************************************************************************
' Script til oprettelse af brugere i AD fra kommasepareretfil hos SDC, Version 1.0
' 18-01-2002, Jan Simon, Alpha-Systems A/S
' JAS@ALPHA-SYSTEMS.DK
' This Rocks............
'
'***************************************************************************************************

Set obj = CreateObject("WScript.Shell")
Set fso = CreateObject("Scripting.Filesystemobject")
DIM linje
Dim fso,file,f, cfso
DIM dom
sidsteOU="start"

'***************************************************************************************************


'Åbn fil
'Indtast den fulde sti til filen mellem anførselstegn
Set f = fso.Getfile("D:\sdc\usertest.csv")
set file=f.OpenAsTextStream(1)
'Filen åbnes og første linje indlæses
linje=Trim(file.readline)

'Hvis den ikke er tom
If linje<>"" Then
    'Forbind til domainet...Det fulde domainnavn indtastes mellem anførselstegnene
    Set dom = GetObject("LDAP://Alpha.local")

    ' Opret PI organizational unit
    Set PIOU = dom.Create("organizationalUnit", "OU=PI")
    PIOU.SetInfo
    Again = True

    While again
        'Begynd opsplitning af linjen
        linjelaengde=LEN(linje)
        kommapos=InStr(1,linje,",",1)
        laestou=TRIM(LEFT(linje,kommapos-1))
        Nykommapos=InStr(kommapos+1,linje,",",1)
        UserName = TRIM(MID(linje,kommapos+1,nykommapos-kommapos-1))
        kommapos=nykommapos
        Nykommapos=InStr(kommapos+1,linje,",",1)
        Firstname = TRIM(MID(linje,kommapos+1,nykommapos-kommapos-1))
        kommapos=nykommapos
        LastName = TRIM(MID(linje,kommapos+1,linjelaengde))
        If UserName <> "" Then
            'Hvis det er et nyt pengeinstitut
            If laestou<>sidsteou Then
                set opretou=PIOU.Create("organizationalUnit","OU="&laestou)
                opretou.SetInfo
                sidsteou=laestou
            End if
            'Opret brugeren
            Set usr = opretou.Create("user", "CN=" &Username)
            usr.Put "sn", LastName
            usr.Put "samAccountName", UserName
            usr.Put "givenName", FirstName
            usr.Put "Description", Firstname&" "&Lastname
            usr.SetInfo
            Usr.AccountDisabled = False
            Usr.Homedirectory = "\\alpha-srv01\users\"&Username
            Usr.Homedrive = "V:"
            usr.SetPassword "SESAM12"
            usr.SetInfo
            Set cfso = fso.createFolder("D:\users\"&Username)
        End If
        'Indlæs næste linje
        linje=Trim(file.readline)
        'Hvis den ikke er tom så fortsæt
        If linje="" Then
            Again=False
        End if
    Wend
End if

file.close
MsgBox "Nu er scriptet færdigt"


'**************************************************************************************************
Avatar billede bufferzone Praktikant
21. oktober 2002 - 15:20 #2
Avatar billede hollywood Nybegynder
21. oktober 2002 - 15:34 #3
Mange tak det er bare en perfekt løsning :-)
Avatar billede hollywood Nybegynder
21. oktober 2002 - 15:36 #4
Jansimon gider du ikke at et svar så jeg kan give dig point?
Avatar billede deternal Nybegynder
21. oktober 2002 - 16:00 #5
Bufferzone: tusind tak - har ikke kunnet finde det her på Tech-net før :)
Avatar billede jansimon Nybegynder
21. oktober 2002 - 16:02 #6
Jo selvfølgelig :-)

Hej her er et eksempel på bruger oprettelse. Den tager en kommasepareret fil og opretter i AD.

/Jan Simon

'***************************************************************************************************
' Script til oprettelse af brugere i AD fra kommasepareretfil hos SDC, Version 1.0
' 18-01-2002, Jan Simon, Alpha-Systems A/S
' JAS@ALPHA-SYSTEMS.DK
' This Rocks............
'
'***************************************************************************************************

Set obj = CreateObject("WScript.Shell")
Set fso = CreateObject("Scripting.Filesystemobject")
DIM linje
Dim fso,file,f, cfso
DIM dom
sidsteOU="start"

'***************************************************************************************************


'Åbn fil
'Indtast den fulde sti til filen mellem anførselstegn
Set f = fso.Getfile("D:\sdc\usertest.csv")
set file=f.OpenAsTextStream(1)
'Filen åbnes og første linje indlæses
linje=Trim(file.readline)

'Hvis den ikke er tom
If linje<>"" Then
    'Forbind til domainet...Det fulde domainnavn indtastes mellem anførselstegnene
    Set dom = GetObject("LDAP://Alpha.local")

    ' Opret PI organizational unit
    Set PIOU = dom.Create("organizationalUnit", "OU=PI")
    PIOU.SetInfo
    Again = True

    While again
        'Begynd opsplitning af linjen
        linjelaengde=LEN(linje)
        kommapos=InStr(1,linje,",",1)
        laestou=TRIM(LEFT(linje,kommapos-1))
        Nykommapos=InStr(kommapos+1,linje,",",1)
        UserName = TRIM(MID(linje,kommapos+1,nykommapos-kommapos-1))
        kommapos=nykommapos
        Nykommapos=InStr(kommapos+1,linje,",",1)
        Firstname = TRIM(MID(linje,kommapos+1,nykommapos-kommapos-1))
        kommapos=nykommapos
        LastName = TRIM(MID(linje,kommapos+1,linjelaengde))
        If UserName <> "" Then
            'Hvis det er et nyt pengeinstitut
            If laestou<>sidsteou Then
                set opretou=PIOU.Create("organizationalUnit","OU="&laestou)
                opretou.SetInfo
                sidsteou=laestou
            End if
            'Opret brugeren
            Set usr = opretou.Create("user", "CN=" &Username)
            usr.Put "sn", LastName
            usr.Put "samAccountName", UserName
            usr.Put "givenName", FirstName
            usr.Put "Description", Firstname&" "&Lastname
            usr.SetInfo
            Usr.AccountDisabled = False
            Usr.Homedirectory = "\\alpha-srv01\users\"&Username
            Usr.Homedrive = "V:"
            usr.SetPassword "SESAM12"
            usr.SetInfo
            Set cfso = fso.createFolder("D:\users\"&Username)
        End If
        'Indlæs næste linje
        linje=Trim(file.readline)
        'Hvis den ikke er tom så fortsæt
        If linje="" Then
            Again=False
        End if
    Wend
End if

file.close
MsgBox "Nu er scriptet færdigt"


'**************************************************************************************************
Avatar billede jansimon Nybegynder
21. oktober 2002 - 16:05 #7
Bufferzone >> Det har du ret i, ovenstående scrigt kan dog samtidig oprette OU'er efter behov. Det kan udvides til automatisk oprettelse af Exchange mail-boxe .... o.s.v......Men du har ret og bør have nogle af pointene :-)
Avatar billede daffydk Nybegynder
15. november 2002 - 20:07 #8
Hejsa
En helt 3 mulighed og meget simpelt mulighed er denne måde

-------klip----------klip----------klip------

Set objRootDSE = GetObject("LDAP://rootDSE")
Set objContainer = GetObject("LDAP://cn=Users," & _
                            objRootDSE.Get("defaultNamingContext"))

For i = 1 To 1000
    Set objLeaf = objContainer.Create("User", "cn=bruger" & i)
    objLeaf.Put "sAMAccountName", "bruger" & i
    objLeaf.Put "profilePath", "\\server\Profiles\%username%"
    objLeaf.Put "scriptPath", "logon.bat"
    objLeaf.Put "homeDirectory", "\\server\HomeFolders\%username%"
    objLeaf.Put "homeDrive", "P:"   
objLeaf.SetInfo
Next
WScript.Echo "1000 bruger oprettet."


-------klip---------klip--------klip-------

Gem som    bruger.vbs

kør scriptet og du vil have 1000 bruger der starter med bruger1 til bruger1000


Mvh
DAffydk
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester