Avatar billede daki Juniormester
17. august 2004 - 10:48 Der er 37 kommentarer og
1 løsning

Brug af vbs til oprettelse af brugere

Fortsættelse af http://www.eksperten.dk/spm/529409

Kan man få en forklaring til hvor man skal placere filerne.
Hvor mange filer er der, hvorledes skal de gemmes og kan den nemt rettes til, så jeg evt. kan bruge den i mit firma.

Skal oprette brugere engang i mellem, men vi overvejer at ændre hele systemet.
Og derfor skal jeg til at genoprette ca. 150 brugere....
Avatar billede oskar Nybegynder
17. august 2004 - 11:25 #1
Ville du gerne have filerne og tilrette dem selv eller ville du sende en kravsbeskrivelse og lade mig ordne det?
Avatar billede daki Juniormester
17. august 2004 - 11:59 #2
Jeg vil meget gerne have filerne.
Kravsbekrivelser, hvad mener du ??
Hvordan OU skal være - tildeling af brugernavne osv. eller ??
Avatar billede oskar Nybegynder
17. august 2004 - 13:42 #3
Så har jeg pakket de i alt 10 filer + 1: http://saxa.dk/Brugeropret.zip

Alle filer skal pakkes ud i c:\administration\brugeradm
Filen adssecurity.dll skal registreres i windows:  regsvr32 ADsSecurity.dll  (flyt først filen over i system32 mappen)
Filen server.ini indeholder oplysninger om domænet, serveren mm
Disse indstillinger kan ændres direkte i filen eller med filen Indstillinger.vbs

I filen samlet er der to eksempler til tetoprettelse.
Filen er udtrukket fra en databse til et andet formål, derfor har jeg tømt de felter, der ikke bruges her
Tallene 1 og 2 opdeler i de to ou'er i pkt 10 og 11 i indstillinger.

De sidste punkter i indstillinger: (Hvis de er tomme sker der ikke noget)
14. profiltype M = Mandatory profile. R = Roaming profile. Virker kun sammen med punkt 15.
15. Profilmappe Sti til profilmapper a. Sharet skal være oprettet. Hvis typen er mandatory skal hele stien stå i feltet \\servernavn\profiler$\mandatoryprofilmappe ellers \\servernavn\profiler$
16. Terminal Service profilmappe Hvis I bruger terminal services /Citrix er det en fordel at sætte en sti til profilerne. Husk at share. \\servernavn\tsprofiler$\
17. Privat/public Hver lærer får på et fælles drev to ekstra mapper. NN-Privat og NN-Public. I Public kan læreren lægge filer til de studerende, som kan læse,men ikke skrive. I Privat kan de studerende lægge opgaver, men de kan ikke læse i mappen.

Brugerne oprettes uden password, men med krav om at der oprettes et ved første logon. Filen SetPW.vbs tager det sidste felt i samlet.txt (fødselsdagen?) og sætter det som password der ikke udløber, men kan ændres)

Alle acl.... filerne bruges af opret_brugere.vbs til at sætte rettigheder.

:) Oskar
Avatar billede daki Juniormester
17. august 2004 - 16:34 #4
SERVER: pcserver.local
OU: AFD./BY

eks.:
Test Testesen er afd.leder for testafd. i testkøbing.
Skal oprettes som følgende:

Brugernavn: TEST
Adgangskode: fast – skal angives
Navn: Test Testesen
medlem af grp.: alle/testafd./testkøbing/afd.ledelse
retigheder til mapper: alle/testafd./testkøbing/afd.ledese/privatmappe.
login script: testafd.bat

Shares = mappenavn+$
Alle mapper ligger i C:\data\mapper\


Egen mappe oprettes den i forbindelse med oprettelsen af brugeren ??


Håber du forstår mit oplæg.
Avatar billede oskar Nybegynder
17. august 2004 - 16:46 #5
Jeg forstår vist det meste.

Har du en ou der hedder AFD med en underOU kaldet BY ?
Mapper: Er det en mappen der hedder alle? en anden der hedder testafd? osv
Hvilke rettigheder? Full eller modify?

Ja egne mapper oprettes med det samme, men det kan selvfølgelig slås fra hvis du bruger group policy i stedet?
Avatar billede daki Juniormester
17. august 2004 - 16:56 #6
Ja OU hedder eks. byggemarked og herunder 6 byer, en anden hedder trælast også 6 byer ialt 6.

Der er en mappe alle + en mappe for hverafd.
Alle Full - ingen forstår det med rettigheder endnu :-)
Kan selv lige rette enkelte til
Egne mapper må gerne oprettes med det samme.
Avatar billede oskar Nybegynder
17. august 2004 - 19:17 #7
Lige et par spørgsmål.
Jeg forstår ikke gruppestrukturen. Er der en sikkerhedgruppe for hver OU? Hvor mange grupper er hver ansat medlem af?

Jeg vil anbefale change/modify til alle så ingen kommer til at lave alt for uoprettelige fejl.
Avatar billede oskar Nybegynder
17. august 2004 - 20:09 #8
Og så det vigtige spørgsmål. Kan du lave en kommasepareret tekstfil i stil med samlet.txt hvor du remser alle data for et par testpersoner.

F.eks.:
"Byggemarked","Bipe","Chef","Birthe","Petersen","Nykøbing","kode","gruppe1","Gruppe2"
Hvis grupperne og eller ou'erne er de samme som mapperne de skal have adgang til bliver det noget nemmere.

Med andre ord, jeg har brug for en meget præcis struktur for at kunne lave et udkast til scriptet.

:)
Avatar billede daki Juniormester
17. august 2004 - 20:58 #9
Altså:
Et firma fordelt på 6 byer, med 6 afd. i hver by.
Derfor en mappe for hver by og en mappe for hver afd. Desuden en mappe for alle.
mappe svarer til grupperne.

eks.
By1
afd1, afd2, afd3, afd4, afd5, afd6.
osv.
dvs. der findes 6 mapper  "By1", "By2" osv. og der er 6 mapper "afd1", "afd2" osv.

f.eks. på brugere:
"afd1","tete","chef","Test","Testesen","By1","tete1234","afd1","by1","ledelse" (mapper=afd1,by1,ledelse,egen)
"afd1","kadu","område","Kan","DuDet","By2,"kadu1234","afd1","By2" (mapper=afd1,by2,egen)
"afd2","deka","chef","Det","KanDu","By2","deka1234","afd2","by2","ledelse" (mapper=afd2,by2,ledelse,egen)
osv.

Kan det bruges ??
Avatar billede oskar Nybegynder
18. august 2004 - 20:48 #10
Det kunne sagtens bruges.
Da de to a grupperne hedder det samme som afd og by har jeg fjernet dem fra listen.
Det tredie punkt (chef, område) var tænkt som titel, er det noget der skal med?
Er det rigtig forstået at du ville have både private mapper og afdelings- og bymapperne inde i c:\data\mapper?
Jeg satser på at have noget klar i løbet af i morgen.
Avatar billede oskar Nybegynder
18. august 2004 - 21:00 #11
Jeg ville lave en c:\data\personlige til de personlige mapper
men allerhelst ville jeg slet ikke have data på C, medmindre selvfølgelig du har styresystemet på D.
Sidste spørgsmål:
Bruger du profiler? Mandatory eller Roaming? Terminalprofiler???
Avatar billede oskar Nybegynder
18. august 2004 - 21:09 #12
Og så lige et par opgaver. For at scriptet skal virke skal du inden du kan afprøve noget som helst have lavet følgende:

OU strukturen skal være lavet   
Mappestrukturen skal være lavet 
Grupperne skal være lavet
Avatar billede oskar Nybegynder
18. august 2004 - 21:24 #13
Det var alligevel ikke sidste spørgsmål, for der er noget jeg ikke helt forstår.

En gruppe der hedder byggemarked vil gælde alle byggemarkeder i de 6 by.
En gruppe der hedder Gedser vil dække alle 6 butikstyper i Gedser.
Skal alle byggemarkeder have adgang til mappen byggemarked og kun adgang til deres egen undermappe i mappen byggemarked? Hvis dette er tilfældet ville det så ikke være bedre at bymapperne ikke kan ses i den fælles mappe?

Jeg ser for mig en mappestruktur i et byggemarked a la:

P: Personligt drev
Q: Byggemarkedets eget drev
R: Byens fælles drev
S: Byggemarkedernes fælles drev ???
Er det nogenlunde rigtigt ramt?
Avatar billede daki Juniormester
19. august 2004 - 08:45 #14
Ang. titel - Ja, det skal med - man er chef eller osse har man ansvaret for et produkt område som maling, beslag osv.

Alle mapper skal placeres i c:\data\mapper\ - men at lægge personlige mapper i c:\data\personlige er da en god ide - det gør vi :-)

Alle info. ligger på C: - bruger RAID - har haft et konsulent firma til at installere serveren - skal selv lave strukturen.

Hvad mener du med: Bruger du profiler? Mandatory eller Roaming? Terminalprofiler???

OU struktur skulle være på plads: niveau1=afd, niveau2=By, niveau3=brugere
Mappestrukturen er næsten klar (skal lige lave personlige-mappen. De "fælles mapper er oprettet og mangler kun share.
Grupperne bliver oprettet i forbindelse med konstruktionen af OU-strukturen.
Mappe struktur kunne se sådan ud:

P: Personligt drev
F: Fælles drev for alle (Alle)
S: Byens fælles drev (BY)
T: Afd. fælles drev (AFD) - herunder mappe for hver by, hvis de selv ønsker det !!
+ ekstra drev for ledelse/chefer
Q: Ledelse

Det er sådan jeg har tænkt det - mangler bare at oprette det :-)
Avatar billede oskar Nybegynder
19. august 2004 - 10:55 #15
Den med at dele mapperne i to grupper er bl.a. for at gøre det nemmere for dig selv når du skal rydde op i udgåede medarbejdere. Jeg plejer at foretrække et eller flere drev til brugerdata for at gøre det nemmere at styre kvota.

Når du spørger sådan om profiler gætter jeg på at du ikke bruger det.
Mandatory: Alle har samme profil og kan ikke ændre skrivebordsindstillinger mm.
Roaming: Alle har hver sin egen profil der flytter med rundt fra til pc.
Hvis man stor set altid sidder ved samme pc er der ingen grund til at overveje profile.
Terminalprofiler bruges kun hvis du har en terminal server eller en Citrix server.

Mapper:
Mappen Personlige skaldu sørge for at Administrator har fulde rettigheder til, ellers får ingen rettigheder til de personlige mapper, heller ikke administrator.

Øvrige rettigheder du skal lave:
F: Fælles drev for alle (Domain Users)
S: Byens fælles drev (Gruppen Bynavn)
T: Afd. fælles drev (gruppen Afd) - herunder mappe for hver by, hvis de selv ønsker det !!
+ ekstra drev for ledelse/chefer
Q: Ledelse (gruppen ledelse)

Så vidt jeg kan se skal der være 6 bygrupper og 6 afdelingsgrupper.
Avatar billede oskar Nybegynder
19. august 2004 - 11:20 #16
Og så lige et spørgsmål om logon scripts.

Bruger du logon scripts (logon.bat, logon.cmd)?
I bekræftende fald, hvor mange forskellige skal der være?
42?
Avatar billede daki Juniormester
19. august 2004 - 11:26 #17
PT. har jeg ikke tænkt over hvordan brugerprofilerne skal være, men det med at ikke kunne ændre skrivebord kunne da været rart - lige nu skal jeg hjælpe "fordi jeg nok kom til at trykke på noget jeg ikke skulle".
Men man sidder for det meste ved samme pc hele tiden - ellers benytter man en bærbar.
Vi benytter verken Terminal Server eller Citrix.

Hvordan vil du placere grupperne - i en OU for sig selv eller ??
Ja - 6 grupper for by/afd + 1 grp. for ledelse.
Avatar billede daki Juniormester
19. august 2004 - 11:35 #18
Ja - der bruges logonscripts (logon.bat)
og ja det må blive til 42 (+/-) 6*6 afd. 6 ledelse.

Det skal lige nævnes, at de 6 afd. ikke forefindes i alle byer - nogen er der kun 4 og andre 5, men 1 sted forefindes alle 6.
Avatar billede oskar Nybegynder
19. august 2004 - 11:52 #19
Så vil jeg straks foreslå at de kommer til at hedde
afd1by1.bat
afd1by2.bat, ...
afd1ledelse.bat

for så kan jeg programmere filnavnene ind uden at de skal være med i samlet.txt
Avatar billede daki Juniormester
19. august 2004 - 12:06 #20
OK, det du finder bedst/smartes/hurtigst :-)
Avatar billede oskar Nybegynder
19. august 2004 - 14:47 #21
Så er første udkast klar til test. Du finder den på http://saxa.dk/Opret.zip

Der bliver i denne udgave ikke sat noget password. Det kan man nemlig ikke gøre samtidig med oprettelsen. Til gengæld sættes den til at brugerne skal lave et password ved første login.

Jeg arbejder på et script der kan sætte password og håber på at få det færdigt senere på dagen.

I morgen drager jeg på hospitalet for at blive opereret for en diskosprolaps, så der går nok en lille uges tid inden jeg er tilbage igen. Hvis der er spørgsmål eller problemer skal du altså ikke begynde at trippe utålmodigt for henad torsdag-fredag i næste uge.
Avatar billede oskar Nybegynder
19. august 2004 - 14:48 #22
Den nye fil skal ligge på C: den laver selv strukturen administration\bruger i stedet for den gamle brugeradm som du godt kan slette.
Avatar billede daki Juniormester
19. august 2004 - 14:57 #23
Det bliver heller ikke før mandag/tirsdag vi får kikket på det.
Men du skal have foreløbigt tak.
Avatar billede oskar Nybegynder
19. august 2004 - 15:13 #24
Jeg glemte lige en detalje. Når brugeroprettelsen er gået i gang og en dosskærm har blinket kortvarigt går der lang tid uden at der sker noget. Alt afhængig af serverens hastighed og andre forhold tager det fra 3 til 12 sekunder pr bruger. Med andre ord 150 brugere tager fra 7½ minut til ½ time. Eller som jeg plejer 1500 brugere 1 time og 15 minutter til 5 timer.

Bare så du ikke bliver utålmodig og tror at der ikke skeer noget. Der popper et resultatvindue op til sidst.
Avatar billede oskar Nybegynder
19. august 2004 - 16:16 #25
Så har jeg zippet resten i http://saxa.dk/resten.zip

setpw.vbs og brugeropret.exe, et lille program til at styre det hele med.

:) Oskar
Avatar billede daki Juniormester
19. august 2004 - 16:38 #26
Lige et spm.
DC=LOKAL,DC=FIRMA,DC=DK - hvad betyder det ???
Avatar billede oskar Nybegynder
19. august 2004 - 17:24 #27
Det er bare et eksempel på hvad et intranet domæne kunne hedde. Mere sandsyndlige domænenavne er dog byggemarked.dk eller bggruppen.dk eller bg.local etc LDAP skal bare have domænenavnet på denne for DC=BYGGEMARKED,DC=DK og det skal være med store bogstaver.
Avatar billede oskar Nybegynder
26. august 2004 - 13:33 #28
Så er jeg tilbage igen og har leget lidt videre med tingene.

Husk at samlet.txt hele tiden skal indeholde alle ansatte. Når en dag nogen holder op af den enne eller anden grund skal du blot slette navnet fra filen og derfter køre filen slet.vbs. Du skal blot angive vedkommendes login. Den sletter brugeren fra OU'et og vedkommendes personlige mappe med indhold. Filer i fællesområder slettes ikke.

Slet.vbs:


'    Whs-script til brugeroprettelser på Windows 2000 Server  og Server 2003 ud fra tekstfil
'    Søren Aagaard
'    August 2004
'    Version 1.4

dim dicini, aItems, aKeys, i
set dicini = parseINI("c:\administration\bruger\server.ini")
aItems = dicini.items
aKeys = dicini.keys

root = replace(aItems(0) & "",chr(34),"")
rod_drev_e=replace(aItems(1) & "",chr(34),"")
bruger_rod_e=replace(aItems(2) & "",chr(34),"")
sDomain=replace(aItems(3) & "",chr(34),"")
sServer=replace(aItems(4) & "",chr(34),"")
share_navn=replace(aItems(5) & "",chr(34),"")
pwlength=replace(aItems(6) & "",chr(34),"")
profiltype=replace(aItems(7) & "",chr(34),"")
profilmappe=replace(aItems(8) & "",chr(34),"")

root = replace(root & "",chr(32),"")
rod_drev_e=replace(rod_drev_e & "",chr(32),"")
bruger_rod_e=replace(bruger_rod_e & "",chr(32),"")
sDomain=replace(sDomain & "",chr(32),"")
sServer=replace(sServer & "",chr(32),"")
share_navn=replace(share_navn & "",chr(32),"")
pwlength=replace(pwlength & "",chr(32),"")
profiltype=replace(profiltype & "",chr(32),"")
profilmappe=replace(profilmappe & "",chr(32),"")

on error resume next
Set oDomain = GetObject("WinNT://" & sDomain)
oDomain.Filter = Array("User")
Dim filesys
Set filesys =  WScript.CreateObject("Scripting.FileSystemObject")
Set WshShell = WScript.CreateObject("WScript.Shell")

hvemsp=""
hvem = InputBox("Hvem skal slettes?" & vbcrlf & vbcrlf & "Brugerens personlige filer og eventuelle profilmappe slettes ", "Sletning af enkeltbruger på et Windows 2000/03 server.","")

    if isempty(hvem) then
        wscript.quit
    end if
    hvemsp = rod_drev_e & bruger_rod_e &  "\" & hvem
    Set User = GetObject("WinNT://" & sDomain & "/" & hvem )
    Call oDomain.Delete("User", hvem)
    txt = hvem & " blev slettet fra domænet " & sDomain & vbcrlf
    if filesys.FolderExists(hvemsp) Then
        filesys.DeleteFolder hvemsp, TRUE
        txt = txt & "Mappen " & hvemsp & " blev slettet." & vbcrlf
    end if

    if len(profilmappe) >1 then
        profilmappe = profilmappe & "\" & hvem
        filesys.DeleteFolder profilmappe, TRUE
        txt = txt & "Profilmappen " & profilmappe & " blev slettet." & vbcrlf
    end if

    if len(tsprofilmappe) >1 then
        tsprofilmappe = tsprofilmappe & "\" & hvem
        filesys.DeleteFolder tsprofilmappe, TRUE
        txt = txt & "TS profilmappen " & tsprofilmappe & " blev slettet." & vbcrlf
    end if

    if len(pershare) >1 then
        if uCase(btype) = "P" then
            pershareu = pershare & "\" & hvem & "-udbakke"
            filesys.DeleteFolder pershareu, TRUE
            persharei = pershare & "\" & hvem & "-indbakke"
            filesys.DeleteFolder persharei, TRUE
            txt = txt & "Mapperne " & pershareu & " og " & persharei & " blev slettet." & vbcrlf
        end if
    end if

wscript.echo txt

Function parseINI(sIniFilename)
    on error resume next
    Dim fso, tsIni, iEquals, sKey, sVal
    Set parseINI = Wscript.CreateObject("Scripting.Dictionary")
    Set fso = Wscript.CreateObject("Scripting.FileSystemObject")

    Set tsIni = fso.openTextFile(sIniFilename)

    Do while not tsIni.AtEndOfStream
    sLine = Trim(tsIni.ReadLine)
    If sLine <>  "" Then
        If Left(sLine, 1) = "'" Then
        Else
            iEquals = InStr(1, sLine, "=")
            If (iEquals <=1) Then
                Wscript.Echo "Ugyldig linie: " & sLine
            Else
                sKey = Left(sLine, iEquals - 1)
                sVal = Right(sLine, Len(sLine) - iEquals)
                parseINI.Add sKey, sVal
            End if
        End if
    End if
Loop
End Function
Avatar billede daki Juniormester
26. august 2004 - 13:45 #29
Hej igen,
Har desværre ikke fået kørt en test endnu (har ikke haft tid).

Når nu serveren kaldes "pscerver.local"
Skal jeg så bare skrive: DC=PCSERVER, DC=LOCAL
Avatar billede oskar Nybegynder
26. august 2004 - 16:12 #30
jeg går ud fra at du mener at domænet hedder pscerver.local, mens serveren hedder noget andet. Men ellers har du ret.
Avatar billede daki Juniormester
26. august 2004 - 16:20 #31
serveren hedder "SERVER" - \\SERVER\share$
domæne hedder "pcserver.local" - Logon domæne PCSERVER
Avatar billede oskar Nybegynder
26. august 2004 - 17:16 #32
Altså ser de første punkter i server.ini således ud:

root = DC=PCSERVER,DC=LOCAL
rod_drev_e = "C:\"
bruger_rod_e = "Data\Mapper"
sDomain = "pcserver.local"
sServer = "server"

PS Rart at se at der stadig er nogen der kalder deres server for server. Nogen kalder det fantasiforladt, men har man ført forsøgt at lære 100 bruger at gemme på en server der hedder SV03Data eller andet finder man hurtigt ud af at kalde sin filserver for server eller serveren.
Avatar billede daki Juniormester
27. august 2004 - 10:34 #33
Hvis vi nu holder os til at alle "fælles-drev" skal ligge i:
c:\data\mapper
og alle personlige drev skal ligge i:
c:\data\personlige

Hvorledes skal jeg så - bare for at de tungnemme kan finde ud af det :-)
Avatar billede oskar Nybegynder
27. august 2004 - 21:37 #34
Så skriver du
rod_drev_e = "C:\"
bruger_rod_e = "Data\Personlige"

Strukturen med de fælles drev skal laves manuelt det gælder også tildeling af rettigheder til grupper og logon.bat filer til dem alle.

OUer, logon filerne og sikkerhedsgrupperne skal være lavet på forhånd og hedde f.eks afd2ledelse.bat eller afd1by3.bat for batchfilerne samt afd2ledelse eller afd3by4 osv for sikkerhedsgrupperne. Ellers bliver brugerne ikke gjort til medlem af grupperne.

F.eks. byggemarkedgedser.bat, gruppen byggemarkedgedser og OUen byggemarkedgedser hører sammen. Jeg anbefaler at du laver en OU kaldet grupper og opretter alle sikkerhedsgrupper deri.
Avatar billede oskar Nybegynder
01. september 2004 - 10:42 #35
Af ren og kær nysgerrighed: Hvordan går det med brugeroprettelsen? Kører det bare som det skal eller er der småproblemer?
Avatar billede daki Juniormester
01. september 2004 - 10:49 #36
Har desværre ikke haft tid endnu. Men vender tilbage så snart jeg har nyt :-)
Avatar billede daki Juniormester
09. september 2004 - 19:17 #37
oskar du får dine points nu !

Der går ca. 3-4 uger endnu inden vi kan komme igang med at bruge dit "system".
Men skulle noget gå galt, eller jeg har behov for hjælp kontakter jeg dig :-)
Avatar billede oskar Nybegynder
09. september 2004 - 20:01 #38
Tak for det!

Held og lykke med implementeringen, håber det kommer til at glide i smør!

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