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
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ä.
\ 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);\
@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