a driverekkel késznek tekinthetõ windowsunkon már csak
pár finomítást kell elvégezni és telepíteni kedvenc programjainkat
(utólag kiderült, hogy ez a rész túl terjedelmesre sikerült, ezért
ebben a részben az operációs rendszerhez kapcsolódó végsõ simításokat
tudom csak részletezni). ehhez a telepítõ több lehetõséget is kínál:
detachedprogram
már grafikus (visszaszámlálós) módban, de még az eszközök telepítése
elõtt ad lehetõséget program futtatására. akkor fut le, mikor még 39
perc van hátra. használata a válaszfájl alábbi módon történõ
kiegészítésével lehetséges:
[GuiUnattended]
DetachedProgram = ''%systemdrive%\extras\install.exe''
cmdlines.txt
ugyancsak grafikus módban, de már a telepítés befejezése elõtti 12.
percben (a hotfixek integrálásához esetlegesen használt svcpack.inf
után) futnak le az itt megadott parancsok. használatához elég
létrehozni az $OEM$ könyvtárban egy 'cmdlines.txt' nevû fájlt. a fájl
tartalma például a következõ:
[Commands]
''reg import cmdlines.reg''
az elsõ sor kötelezõ, a második sor pedig az ugyanitt található
'cmdlines.reg' importálását végzi el. a cmdlines.txt funkcionalitása
korlátozott, én kizárólag reg bejegyzéseket rögzítek segítségével. az
alábbiakban ezekbõl egy rövid (és reményeim szerint problémamentes)
ízelítõ. többek között tehát az alábbi sorokat tartalmazza a
cmdlines.reg (a # kommentek törlendõk):
Windows Registry Editor Version 5.00
### 2003 alatt letiltja a leállítás / restart okára való rákérdezést:
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Reliability]
"ShutdownReasonOn"=dword:00000000
### minden exe fájl jobbklikk menüjéhez 'run high' feliratú bejegyzést
tesz, mellyel a program magasabb prioritással futtatható (ha a program
is úgy akarja...):
[HKEY_CLASSES_ROOT\exefile\shell\Run High]
[HKEY_CLASSES_ROOT\exefile\shell\Run High\command]
@="cmd.exe /c start /high \"%1\" \"%1\""
### a TEMP változó helyét állítja be, hogy ne a júzer profiljába
szemeteljen:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session
Manager\Environment]
"TEMP"="C:\\TMP"
"TMP"="C:\\TMP"
[HKEY_CURRENT_USER\Environment]
"TEMP"="C:\\TMP"
"TMP"="C:\\TMP"
### rendszervisszaállítás kikapcsolása:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows
NT\CurrentVersion\SystemRestore]
"DisableSR"=dword:00000001
### ismeretlen fájltípusok programjait ne akarja az internetrõl kilesni
(úgyse sikerül...):
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System]
"NoInternetOpenWith"=dword:00000001
### jobbklikk-menü a CD-tálca bezárásához. a 'nircmd' progit elõzõleg
elmentettük az $OEM$\$1\$Progs\nircmd könyvtárba. sajnos a menüpont
minden meghajtónál megjelenik, ez van. még mindig olcsóbb, mint
felállni.
[HKEY_CLASSES_ROOT\Drive\shell\draw]
@="Close"
[HKEY_CLASSES_ROOT\Drive\shell\draw\command]
@="C:\\app\\nircmd\\nircmd.exe cdrom close"
### intézõ keresésnél nézze a rejtett és rendszermappákat is,
alkönyvtárakkal együtt:
[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer]
"SearchSystemDirs"=dword:00000001
"SearchHidden"=dword:00000001
"IncludeSubFolders"=dword:00000001
guirunonce / runonceex
a guirunonce futtatása a válaszfájl kiegészítésével történik, az
alábbiakban megadott parancsfájl az elsõ (jellemzõen automatikus)
bejelentkezéskor fut le:
[GuiRunOnce]
%systemdrive%\TMP\guirunonce.cmd
eszerint szükségünk van egy $OEM$\$1\TMP\guirunonce.cmd fájlra, mellyel
programjaink nagyrészét fogjuk telepíteni.
kis mellékvágányként megjegyzem, hogy a runonceex gyakolratilag a
guirunonce.cmd-vel megegyezõ funkcionalitással bír. a runonceex
annyiban szebb, mint a parancssor, hogy csini kis felületen pipálgatja
az egyes parancsok elvégzését. sajnos nincs screenshot, de talán rémlik
hogyan néz ki a bal felsõ sarokban megjelenõ kis ablak, pl. az ie7
telepítését követõ bejelentkezéskor. én maradok a parancssoros
verziónál.
a könnyebb áttekinthetõség érdekében a guirunonce.cmd-t több szakaszra
bontottam. természetesen az itt felsorolt programok és mûveletek egyéni
preferenciáimat tükrözik, de jó kiindulópontot jelenthetnek más,
hasonló feladatok elvégzéséhez. az alábbiakban sok kukuc meg ECHO fog
szerepelni, lényegük, hogy csak az ECHO-s sorok tartalmát írja ki a
futtatásnál. valahogy így:
a szintén gyakori vendég start/wait arra jó, hogy csak az adott feladat
elvégzését követõen ugorjon neki az azt követõknek.
guirunonce / dev
vagyis elõször az eszközökkel kapcsolatos mûveletek jönnek. elsõként a
telefon driverét telepítjük erõszakkal, ne akkor értetlenkedjen
windowsunk, mikor elõször galvanikus kapcsolatba lépnek egymással:
@ECHO.
@ECHO ***********
@ECHO *** dev ***
@ECHO ***********
@ECHO.
@ECHO *** dev *** motomodem
@rundll32.exe setupapi.dll,InstallHinfSection DefaultInstall 132
C:\tmp\drv\09_motv3\USBMOT2000.INF
aztán a devcon nevû eszközzel letiltjuk az egyik hálókártyát (ide talán
dupla & kéne...):
@ECHO.
@ECHO *** dev *** 3com lan disable
@start /wait C:\tmp\appz\devcon disable
PCI\VEN_10B7&DEV_9201&SUBSYS_80AB1043&REV_40
esetleges másik hálókártyánk pedig kaphat egybõl fix belsõ ip-címet:
@netsh interface ip set address name="Local Area Connection" static
192.168.0.1 255.255.255.0 192.168.0.1
ezt követõen újra megfuttatjuk a devcon-t, hogy iso-mountoló programot
telepítsen. hogy miért nem daemon tools? nincs szükségem a
játéklemez-emulációkra, csak egy ingyenes parancssori eszközre, amivel
iso fájlokat tudok csatolgatni. az alább látható osrscsi tökéletesen
megfelel a célnak. mindjárt látni fogjuk, ahogy az office egy iso
fájlból kibújva telepkedik gombnyomás nélkül...
@ECHO.
@ECHO *** dev *** osrscsi - virtual drive
@start /wait C:\tmp\appz\devcon install
C:\app\osrscsi_v22\osrscsipt.inf root\osrscsi
az elõbb a reg bejegyzéseknél szándékosan kihagytam az osrscsi-ra
vonatkozó részeket, ezennel bepótolom. a cmdlines.reg fájlba 'mount' és
'dismount' parancsokat rakok az iso fájlokhoz, az alábbi módon:
[HKEY_CLASSES_ROOT\.iso]
@="isofile"
[HKEY_CLASSES_ROOT\isofile]
[HKEY_CLASSES_ROOT\isofile\shell]
[HKEY_CLASSES_ROOT\isofile\shell\Mount]
[HKEY_CLASSES_ROOT\isofile\shell\Mount\command]
@="C:\\app\\osrscsi_v22\\x86\\osrspmgmtcl -add -cdrom:%1"
[HKEY_CLASSES_ROOT\isofile\shell\Dismount]
[HKEY_CLASSES_ROOT\isofile\shell\Dismount\command]
@="C:\\app\\osrscsi_v22\\x86\\osrspmgmtcl -delete:%1"
kicsit hülyén jön ki, de ez azt jelenti, hogy a már mountolt fáljt
(meghajtót) csak az eredeti iso fájlra jobbklattyal lehet eltávolítani.
falun elmegy. de térjünk vissza a guirunonce-hez, adjunk hozzá egy
álnyomtatót a windowshoz. ez hasznos lehet, ha nyomtató híján pl.
nyomtatási képet szeretnénk nézni. halálos lehet persze, ha az ál
laserjet 4-hez igazított diplomamunkánkat a kopigenerál canon drivere
kicsit másképp látja...
@ECHO.
@ECHO *** dev *** dummyprinter
@start /wait rundll32 printui.dll,PrintUIEntry /if /b "lpt1" /f
%windir%\inf\ntprint.inf /r "lpt1:" /m "HP LaserJet 4"
guirunonce / os
végeztünk az eszközökkel, kicsit maceráljuk a windows-t, mielõtt a
programokra térünk. látni fogjuk, bõven van mit varázsolni. elsõ körben
megtaláltatjuk a telepítõ DVD betûjelét. ezt én nem látom szükségesnek,
mert nem telepítek semmit onnan. késõbb ennek érveire és ellenérveire
visszatérünk, addig legalábbis referenciának megteszi.
@ECHO.
@ECHO **********
@ECHO *** os ***
@ECHO **********
@ECHO.
@ECHO *** os *** get dvd drive
@FOR %%d IN (c: d: e: f: g: h: i: j: k: l: m: n: o: p: q: r: s: t: u:
v: w: x: y: z DO IF EXIST %%d\setup.exe SET CDROM=%%d
következzen egy gyönyörû példája az iso mountolásnak, mellyel a 2003 R2
kiegészítését telepítjük. természetesen tudni kell, melyik bötût fogja
kapni a tündér mountoláskor.
@ECHO.
@ECHO *** os *** w2k3 r2
@start /wait C:\app\osrscsi_v22\x86\osrspmgmtcl -add
-cdrom:\tmp\appz\r2.iso
@start /wait F:\CMPNENTS\r2\setup2.exe /q /a /sr
@start /wait C:\app\osrscsi_v22\x86\osrspmgmtcl -delete
-cdrom:\tmp\appz\r2.iso
mivel elég rendszerközeli, következõnek az ie7-et telepítjük.
megjegyzem, hogy xp alatt szinte biztosan integrálható az ie7, 2003
esetében meg nem. marad a favágás:
@ECHO.
@ECHO *** os *** ie7
@start /wait C:\tmp\patch\ie7_w2k3.exe /quiet /nobackup /norestart
most pedig következzenek a kedvenceim, a dotnet és a java. dotnetrõl
annyit mondanék, hogy xp alá elméletileg jól jöhet az 1.1 is, 2003-ban
ez már benne van. nemrég megjelent a dotnet 3, ez már tartalmazza a
dotnet 2-t. akinek a dotnet 3 brutális telepítési ideje sok és úgy
dönt, hogy csak a 2-t rakja fel, annak van lehetõsége a dotnet 2
patcheket integrálni a dotnet 2 telepítõbe. igazán csodás. a dotnet
tipikus murphy-program, csak akkor kell mikor: 1. nincs fenn a gépen és
2. gyorsan kell(ene) telepíteni valamit és 3. modemes net van csak...
én frappánsan megmutatom neki:
@ECHO.
@ECHO *** os *** dotnet 3
@start /wait C:\tmp\patch\dotnetfx3.exe /q
aki az 1.1-re feltétlenül igényt tart, annak íme:
@start /wait C:\tmp\patch\dotnet_1_1\netfx.msi /qb
ráadásként kért valaki dotnet 2 telepítõt. ezt elõször ki kell
csomagolni egy könyvtárba, majd a következõ paranccsal telepszik:
@start /wait C:\tmp\patch\dotnet_2\install.exe /S /qb-!
a java szintén zenész, a helyzetet azonban tovább bonyolítja az ms-féle
virtuális gép átmeneti megléte. nem kívánom senki helyett eldönteni a
kérdést, ezért szemléltetem mindkét megoldás (sun / ms) telepítését.
persze az igazán elborultak itt sem maradnak játék nélkül. az ms saját
virtuális gépére ugyanis kiadott egy frissítést, amely csak az eredeti
verzió megléte esetén telepkedik. sajnos linkem nincs, de kiguglizható
hogyan kell összefésülni a két verziót. az összefércelt ms vm
telepítése:
@ECHO.
@ECHO *** os *** msjava
@start /wait C:\tmp\patch\java\javatrig.exe /l /exe_install /nowincheck
/q
referenciaként az eredeti és a frissítés telepítése pedig így néz ki:
@start /wait C:\tmp\patch\java\msjavx86.exe /Q:A /R:N
@start /wait C:\tmp\patch\java\msjavwu.exe /Q:A /R:N
az ellenlábas sun java alkatrészt a következõ paranccsal tudjuk
felerõszakolni:
@start /wait C:\tmp\appz\sunjava\jre-1_5_0_10-windows-i586-p-s.exe /s
/v"/qn ADDLOCAL=jrecore IEXPLORER=1"
most értünk el a windows hotfixek "nem hivatalos" úton történõ
telepítéséhez. emlékeztetõül: egy könyvtárba pakoltuk a microsoft
update által javasolt frissítéseket, most pedig szépen sorban
elindítjuk mindegyiket. ez a parancs nem csinál mentést az eredeti
állapotról, tehát a frissítések nem visszavonhatók, de legalább
kevesebb helyet foglalnak. azért döntöttem a késõi patchelés mellett,
mert mind a dotnethez, mind az ie7-hez kapcsolódhatnak a frissítések.
@ECHO.
@ECHO *** os *** patch
@for %%a in (c:\tmp\patch\patch\*.exe) do %%a /q /norestart /n
a frissítéseket követõen 2003 alatt lehetõségünk van egy korábbi
biztonsági konfig alkalmazására, ezt követõen pedig átállítjuk egy
szolgáltatás indulási módját, ha az alapértelmezett nem szimpatikus:
@ECHO.
@ECHO *** os *** secpol
@start /wait scwcmd configure /p:\TMP\pol\secpol.xml
@sc config themes start= auto
mivel az operációs rendszerhez tartozik, gyorsan bemásoljuk kedvenc
HOSTS fájlunkat a helyére:
@ECHO.
@ECHO *** os *** hosts
@copy C:\TMP\appz\hosts C:\WIN\system32\drivers\etc\hosts /y
megadjuk pár kiterjesztés típusát, hogy notepaddal nyíljanak meg:
@ECHO.
@ECHO *** os *** assoc
@assoc .nfo=txtfile
@assoc .sif=txtfile
2003 alatt belõhetjük a szupertitkos tls-t távoli asztalhoz:
@ECHO.
@ECHO *** os *** rdp tls
@start /wait C:\tmp\appz\selfssl.exe /NN=domain.hu /v:365 /Q
majd kitakaríthatjuk a szemetet. persze a windows és barátai egyes
könyvtárakhoz nagyon ragaszkodnak, ezeket (az intézõ számára)
láthatatlanná tehetjük az utolsó sorban található 'attrib' paranccsal,
így 'op. rendszer védett fájljainak elrejtése' esetén ezek nem zavarnak.
@ECHO.
@ECHO *** os *** cleanup
@DEL "C:\WIN\*.bmp" /q
@DEL "C:\WIN\Web\Wallpaper\*.jpg" /q
@DEL "C:\WIN\media\*.*" /q
@DEL "C:\DOC\All Users\Start Menu\Windows Update.lnk" /q
@rd "C:\DOC\All Users\Start Menu\Programs\Accessories" /S /Q
@rd "D:\Adminscripts" /S /Q
@attrib +S +H C:\wmpub /S /D
idáig tartott az operációs rendszer végsõ ráncfelvarrása, a következõ
és terveim szerint utolsó részben szó szerint ugyaninnen folytatjuk a
guirunonce.cmd parancsfájl azon sorait részletezve, melyek a programok
telepítését végzik.
|