fredag 2. desember 2011

Batch Scripter


Batch Scripter



Jeg har fått i oppgave å lage 3 scripter:

Script 1 skal kopiere filer fra en mappe 1 til mappe 2. Så skal den slette alle filene på den mappen 1, deretter skal den sette alle filer i mappe 2 til hidden og read only og til slutt skal den flytte filene fra mappe2 til mappe 1.

Script 2 der skal jeg lege en script som lager Active Directory på en server.

Script 3 script som sletter brukere i Active Directory på en server.
Så skal filene som blir brukt

Script 1

Her ser du scripten 1 som jeg har laget.
Echo off er bare for at scripten skal starte, xcopy er kommandoen for å kopiere «c:\test\» hvilke mappe den skal kopiere fra. Etter c:\test\ står det «*» dette betyr at den skal kopiere alle filer typer inni mappen hvis jeg skriver «.txt» vil den bare kopiere alle txt filer, etter der igjen står det «c:\test2\» det er hvor den skal lim inn det jeg kopierte. Deretter har jeg «/E» dette gjør at den kopierer alle under mapper og filer i de mappene altså mapper inni mapper. Så «/Y» har jeg der fordi når denne kommandoen blir kjørt vil den spørre om du er sikker på du vil utføre denne handlingen/kopieringen, med «/y» vil den si ja til dette ellers må du skrive inn /y i selv i cmd når scripten blir kjørt. Dette brukte jeg for å kopiere fra mappe 1 til mappe 2.
Det som kommer etter echo er tekst som vil komme opp i cmd når du kjører scripten, pause gjør at scripten stopper og at man må trykke på en tast for at scripten skal forsette.
Da er det sletting når jeg skal slette alle filer i mappe 1 «DEL» er kommandoen her, for å slette er det DEL så plasseringen på mappen du skal slette filer i som i xcopy kommandoen. Men her har jeg «*.*» ser ut som 2 øyner og 1 nese men dette gjør at alle filer og alle file typer blir sletta den først * er for slette alle filer den andre * er for at den skal slette alle file typer f.eks hvis jeg bare skal slette txt filer skriver jeg bare «DEL c:\test\*.txt» i stede. Til slutt har jeg «/Q» denne funker på samme måte som «/Y» men den fungerer ikke på DEL kommandoen derfor må jeg bruke «/Q» her hvis ikke må du gjøre det manuelt i cmd når du kjører scripten.


Nå skal jeg sette filene til hidden og read only, da må jeg bruke kommandoen «attrib». Etter attrib har jeg satt «+R» R er for å sette på read only + er for at den skal sette det på, samme med «+H» den er for Hidden. Så må man velge hvem filer som skal bli hidden og read only så da må man skrive plassering jeg har jo mappen i disk (c:) som du ser tidligere i teksten så det blir «c:\test2\*».  Deretter kommer «/S» og «/D» dette er for at alle filer og filer inni undermapper skal bli hidden og read only.


Etter de var satt til Hidden og read only så skulle jeg flytte de tilbake til mappe 1, siden filene ikke kan bli flytta med hidden og read only må jeg ta det vekk før filene kan flytte. Så da bruker jeg akkurat det samme som i stad, men nå bruker jeg minus i stede for plus som man ser på bilde «attrib –R –H c:\test2\* /S /D», minus gjør at man slår av hidden og read only.



Nå som hidden og read only er av kan jeg bruke kommandoen «move», velger jeg bare sted den skal hente filer og hvem filer som skal hentes. Deretter må jeg velge hvor jeg skal flytte filene «move (hente filer plassering\ filer.fil type flytte filer til plassering\)», her må jeg lage en move kommando får vær ekkelt mappe som jeg skal flytte filer fra. Etter de er flytta er bare å ta hidden og read only kommandoen igjen, når denne scripten blir kjørt så blir nesten som jeg ikke tok av hidden og read only selv om jeg gjorde det.
Til slutt skulle jeg har med innhold.txt det er en tekst fil som inneholder info om alle filer i mappen, da må jeg først gjøre «cd» kommandoen dette er for at cmd står som users og jeg vil ha den til c:\test mappen min som du kan se på cmd bilde her.  Deretter kommandoen «dir» siden den alt står på mappen min i cmd nå, etter cd kommandoen er det bare å sende innhold.txt «dir > innhold.txt».
Da er scripten ferdig da bare lagrer jeg den som en bat fil, så er bare å kjøre den så skal den ut føre alle disse kommandoene. Jeg har satt pause og litt info etter hvert punkt så er blir litt mer oversikt i scripten om hva som skjer.


Script 2


Her har jeg laget en script for å opprette en bruker i Aktiv Directory, jeg har laget en dsadd script som oppretter en bruker den setter fornavn, etternavn, brukernavn, passord, bytter passord med første login, oppretter profil mappe, oppretter egent område for bruker, setter user logon name og melder bruker inn i gruppe for område den blir opprettet.



Kommandoen «dsadd user» er for opprette brukere, jeg har laget scripten på en måte så jeg kan bare skrive rett inn i cmd for opprette en bruker. «dsadd user CN=%3,OU=Ledelse,OU=Sayver.com,DC=Sayver,DC=com» CN er bruker navnet til brukeren jeg har skrevet «%3» fordi da blir det, det tredje orde jeg skriver i cmd bak script navnet fordi script navne må stå først så det kjører som man kan se på bilde nedenfor. «OU=Ledelse» dette er mappen som brukeren vil bli opprettet i som er inni Aktiv Directory, «OU=Sayver.com» dette er navne mappen som Ledelse mappen ligger inni, «DC=Sayver,DC=com» dette er navnet på Domain controlleren som de mappene ligger inni. Nedenfor kan man se gruppen over malbruker, på siden kan man se mappene som ligger i Domain controlleren. Grunnen til at man må sette mappen som brukeren skal ligge i først og ikke sist er fordi da klarer ikke serveren og plasser brukeren riktig.

«-fn %1» Dette er for å sette fornavn på brukeren og %1 er at det blir ord nummer 1 i cmd som blir fornavn på brukeren se bilde nedenfor.
«-ln %2» Dette er for sette etternavn på brukeren og %2 er at det blir ord nummer t2 i cmd som blir etternavn på brukeren se bilde nedenfor.
«-pwd %4» Dette er for å sette passord til brukeren og %4 er at det blir ord nummer 4 i cmd som blir passord på brukeren se bilde nedenfor.
«-mustchpwd yes» Denne kommandoen gjør at brukeren må bytte ved første innlogging.

«-profile \\192.168.1.1\profiler\%3» Denne kommandoen oppretter en mappe i profiler mappen min som jeg har på (c:) for brukeren, dette legger man til på brukeren på properties. IP-en der server IP-en så kommer mappen profiler også til slutter %3 dette er jo bruker navnet, som man velger når man oppretter brukeren grunnen til det står der til slutt er fordi dette blir navne på mappen til brukeren.

«-hmdrv z –hmdir \\192.168.1.1\brukere\%3» Dette gjør at brukeren får hjemme område på computer, -hmdrv z denne kommandoen velger hvem bokstav hjemme område disken skal ha. –hmdir \\192.168.1.1\brukere\%3  dette er plasseringen til hvor mappen til brukeren lagrer filer vil bli opprettet og %3 er bare navne på mappen som blir bruker navnet.

«-upn %3@Sayver.com» Dette vil bli e-post for brukeren som blir (bruker navn@domain navn).
«-memberof cn=ledelse,ou=ledelse,ou=Sayver.com,dc=sayver,dc=com» Denne kommandoen vil melde brukeren rett inn i gruppen som er satt for brukeren, jeg har satt cn=ledelse dette er navne på gruppen jeg vil melde brukeren inni. 

Deretter kommer navne på mappen grupper ligger osv som jeg har sakt tidligere på «dsadd user»
Så er bare å lagre scripten i administrator mappen og skjøre cmd som administrator, først skriver man navne på scripten så i rekkeføle som man har skrevet de førskjellig % i jeg har 

%1 = fornavn %2 = etternavn %3 = brukernavn %4 = passord. Så på bilde under vil det bli ledelse = script navn | hans = fornavn | olav = etternavn | haol = brukernavn | Passord1234 = passord.


Script 3

Denne scripten er nesten helt lik dsadd user har har jeg laget en script som sletter brukere i Aktiv Directory.
«dsrm CN=%1,OU=ledelse,OU=Sayver.com,DC=Sayver,DC=com» Dette er scripten min dsrm er for å delete CN=%1 er navnet til brukeren som skal slettes på bilde under kan du se delete ledelse haol, «delete ledelse» er navnet på scripten som er lagret i administrastor mappen når mappen har mer en et ord må det være kanin symbol foran ordene og etter ordene og haol er navne på brukeren som skal slettes, om du ser over cmd vindu. Når du utfører kommandoen vil det komme en advarsel om du vil utføre denne kommandoen, den kan legges inn i scripten med «/y» men det er greit å ikke ha det på viktig ting tilfelle det skulle bli sletta med uhell. Så kommer det samme som de andre scriptene, hvem ou hvem mappe brukeren ligger i og dc for domain controlleren.




Martin Sønsterud

Ingen kommentarer:

Legg inn en kommentar