Portfolio: Windows 2000-työasema Windows NT-palvelin Windows 2000-palvelin Ohjelmointi Tietokanta

Harjoitukset: HTML PHP SQL VB Access

Koulutuksesta: Opetus-suunnitelma

Linkkejä: W3C (X)HTML Validator CSS Validator W3 Schools Opera Mozilla



Windows NT palvelimen käyttäjien lisäys komentojonona

useraddNT.zip (2kB)

useaddNT.zip (2kB)

NT-palvelimen konfigurointia harjoitellessamme tein omana sivujuonteena useraddNT.bat-skriptin käyttäjien lisäämiseksi komentojonona tekstitiedostosta. Idean sain yksinkertaisemmasta scriptistä joka ei osannut lisätä kuin käyttäjän ja kansiot ilman ryhmiä, kuvauksia, jne. useraddNT.bat ei välttämättä ole sellaisenaan täysin valmis joka tilanteeseen, mutta sitä on palvelimen ylläpitäjän helppo muokata kun hieman perehtyy scriptin toimintaan. enemmänkin apua löytyy komentokehotteen helpeistä riittämiin. Hankalin osuus tämän komentojonon tekemisessä oli oikeiden komentojen ja parametrien löytyminen sekä for-silmukoiden syntaksin oikeellisuus.

Scripti hakee users.txt-tiedostosta käyttäjätiedot ja lisää ne palvelimelle. Skripti tekee myös palvelimelle käyttäjien kotikansiot ja luo roaming-profiilia varten profiilikansiot. Lopussa useraddNT.bat tekee vielä logitiedoston johon tallentuu sillä hetkellä lisätyt käyttäjät. Eniten hyötyä skriptistä voisi olla jos käyttäjätiedot (koko nimi, osasto, jne) on jo olemassa sähköisessä muodossa valmiina josta tehdään skriptin ymmärtämä users.txt. Users.txt on ms-dos-tekstitiedosto ja tulisi tehdä esimerkiksi Excelin kautta tallentaen puolipiste-erottimella muodossa CSV(MS-DOS)(*.CSV). y.txt sisältää vain y-kirjaimen joka ohjataan tietyille komennoille vastaukseksi jatkaa komennon suorittamista. Skripti voisi olla käyttäjäystävälllisempi jos kaikki käyttäjän editoitava tieto olisi muuttujina tiedoston alussa, mutta toimii nykyiselläänkin. Tarvittaessa myös salasanat pystyisi lisäämään users.txt.tiedostoon jos useraddNT.bat-skriptiin lisättäisiin silmukoihin yksi "token" lisää salasanaa varten.

Älä käytä tätä skriptiä ennen kuin olet perehtynyt sen toimintaan! Voit saada paljon ogelmia aikaiseksi palvelimessa (tai työasemassasi). Jos käytät skriptiä katso tiedostoja tekstieditorilla nähdäksesi oikeat tiedostomuodot ja asetukset. Kieli ohjeistuksessa on serveriympäristöstä tuttu englanti. Sekä useraddNT.bat, että users.txt on ehdottomasti editoitava vastaamaan omaa palvelinympäristöäsi. Vaikka users.txt sisältää ääkkösnimiä, en silti suosittele ääkkösten käyttöä ryhmien ja käyttäjien nimissä ellei sille löydy painavaa syytä. Ääkköset hankaloittavat varsinkin komentoriviltä suoritettavia ylläpitäjän tehtäviä.



users.txt malli


\ The user data on this file was created with Excel last cell containing the "\".
\ File was saved as Comma delimited MS-DOS text file: "CSV(MS-DOS)(*.CSV)".
\ MS-DOS-format is needed if you use Finnish (or SWE etc.) alphabets on this file.
\ fyi ö=alt+0148, Ö=alt+0153, ä=alt+0132, Ä=alt+0142, å=alt+0143, Å=alt+0143
\ Found bugs? I take absolutely no responsibility about the things you do with my files!
\ You are on your own... gl, Mikko Haimila, 2004
\
\ user;fullname;comment(user);group;comment(group);eof-marker(defined in adduserNT.bat)
user1;John Doe;user for testing;testgoup1;group for testing;\
user2;Jane Doe;user for testing2;testgoup1;group for testing;\
Käpy Köyliö;Käpy Köyliö;user for testing Finnish alphabets;testfin;group for testing Finnish alphabets;\
Some.user;Sammy U. Sir;user for testing (again);testgroup2;group for testing (again);\



useraddNT.bat

@echo off
REM useraddNT.bat for WINNT Server by Mikko Haimila, 2004.

cmd /c

echo ************************************************************************
echo *useraddNT.bat v.1.0 for WINNT Domain Controller by Mikko Haimila, 2004*
echo ************************************************************************
echo *                           WARNING!                                   *
echo  *      Do not run this batch file without editing files first!       *
echo *           (or if you don't have a clue what this does)               *
echo ************************************************************************
echo  In "useraddNT.bat" you need to edit atleast these parts:
echo  /homedir:"\\myNTserver\home\%%i"
echo  /profilepath:"\\myNTserver\users\%%i"
echo  md "d:\users\%%i"
echo  md "d:\home\%%i"
echo  cacls "d:\users\%%i
echo  cacls "d:\home\%%i"
echo  To edit user data see details in "users.txt".
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
echo  Found bugs? I take absolutely no responsibility about the things
echo  you do with the files I created! You are on your own... gl
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
echo  To make this script work you need all three(3) files in same dir:
echo  "useraddNT.bat", "users.txt" and "y.txt" from the "useraddNT.zip"
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

echo Press Ctrl+C NOW to cancel!!!

PAUSE

ECHO *********** MAKING USERS AND GROUPS ***********

REM Adds user+passwd+homepath+profilepath (password could be read from the textfile with one more token)
FOR /F "eol=\ tokens=1,2,3,4,5 delims=;" %%i in (users.txt) do net user "%%i" pwd09876 /add /homedir:"\\myNTserver\home\%%i" /profilepath:"\\myNTserver\users\%%i" 

REM Adds Fullname + comment for user
FOR /F "eol=\ tokens=1,2,3,4,5 delims=;" %%i in (users.txt) do net user  "%%i" /fullname:"%%j" /comment:"%%k"

REM Adds new group + comment, if group allready created shows message you can ignore
FOR /F "eol=\ tokens=1,2,3,4,5 delims=;" %%i in (users.txt) do net group "%%l" /comment:"%%m" /add

REM Adds user to a group
FOR /F "eol=\ tokens=1,2,3,4,5 delims=;" %%i in (users.txt) do net group "%%l" "%%i" /add

ECHO *********** MAKING DIRECTORIES ***********

REM Note: "users" and "home" -dirs has to be made beforehand with appropriate sharing and security settings

REM makes dir d:\users\%%i
FOR /F "eol=\ tokens=1,2,3,4,5 delims=;" %%i in (users.txt) do md "d:\users\%%i"

REM makes dir d:\home\%%i
FOR /F "eol=\ tokens=1,2,3,4,5 delims=;" %%i in (users.txt) do md "d:\home\%%i"

REM cacls=user rights, /g=appends and deletes old rights, f=full, y.txt="are you sure?"-dialog bypass->"y"+[enter]
FOR /F "eol=\ tokens=1,2,3,4,5 delims=;" %%i in (users.txt) do cacls "d:\users\%%i" /g "%%i":f <y.txt
FOR /F "eol=\ tokens=1,2,3,4,5 delims=;" %%i in (users.txt) do cacls "d:\home\%%i" /g "%%i":f <y.txt

REM /e=leaves old rights alone /g=adds new rights
FOR /F "eol=\ tokens=1,2,3,4,5 delims=;" %%i in (users.txt) do cacls "d:\users\%%i" /e /g administrator:f <y.txt
FOR /F "eol=\ tokens=1,2,3,4,5 delims=;" %%i in (users.txt) do cacls "d:\home\%%i" /e /g administrator:f <y.txt

ECHO *********** MAKING A LOGFILE AND FINISHING ***********

REM Appends user data into a logfile. (Makes one if not already there.)
FOR /F "eol=\ tokens=1,2,3,4,5 delims=;" %%i in (users.txt) do net user "%%i" >> added.log

ECHO Logfile "added.log" was updated.

ECHO "net user" provides the following information:

net user | more

ECHO useraddNT.bat was executed.

pause

© 15.9.2004 Mikko Haimila



Valid XHTML 1.0! Valid CSS! NoteTab