Avatar billede mullexp Nybegynder
20. april 2007 - 07:59 Der er 4 kommentarer og
1 løsning

Opret bruger i 2003 med script.

Hej

Jeg står for en opgave hvor jeg skal ind oprette 8 bruger på 35 server som ikke er medlem af et domain.

Dvs jeg skal ind på hver enkelt server og oprette dem.

Så for at lette den opgave vil jeg gjerne kunne lavet et script som jeg kan køre på hver serverne.

Så hvis der en som har script liggen som jeg kan bruger vil det være perfekt.

Tror ikke det skal være noget med AD script.

Hvis  det er muligt kan i så lave en lille notes på hvor deres.: Bruger id.
Deres fornavn,
Deres efternavn.
Deres kode er medlem af Admin gruppen.

Håber ikke der nopget som mangler
Avatar billede Slettet bruger
23. april 2007 - 08:02 #1
Opret en .csv fil (Kanlaves i Notepad) med dette indhold:
Name;Password;Full Name;Description
Name2;Password2;Full Name2;Description2
Gem den som: "Users.csv"

Kopier scriptet herunder og gem det som: "CreateUsers.vbs"

'***** Script start *****
Const strGroup = "Administrators"
Const strInputFile = "Users.csv"
Const strOutputFile = "Fejl.txt"
Const BrugerNavn = 0
Const Password = 1
Const FuldtNavn = 2
Const Beskrivelse = 3
Const ForReading = 1
Const ForAppending = 2
strResponse = MsgBox ("Start oprettelsen af brugere?    ", 36, "Brugeroprettelse")
If strResponse <> 6 then WScript.Quit
Set oFSO = CreateObject("Scripting.FileSystemObject")
Set oUserList = oFSO.OpenTextFile (strInputFile, ForReading)
Set oUserError = oFSO.OpenTextFile (strOutputFile, ForAppending, True)
oUserError.WriteLine("Følgende brugere er ikke oprettet, da brugernavnet allerede var i brug:")
LinesRead = 0
UsersCreated = 0
Set WshNetwork = CreateObject("WScript.Network")
strComputername = WshNetwork.ComputerName
Do Until oUserList.AtEndOfStream
  strNextLine = oUserList.Readline
  LinesRead = LinesRead + 1
  arrUserList = Split(strNextLine , ";")
  If UBound(arrUserList) > 0 Then
    If Len(arrUserList(ForNavn)) > 0 And Len(arrUserList(EfterNavn)) > 0 Then
      If UserExist(arrUserList(Brugernavn)) Then
        oUserError.WriteLine(strNextLine)
      Else         
        Set oAccount = GetObject("WinNT://" & strComputername & ",computer")
        Set oUser = oAccount.Create("user", arrUserList(BrugerNavn))
        oUser.SetPassword arrUserList(Password)
        oUser.SetInfo
        oUser.Put "FullName", arrUserList(FuldtNavn)
        oUser.Put "Description", arrUserList(Beskrivelse)
        oUser.Put "UserFlags", (oUser.Get("UserFlags") Or &H10000)
        oUser.Put "UserFlags", (oUser.Get("UserFlags") Or &H00040)
        oUser.SetInfo
        Set oGroup = GetObject("WinNT://" & strComputername & "/" & strGroup & ",group")
        oGroup.Add (oUser.ADsPath)
        Set oUser = GetObject("WinNT://" & strComputername & "/" & arrUserList(Brugernavn) & ",user")
        UsersCreated = UsersCreated + 1
      End If
    End If
  End If
Loop
oUserList.Close
oUserError.Close
strMessage = "Der er oprettet " & UsersCreated & " brugere.    " & Chr(13) & Chr(13)
If LinesRead > UsersCreated Then
  strMessage = strMessage & "Alle brugere blev ikke oprettet, se filen: " & strOutputFile & "    "& Chr(13)
End If
strResponse = MsgBox (strMessage, 64, "Brugeroprettelse")

Function UserExist(samAccountName)
  UserExist = False
  Set oComputer = GetObject("WinNT://" & strComputername)
  oComputer.Filter = Array("User")
  For Each oUser In oComputer
    UserExist = (oUser.Name = samAccountName)
    If UserExist Then
      Exit For
    End If
  Next
  Set oComputer = Nothing
End Function
'***** Script slut *****

:-)
Avatar billede mullexp Nybegynder
27. april 2007 - 21:42 #2
Tak Det virker fint.

Jeg skal bare lige høre om de nye bruger bliver bedt om at ændere deres passeword ved først login
Avatar billede Slettet bruger
28. april 2007 - 06:38 #3
Nej. Der bliver sat:
User cannot change password, dette udelukker User must change password at next logon.
Password never expires.

Men du kan da bare oprette en bruger, med scriptet, og se for dig selv :-)
Avatar billede mullexp Nybegynder
28. april 2007 - 21:35 #4
hmm hvad er det for linje at det bliver sat at:

User must change password at next logon.

jeg kan ikke lige se det ud af kode hvor det bliver sat..

For jeg bliver nød til at lave en pass som bliver brugt først gang, og de så bliver bedt om at skiftt pass ved første login. (User must change password at next logon).

Men ellers har du vist fortjænt de 60 point
Avatar billede Slettet bruger
29. april 2007 - 08:06 #5
Hvis du ønsker "User must change password at next logon" så:

Slet disse 2 linier:
        oUser.Put "UserFlags", (oUser.Get("UserFlags") Or &H10000)
        oUser.Put "UserFlags", (oUser.Get("UserFlags") Or &H00040)
og indsæt denne i stedet:
        oUser.Put "PasswordExpired", 1

:-)
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