出處:中國IT實驗室3 i( z* ]9 N; c8 R# w4 ^- W
1 g7 w* m8 Z! Y0 G9 t1 X6 M: c I 個性化Windows XP客戶端的登錄界面 一般來說,XP客戶端登錄界面分為兩種,一種是使用“歡迎屏幕”;另一種是不使用“歡迎屏幕”的經(jīng)典登錄界面。大家都知道,XP系統(tǒng)一旦加入域后,就不再使用“歡迎屏幕”。所以,今天我們就來討論一下如何個性化域中的XP登錄界面。" d. d+ \/ {3 p6 y
0 _) ]) X8 l: n2 L7 e% ~, L 先讓大家先看一下,我們公司現(xiàn)在和以前使用過的XP個性化登錄界面。如圖1 22 ^7 K, [9 u! v l4 ]
) ]7 q5 r, c' I 是不是還不錯呢?其實做法很簡單,下面我就一步一步來和大家分享一下如何操作
+ _4 p8 i0 _1 x 5 ^) j: L7 R- S/ n; G5 u9 i
0 h1 F3 J5 |9 f% i& W9 } 1 I0 Y4 a; b+ K2 v
- l0 I4 V+ n& R: }
1 Z0 \1 l# R4 t) U' J 在正式操作之前,我想先和大家介紹一下Gina這個東西。為什么要介紹這個呢?因為我們今天做的個性化設(shè)置就是修改Gina來實現(xiàn)的。它是干什么用的呢?一言以蔽之,它是專門用來進(jìn)行登錄進(jìn)程的驗證和身份驗證的。從它的英文全稱Graphical Identification and Authentication(圖形標(biāo)識和身份驗證)就可以看出它的用途。Gina的功能實現(xiàn)是依靠C:\WINDOWS\system32\msgina.dll這個動態(tài)鏈接文件來實現(xiàn)的。這個文件包含了默認(rèn)的Windows登錄界面??梢宰约洪_發(fā)GINA DLL,以實現(xiàn)其他的身份驗證方法,例如某些磁卡、智能卡驗證、動態(tài)令牌驗證等。我們今天就準(zhǔn)備修改這個文件的內(nèi)容來達(dá)到個性化的目的。不過這個文件是受保護(hù)的系統(tǒng)文件,想要徹底修改替換它也不怎么容易。需要借助故障恢復(fù)控制臺、PE系統(tǒng)或者類似NTFSDOS的工具來實現(xiàn),比較麻煩,而且極有可能影響系統(tǒng)的穩(wěn)定。這種做法不值得推薦給大家。
( G1 u% |$ y- ~ @! x( b1 E" M; S9 V0 ^, _! y/ U3 U
不過微軟還算厚道,在注冊表里留了一個位置用于安裝GINA,在HKLM\Software\MicrosoftWindows NT\CurrentVersion\Winlogon下設(shè)置GINADLL為你指定的GINA DLL,(注意:GINADLL這個值缺省沒有,需要新建)如果設(shè)置了這個值,系統(tǒng)會先調(diào)用該GINA,而不會調(diào)用缺省的msGINA.dll。7 r+ p% t- @/ ~7 Z- R; F$ V
' c: v1 U. `% N+ A* y9 [3 a OK,下面是具體操作步驟:
; f2 E1 }+ v5 p& b' S7 X; R; Q 1. 將XP系統(tǒng)中的C:\WINDOWS\system32\msgina.dll這個文件復(fù)制一份出來,用于編輯之用,并且重命名為重命名為XPGina.dll(名字隨便取啦)$ Q" B% G! t7 e& X' O" i
3 O' I1 C @4 ^! ], a7 H. Y& W7 K
2. 用ResHacker或者Exescope(我這里使用ResHacker給大家做演示)打開XPGina.dll后,展開“位圖”,在“101”,“107”下面均有個“2052”。如圖3所示
2 m6 Y" R( l3 l' ]2 u
$ n+ J: P0 c5 t# i4 w. u 3. 我們的目標(biāo)就是替換這兩個地方的圖片。其中101處的圖片大小為 413*72,用于用戶登錄過程和鎖定畫面;107 則是個較大的位圖,格式為 413*88,用于登陸驗證的畫面。請盡量保持新圖片的大小和系統(tǒng)自帶圖片大小的一致性,否則很影響美觀性。; w) X: P0 Y* G4 g+ p% a
" ?, H0 S% s% ^- \, g d( d 4. 我以101為例來說明如何替換這個圖片。點擊ResHacker的“操作”按鈕,選擇“替換位圖”。如圖4." U8 J0 Y% U, x
1 E/ v7 s* ~3 `$ b( F. B0 z4 y 然后選擇“打開新位圖文件”,打開你事先準(zhǔn)備好的,經(jīng)過你無限創(chuàng)意的位圖圖片(大小413*72),點擊“替換即可”。如圖5和6。" D7 j2 K% |& g& j
5. 107的替換步驟就不再贅述了,和前面的操作步驟完全一樣。只不過圖片選擇413*88的那張。; ~. C( v& c3 Z
/ {; e, V# A4 b" Q, o7 D" b% x 6. 全部修改完以后,點擊ResHacker的“文件”,“保存”即可。這樣,這個文件就被我們處理好了。
" h- i: {" N) q) H) Q " X: Z8 @* d% v; d6 e3 q3 K
3 U4 _& ^8 Z+ ?- ~& E, A: A2 e# x
* w; K' z, D, Q" [
6 j, \9 {, F0 B( B7 _( r+ m! Z" T) I' U) Z% K# S6 d4 |
/ z$ c% L% f8 H0 Q! o 8 n, F5 _: p+ ^7 u& N1 {$ D
4 u t# p3 n) l% [. Z+ r
) o- q8 Z* l- @, K) R) Q1 D+ A
個性化的文件我們已經(jīng)有了,但是如何讓操作系統(tǒng)啟動的時候調(diào)用這個文件呢?其實,我在前面已經(jīng)說過了,在注冊表HKLM\Software\MicrosoftWindows NT\CurrentVersion\Winlogon值下新建一個REG_SZ的字符串值,將內(nèi)容設(shè)置為C:\windows\XPGina.dll(前提是確保這個個性化文件在這個路徑中,否則系統(tǒng)啟動的時候會找不到這個文件而報錯)。重新啟動計算機(jī)就可以看到你的勞動成果了,很激動吧。
$ x2 P R8 |2 J6 {
3 |: @5 P, R+ D 操作已經(jīng)接近尾聲了,但是如何在公司的機(jī)器上大規(guī)模部署起來呢?總不能一個一個的去客戶端做注冊表修改吧?!當(dāng)然不必!我們可以使用啟動腳本、ADM模板來批量操作。下面我貼出我們公司目前的啟動腳本文件:3 V" M6 ]$ |3 F* v2 T( ^
( r$ n" e4 r+ B7 J/ c
@echo off8 }% V, J( u4 ?8 x* `9 ]* B% c
if exist c:\windows\XPGina.dll (
; t2 n5 ~5 } ^( o' h6 r4 b5 A echo Windows Registry Editor Version 5.00 >> .\reg.reg
' l- e9 C3 x+ E3 ~ echo . >> .\reg.reg8 z+ W' W- D9 I+ |1 D
echo [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon] >> .\reg.reg
/ a. K& M6 _) ], v- H echo "LogonPrompt"=" 祝您工作順心!" >> .\reg.reg
% _3 U$ s3 j) \: {9 k* f( M3 Y echo "Welcome"="(BY IT支持維護(hù))" >> .\reg.reg
/ ]3 H, w2 _4 d- j8 c echo "GinaDLL"="c:\\windows\\XPGina.dll" >> .\reg.reg
1 w; K- V* ^! }/ l" j, W4 v/ u regedit /s .\reg.reg1 z2 U& `+ H7 @$ ^/ I8 j4 B9 r) C
del /F .\reg.reg, D3 `! u; U& Z, s8 G7 k5 x6 R
) else (
9 W+ I4 Y4 f% m$ Q, h net use z: /del- D7 G+ `1 K1 a/ h) r; \
net use z: \\FileServer\\Share "password" /user:username@yourdomain.com
1 \: x' c- ?1 u- P copy z:\ XPGina.dll "c:\windows\XPGina.dll" /n
+ O7 O! E$ r. O3 k- C net use z: /del
2 L; { I& R9 I* b% S0 K )5 `$ D; c( S* k6 B- K
" X& j- O: S' ]5 V/ S, r) H3 i 對以上批處理文件,我稍微做一下解釋。大致思路是先檢查C盤Windows目錄下是否有XPGina.dll這個文件,如果沒有就從Z盤拷貝(Z盤是從文件共享服務(wù)器FileServer上映射的一個網(wǎng)絡(luò)驅(qū)動器),拷貝完成后再斷開驅(qū)動器的映射。如果有,就導(dǎo)入reg.reg注冊表。至于注冊表中具體寫的什么內(nèi)容,相信大家從批處理文件中一看就可以看出來。導(dǎo)入完成以后就刪除該注冊表文件。5 k4 C- ?* w, h5 {0 } y
) o4 J5 @# o: |; U8 S' g 順便稍上40樓朋友給我們帶來的刪除前面注冊表操作的批處理腳本,這樣就可以回滾操作了,& ~# i- A+ [" d5 J! |# h( p% x. s
v% O0 d9 N0 W/ ^/ O7 o2 x6 a @echo off2 W1 G0 h5 r1 ?/ Q9 ^, R: K$ \, t
if exist %SystemRoot%\XPGina.dll (* x5 T* [1 h# [8 P% c
echo Windows Registry Editor Version 5.00 >> .\reg.reg2 J8 G, G7 n+ K6 m3 ?
echo . >> .\reg.reg4 F* E) C( d- D/ D: W" ]0 l' O/ o
echo [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon] >> .\reg.reg. S6 Q. L" w1 G
echo "LogonPrompt"=- >> .\reg.reg6 I) S: n7 [& ~$ R6 r7 `
echo "Welcome"=- >> .\reg.reg+ C' U: Z2 H4 e# \; a* v
echo "GinaDLL"=- >> .\reg.reg' @( n; A( q/ N9 v/ H
regedit /s .\reg.reg. B5 }- \2 p" K3 p& Y
del /F .\reg.reg+ ^4 `: C; I* @8 L% ]
) else (: q+ v2 g8 V0 |- s: I8 K+ a6 A3 e2 t
del "%SystemRoot%\XPGina.dll" /F/ P# D$ ^8 K4 r$ Y* }$ Y
)
2 m2 m# @0 o/ Y4 I) Y, }
^# v" F' Q: Y3 j 最后,整個操作步驟我還想補充幾點說明: O' V2 a9 ?- ^( o
6 L4 A* ~! t4 G' ^( c: a
1. 操作系統(tǒng)不同,需要替換的位圖文件的位置也不同,例如,XP是替換101和107,而2003就未必是這個地方了。不要試圖用XP的GINADLL文件用在2003上,否則2003的登錄界面很難看,其實也說不上難看,只是圖片不是我們預(yù)期的圖片。 E# Q$ D' `' d' X$ H
9 q1 E+ F {3 l) h8 D! |
2. 在批量實施的時候,請用啟動或關(guān)機(jī)腳本。否則可能會因為權(quán)限問題,無法寫進(jìn)注冊表數(shù)據(jù)。0 d3 l. W R2 c) o) l. p
7 i& O* _. A+ a! t
3. 在純安全模式下,個性化界面不會生效。這也就給了當(dāng)我們遇到第4點中的問題時提供了操作可能。
0 `3 x* ]; D) m) _; N) P
. N2 n: r/ M: B# E& }: g9 J 4. 如果遇到應(yīng)用錯誤或者不想使用個性化登錄界面,請直接刪除注冊表中HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon下的GinaDLL。重新啟動計算機(jī)就行了。% v6 E5 F- p* n4 m
& c4 f( `0 j% r e$ @, m# s. k9 l
OK,整個步驟到此就結(jié)束了,雖然沒有什么技術(shù)含量,但是我敢保證,如果你在公司所有的計算機(jī)上都個性化了登錄界面,例如加上公司的logo,那么一定會給同事們或老板耳目為之一新的感覺。記得有家公司來我們公司參觀的時候,看到個性化登錄界面后,問我們公司是不是和番茄花園合作,做了系統(tǒng)美化。 |