出處:中國IT實(shí)驗(yàn)室
% j+ T, [+ q: A' J" B3 b# v0 C# V3 M* A: t- U; D
個(gè)性化Windows XP客戶端的登錄界面 一般來說,XP客戶端登錄界面分為兩種,一種是使用“歡迎屏幕”;另一種是不使用“歡迎屏幕”的經(jīng)典登錄界面。大家都知道,XP系統(tǒng)一旦加入域后,就不再使用“歡迎屏幕”。所以,今天我們就來討論一下如何個(gè)性化域中的XP登錄界面。
% H% M6 v( M' A4 f2 Q) H
" F6 V* w! }0 U' q 先讓大家先看一下,我們公司現(xiàn)在和以前使用過的XP個(gè)性化登錄界面。如圖1 2
7 G4 L" e4 X# L' w: @! H+ L2 S$ Y4 B3 d$ X
是不是還不錯(cuò)呢?其實(shí)做法很簡(jiǎn)單,下面我就一步一步來和大家分享一下如何操作
: @, V3 r7 D0 `! s1 q( { % _# `/ U8 K9 z- q- `9 ^
; {* m2 p) P! k& E4 `7 R
7 p+ W6 N) w9 g) P , a. F+ E- w2 n4 [5 }& w e, h
. L' z+ R. \2 s# z; z. D7 b 在正式操作之前,我想先和大家介紹一下Gina這個(gè)東西。為什么要介紹這個(gè)呢?因?yàn)槲覀兘裉熳龅膫€(gè)性化設(shè)置就是修改Gina來實(shí)現(xiàn)的。它是干什么用的呢?一言以蔽之,它是專門用來進(jìn)行登錄進(jìn)程的驗(yàn)證和身份驗(yàn)證的。從它的英文全稱Graphical Identification and Authentication(圖形標(biāo)識(shí)和身份驗(yàn)證)就可以看出它的用途。Gina的功能實(shí)現(xiàn)是依靠C:\WINDOWS\system32\msgina.dll這個(gè)動(dòng)態(tài)鏈接文件來實(shí)現(xiàn)的。這個(gè)文件包含了默認(rèn)的Windows登錄界面。可以自己開發(fā)GINA DLL,以實(shí)現(xiàn)其他的身份驗(yàn)證方法,例如某些磁卡、智能卡驗(yàn)證、動(dòng)態(tài)令牌驗(yàn)證等。我們今天就準(zhǔn)備修改這個(gè)文件的內(nèi)容來達(dá)到個(gè)性化的目的。不過這個(gè)文件是受保護(hù)的系統(tǒng)文件,想要徹底修改替換它也不怎么容易。需要借助故障恢復(fù)控制臺(tái)、PE系統(tǒng)或者類似NTFSDOS的工具來實(shí)現(xiàn),比較麻煩,而且極有可能影響系統(tǒng)的穩(wěn)定。這種做法不值得推薦給大家。/ Q( }; }( z' g. M! P$ A
& Q f% }- X+ D* m/ X3 ]; _4 Z
不過微軟還算厚道,在注冊(cè)表里留了一個(gè)位置用于安裝GINA,在HKLM\Software\MicrosoftWindows NT\CurrentVersion\Winlogon下設(shè)置GINADLL為你指定的GINA DLL,(注意:GINADLL這個(gè)值缺省沒有,需要新建)如果設(shè)置了這個(gè)值,系統(tǒng)會(huì)先調(diào)用該GINA,而不會(huì)調(diào)用缺省的msGINA.dll。
( Y8 _" H* m! x; d: P- [5 O9 _* S3 o( d! K' n3 R7 m0 z
OK,下面是具體操作步驟:
* n; s, n# {' \" y, a2 w 1. 將XP系統(tǒng)中的C:\WINDOWS\system32\msgina.dll這個(gè)文件復(fù)制一份出來,用于編輯之用,并且重命名為重命名為XPGina.dll(名字隨便取啦)
& i/ g& P8 t* j1 {2 ?' |+ O
! m5 W. m# A+ g4 c4 ^7 } 2. 用ResHacker或者Exescope(我這里使用ResHacker給大家做演示)打開XPGina.dll后,展開“位圖”,在“101”,“107”下面均有個(gè)“2052”。如圖3所示3 n/ r1 c/ N0 Z4 g# Y2 X4 R: c
6 j9 } ^$ x& W6 W- z" O
3. 我們的目標(biāo)就是替換這兩個(gè)地方的圖片。其中101處的圖片大小為 413*72,用于用戶登錄過程和鎖定畫面;107 則是個(gè)較大的位圖,格式為 413*88,用于登陸驗(yàn)證的畫面。請(qǐng)盡量保持新圖片的大小和系統(tǒng)自帶圖片大小的一致性,否則很影響美觀性。- i3 o# Z* f' R
1 l9 g8 A/ X0 z4 w, g" q
4. 我以101為例來說明如何替換這個(gè)圖片。點(diǎn)擊ResHacker的“操作”按鈕,選擇“替換位圖”。如圖4." i; O* |; }8 o2 U4 B8 ?
2 l- U* ]+ C2 r; b 然后選擇“打開新位圖文件”,打開你事先準(zhǔn)備好的,經(jīng)過你無限創(chuàng)意的位圖圖片(大小413*72),點(diǎn)擊“替換即可”。如圖5和6。* @1 [+ b5 I5 g; f
5. 107的替換步驟就不再贅述了,和前面的操作步驟完全一樣。只不過圖片選擇413*88的那張。+ j0 @! H+ ~ ~' N2 S. Y
8 i/ q+ T- F" d; ? 6. 全部修改完以后,點(diǎn)擊ResHacker的“文件”,“保存”即可。這樣,這個(gè)文件就被我們處理好了。 5 Q1 b) o: h n0 Z3 l& u
+ }% A" I0 ~5 l3 U
7 m% h2 Z0 d% a0 Y1 v
5 [3 v5 c9 \" `3 e
% f# i1 I) c0 V. M
) W! h' J6 r- a$ Z & r& }. Q0 K4 _* B: w
\/ Z, c0 p/ p- h+ @$ ^. ?% G$ p( |9 D4 Z0 P
& Z$ t. e3 C. f
個(gè)性化的文件我們已經(jīng)有了,但是如何讓操作系統(tǒng)啟動(dòng)的時(shí)候調(diào)用這個(gè)文件呢?其實(shí),我在前面已經(jīng)說過了,在注冊(cè)表HKLM\Software\MicrosoftWindows NT\CurrentVersion\Winlogon值下新建一個(gè)REG_SZ的字符串值,將內(nèi)容設(shè)置為C:\windows\XPGina.dll(前提是確保這個(gè)個(gè)性化文件在這個(gè)路徑中,否則系統(tǒng)啟動(dòng)的時(shí)候會(huì)找不到這個(gè)文件而報(bào)錯(cuò))。重新啟動(dòng)計(jì)算機(jī)就可以看到你的勞動(dòng)成果了,很激動(dòng)吧。6 i$ O( K% I; G( Y& `( l
; z* W* P" D, ~* Y9 T 操作已經(jīng)接近尾聲了,但是如何在公司的機(jī)器上大規(guī)模部署起來呢?總不能一個(gè)一個(gè)的去客戶端做注冊(cè)表修改吧?!當(dāng)然不必!我們可以使用啟動(dòng)腳本、ADM模板來批量操作。下面我貼出我們公司目前的啟動(dòng)腳本文件:9 I8 e: L/ r6 m, S
4 R/ W; K6 L/ t3 k8 C* G @echo off
; A1 J& n7 P2 Z5 Z1 n, Q6 h if exist c:\windows\XPGina.dll (5 V6 j* Q! [" O: M u z% }, l2 q
echo Windows Registry Editor Version 5.00 >> .\reg.reg
! ]9 ~* ~1 c4 a- O$ Y; d) P echo . >> .\reg.reg
) y& M( A8 ?# L1 E) W8 M/ U; w echo [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon] >> .\reg.reg! ?1 h7 P8 I u' M6 {1 N
echo "LogonPrompt"=" 祝您工作順心!" >> .\reg.reg; ~0 M5 H: n9 u( k+ I
echo "Welcome"="(BY IT支持維護(hù))" >> .\reg.reg
+ x* y* m* [% x! I echo "GinaDLL"="c:\\windows\\XPGina.dll" >> .\reg.reg
9 S5 S, N# G" C regedit /s .\reg.reg- x0 r; C% o8 R( |
del /F .\reg.reg2 b" W/ D' F3 [0 f. ]8 E
) else (
, D9 ?5 U- i B+ ]1 l* F! Z8 l- A net use z: /del/ D( s; f& H; ~+ g2 C: B* i. \
net use z: \\FileServer\\Share "password" /user:[email protected]
' g0 f3 ~% V% O. f3 v, x7 m copy z:\ XPGina.dll "c:\windows\XPGina.dll" /n
$ M- S% B7 A; F& U/ @ net use z: /del
- J% |1 W H+ \* X6 P5 s )% b* D( d) X9 j
+ Y( Y4 R$ W. C 對(duì)以上批處理文件,我稍微做一下解釋。大致思路是先檢查C盤Windows目錄下是否有XPGina.dll這個(gè)文件,如果沒有就從Z盤拷貝(Z盤是從文件共享服務(wù)器FileServer上映射的一個(gè)網(wǎng)絡(luò)驅(qū)動(dòng)器),拷貝完成后再斷開驅(qū)動(dòng)器的映射。如果有,就導(dǎo)入reg.reg注冊(cè)表。至于注冊(cè)表中具體寫的什么內(nèi)容,相信大家從批處理文件中一看就可以看出來。導(dǎo)入完成以后就刪除該注冊(cè)表文件。# S8 |) C5 V3 K6 A% H- e l6 j7 \, ?* j
0 @% Y+ l0 c; m' K* k, J) l% L- c 順便稍上40樓朋友給我們帶來的刪除前面注冊(cè)表操作的批處理腳本,這樣就可以回滾操作了,5 t" X. m* w* Q4 W6 M6 J# A! v+ P) X
/ G. `, R# ^) W @echo off
$ [0 C. k# n3 }, ^6 U if exist %SystemRoot%\XPGina.dll (( ]( f" ^' @1 C' A! Z S2 `
echo Windows Registry Editor Version 5.00 >> .\reg.reg/ I1 r; k- A5 Y" n: ?( B
echo . >> .\reg.reg- q! q1 w- h* w. j% V
echo [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon] >> .\reg.reg
3 e& D+ t1 ~: a) \ echo "LogonPrompt"=- >> .\reg.reg, i: I, ?2 o: U, I: {) [2 ]+ g4 q
echo "Welcome"=- >> .\reg.reg
4 G7 O% ~7 U( `7 y! Z echo "GinaDLL"=- >> .\reg.reg; A& Z, T, V" o7 u% }- U
regedit /s .\reg.reg
' n, r6 j. H- T# @2 [" w% [ del /F .\reg.reg' i& }& |8 f- S0 ?2 }) `/ V6 ~' T
) else (
4 c/ u& j$ c8 O) P del "%SystemRoot%\XPGina.dll" /F
4 p+ M, r$ p1 u. z3 `0 M )
+ w0 M, A' r. d( N
- d; r2 h B' V 最后,整個(gè)操作步驟我還想補(bǔ)充幾點(diǎn)說明:/ v: p/ E" E3 X
6 ~6 _9 @. o! Y! |
1. 操作系統(tǒng)不同,需要替換的位圖文件的位置也不同,例如,XP是替換101和107,而2003就未必是這個(gè)地方了。不要試圖用XP的GINADLL文件用在2003上,否則2003的登錄界面很難看,其實(shí)也說不上難看,只是圖片不是我們預(yù)期的圖片。5 n# H6 V) A* V: g W( s
) d8 n- ]/ Z2 p" Z0 A 2. 在批量實(shí)施的時(shí)候,請(qǐng)用啟動(dòng)或關(guān)機(jī)腳本。否則可能會(huì)因?yàn)闄?quán)限問題,無法寫進(jìn)注冊(cè)表數(shù)據(jù)。+ `. u5 ^: d0 H
0 U. C/ y7 H6 ^: x9 m 3. 在純安全模式下,個(gè)性化界面不會(huì)生效。這也就給了當(dāng)我們遇到第4點(diǎn)中的問題時(shí)提供了操作可能。; T0 }' k. b- A2 [/ \ I! q
2 R7 q, i2 Z8 y( h- S1 f 4. 如果遇到應(yīng)用錯(cuò)誤或者不想使用個(gè)性化登錄界面,請(qǐng)直接刪除注冊(cè)表中HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon下的GinaDLL。重新啟動(dòng)計(jì)算機(jī)就行了。4 g# m% d# u" N8 x" \4 Q
$ o" d1 J8 J0 ~& c: a$ P: n
OK,整個(gè)步驟到此就結(jié)束了,雖然沒有什么技術(shù)含量,但是我敢保證,如果你在公司所有的計(jì)算機(jī)上都個(gè)性化了登錄界面,例如加上公司的logo,那么一定會(huì)給同事們或老板耳目為之一新的感覺。記得有家公司來我們公司參觀的時(shí)候,看到個(gè)性化登錄界面后,問我們公司是不是和番茄花園合作,做了系統(tǒng)美化。 |