出處:中國(guó)IT實(shí)驗(yàn)室
& H. K1 ]. w( y. ]
& z+ h4 U, C- u 個(gè)性化Windows XP客戶端的登錄界面 一般來(lái)說(shuō),XP客戶端登錄界面分為兩種,一種是使用“歡迎屏幕”;另一種是不使用“歡迎屏幕”的經(jīng)典登錄界面。大家都知道,XP系統(tǒng)一旦加入域后,就不再使用“歡迎屏幕”。所以,今天我們就來(lái)討論一下如何個(gè)性化域中的XP登錄界面。
8 l6 \& t* ~. O
2 f( f1 U- G6 |6 K+ i/ P 先讓大家先看一下,我們公司現(xiàn)在和以前使用過(guò)的XP個(gè)性化登錄界面。如圖1 2
, p A2 K% A: k1 Q: c; j0 f- a0 @9 ]* A! O+ w* z- ^% o
是不是還不錯(cuò)呢?其實(shí)做法很簡(jiǎn)單,下面我就一步一步來(lái)和大家分享一下如何操作3 u; k' I/ x ]! Q {
2 U0 {, {, w' Q6 R: x
" r: y0 V, o3 I) v4 @0 b; T: H7 E & A* M; F& B% ?, c8 c6 m
8 @" w6 B* x6 X; X2 w3 }
- G0 v$ @$ F% x; z 在正式操作之前,我想先和大家介紹一下Gina這個(gè)東西。為什么要介紹這個(gè)呢?因?yàn)槲覀兘裉熳龅膫€(gè)性化設(shè)置就是修改Gina來(lái)實(shí)現(xiàn)的。它是干什么用的呢?一言以蔽之,它是專門用來(lái)進(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)鏈接文件來(lái)實(shí)現(xiàn)的。這個(gè)文件包含了默認(rèn)的Windows登錄界面??梢宰约洪_(kāi)發(fā)GINA DLL,以實(shí)現(xiàn)其他的身份驗(yàn)證方法,例如某些磁卡、智能卡驗(yàn)證、動(dòng)態(tài)令牌驗(yàn)證等。我們今天就準(zhǔn)備修改這個(gè)文件的內(nèi)容來(lái)達(dá)到個(gè)性化的目的。不過(guò)這個(gè)文件是受保護(hù)的系統(tǒng)文件,想要徹底修改替換它也不怎么容易。需要借助故障恢復(fù)控制臺(tái)、PE系統(tǒng)或者類似NTFSDOS的工具來(lái)實(shí)現(xiàn),比較麻煩,而且極有可能影響系統(tǒng)的穩(wěn)定。這種做法不值得推薦給大家。9 z7 V4 J! R1 o: b' Y
& }" f% h! H+ h5 E( \' E! n" I
不過(guò)微軟還算厚道,在注冊(cè)表里留了一個(gè)位置用于安裝GINA,在HKLM\Software\MicrosoftWindows NT\CurrentVersion\Winlogon下設(shè)置GINADLL為你指定的GINA DLL,(注意:GINADLL這個(gè)值缺省沒(méi)有,需要新建)如果設(shè)置了這個(gè)值,系統(tǒng)會(huì)先調(diào)用該GINA,而不會(huì)調(diào)用缺省的msGINA.dll。$ O* K. q2 A+ p) F4 K1 k5 h5 b8 }& t/ z
6 Y' k2 T1 U# z) j. X
OK,下面是具體操作步驟:
: Y$ H) m1 F: B& ]# h. E 1. 將XP系統(tǒng)中的C:\WINDOWS\system32\msgina.dll這個(gè)文件復(fù)制一份出來(lái),用于編輯之用,并且重命名為重命名為XPGina.dll(名字隨便取啦), C7 ~( S6 ]" Z. S' z
; C' w5 X- |# I ^; ~# `. s) {
2. 用ResHacker或者Exescope(我這里使用ResHacker給大家做演示)打開(kāi)XPGina.dll后,展開(kāi)“位圖”,在“101”,“107”下面均有個(gè)“2052”。如圖3所示$ Y& t) S5 P0 M6 `/ |
8 n- o6 w0 s3 I1 {# V+ |( _! Y4 C
3. 我們的目標(biāo)就是替換這兩個(gè)地方的圖片。其中101處的圖片大小為 413*72,用于用戶登錄過(guò)程和鎖定畫面;107 則是個(gè)較大的位圖,格式為 413*88,用于登陸驗(yàn)證的畫面。請(qǐng)盡量保持新圖片的大小和系統(tǒng)自帶圖片大小的一致性,否則很影響美觀性。
, `8 [% Q- y/ \* Q [: J
/ }! x, D: O/ v, B4 T1 M1 f 4. 我以101為例來(lái)說(shuō)明如何替換這個(gè)圖片。點(diǎn)擊ResHacker的“操作”按鈕,選擇“替換位圖”。如圖4.
3 ^+ P0 o" e5 h( M7 f% V/ x! d( |7 |! w8 m( V; Y! @5 U
然后選擇“打開(kāi)新位圖文件”,打開(kāi)你事先準(zhǔn)備好的,經(jīng)過(guò)你無(wú)限創(chuàng)意的位圖圖片(大小413*72),點(diǎn)擊“替換即可”。如圖5和6。6 p6 k0 s2 g( t9 `- v* V0 J
5. 107的替換步驟就不再贅述了,和前面的操作步驟完全一樣。只不過(guò)圖片選擇413*88的那張。
4 ^3 H4 m' z7 |* `2 I2 O1 {, S
$ l, C! {! t; |- Q3 X, I& I 6. 全部修改完以后,點(diǎn)擊ResHacker的“文件”,“保存”即可。這樣,這個(gè)文件就被我們處理好了。
& s0 M( ~, c2 H5 ^ ) i4 q( |" L' M( S6 P) O" q3 ~
" @/ Q& v2 }; p& j
5 Y& i2 J' \$ t6 y
0 G6 _5 f2 T4 l& R6 f4 `2 a% |$ X1 n% T5 k) l7 K
0 B4 E6 e/ T% R I2 w) V4 [
" E/ h4 `. Y& H+ F" u/ M+ K
, m5 b8 Y; o) m' ^% E8 b) E$ d {9 S3 V7 M
個(gè)性化的文件我們已經(jīng)有了,但是如何讓操作系統(tǒng)啟動(dòng)的時(shí)候調(diào)用這個(gè)文件呢?其實(shí),我在前面已經(jīng)說(shuō)過(guò)了,在注冊(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)吧。
" K( G/ X! ?4 M$ {. k
2 j* k3 _: o; s5 W' [$ g 操作已經(jīng)接近尾聲了,但是如何在公司的機(jī)器上大規(guī)模部署起來(lái)呢?總不能一個(gè)一個(gè)的去客戶端做注冊(cè)表修改吧?!當(dāng)然不必!我們可以使用啟動(dòng)腳本、ADM模板來(lái)批量操作。下面我貼出我們公司目前的啟動(dòng)腳本文件:
" E& p/ K* g# z/ v! n: ^& F8 m) @& m/ s/ l/ L: L( A" s9 H, I- l
@echo off
5 `+ u# p$ Y* r8 W0 Z if exist c:\windows\XPGina.dll (
& N5 j: y$ A% k" ~6 C' n echo Windows Registry Editor Version 5.00 >> .\reg.reg
# r1 G! l, q* Z, ?1 W echo . >> .\reg.reg
& [( E/ t& f$ X3 G O echo [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon] >> .\reg.reg
3 g, `, b3 h) | echo "LogonPrompt"=" 祝您工作順心!" >> .\reg.reg
7 H* T4 o5 g H% @4 U0 J( q; w echo "Welcome"="(BY IT支持維護(hù))" >> .\reg.reg
, e% M7 \+ l1 A echo "GinaDLL"="c:\\windows\\XPGina.dll" >> .\reg.reg
+ R9 G- G5 \6 o2 @ N- v/ t regedit /s .\reg.reg8 c( N9 j# n2 D8 ?: R4 }
del /F .\reg.reg# c. U. S0 L# P, q6 B
) else (
- S, S0 R0 ?3 p1 \2 Z+ P$ { net use z: /del) C! |. Z4 {4 q: i# r g
net use z: \\FileServer\\Share "password" /user:[email protected]
/ p9 K$ ?$ r- x2 a' F copy z:\ XPGina.dll "c:\windows\XPGina.dll" /n
' k% ?& }" N2 j% {/ i v) y! T& m net use z: /del
- x9 L* L$ p" v/ g+ P )8 @/ T- @+ P2 K* T9 @. U3 U9 O. }; s
0 }# o5 i9 r+ m1 d# b3 M; K7 w# t 對(duì)以上批處理文件,我稍微做一下解釋。大致思路是先檢查C盤Windows目錄下是否有XPGina.dll這個(gè)文件,如果沒(méi)有就從Z盤拷貝(Z盤是從文件共享服務(wù)器FileServer上映射的一個(gè)網(wǎng)絡(luò)驅(qū)動(dòng)器),拷貝完成后再斷開(kāi)驅(qū)動(dòng)器的映射。如果有,就導(dǎo)入reg.reg注冊(cè)表。至于注冊(cè)表中具體寫的什么內(nèi)容,相信大家從批處理文件中一看就可以看出來(lái)。導(dǎo)入完成以后就刪除該注冊(cè)表文件。
3 G" O* q. G" C. b6 w
3 \# @. T4 ?) H2 D 順便稍上40樓朋友給我們帶來(lái)的刪除前面注冊(cè)表操作的批處理腳本,這樣就可以回滾操作了,
- {1 F6 D2 N) y" t* m# t2 A3 {% g. n" h k9 o% w7 k
@echo off
1 V/ p7 r' f7 @9 Z! C1 i) u0 u6 U8 L if exist %SystemRoot%\XPGina.dll (
+ `$ ?! W4 U2 p+ L! } echo Windows Registry Editor Version 5.00 >> .\reg.reg
* r/ s! F- K4 ~$ h( ^9 n echo . >> .\reg.reg" U" [ p# @ T K! d) p
echo [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon] >> .\reg.reg# Z" U$ B/ p9 Z% x% o
echo "LogonPrompt"=- >> .\reg.reg
F/ q0 A9 `! X echo "Welcome"=- >> .\reg.reg% Y& m/ v& D8 t' C$ u# c( {* `
echo "GinaDLL"=- >> .\reg.reg
- n" g, G: p1 j( ? regedit /s .\reg.reg( m5 c. A# u$ y8 {6 u- ]$ e
del /F .\reg.reg! z. e. D4 V4 _9 X% }9 e+ f" l+ a
) else (
0 ]# I. A) f; l3 G' P# g' p6 x del "%SystemRoot%\XPGina.dll" /F3 {: B8 F/ G. k$ N( u+ B
)
: M) |" P+ e, S2 l$ z6 I
& J4 F3 b2 ` {0 j# _7 X" R' E 最后,整個(gè)操作步驟我還想補(bǔ)充幾點(diǎn)說(shuō)明:4 l) V5 M1 Q Z6 ]
; L& t: X. E* u7 X 1. 操作系統(tǒng)不同,需要替換的位圖文件的位置也不同,例如,XP是替換101和107,而2003就未必是這個(gè)地方了。不要試圖用XP的GINADLL文件用在2003上,否則2003的登錄界面很難看,其實(shí)也說(shuō)不上難看,只是圖片不是我們預(yù)期的圖片。" d3 {% [( @# f! d7 z: a
, j1 c% h% v: n/ X* k
2. 在批量實(shí)施的時(shí)候,請(qǐng)用啟動(dòng)或關(guān)機(jī)腳本。否則可能會(huì)因?yàn)闄?quán)限問(wèn)題,無(wú)法寫進(jìn)注冊(cè)表數(shù)據(jù)。
^! Q* Q. _$ h1 z) H# \6 |7 p: T- Q R/ S: A+ H/ ^2 W) U
3. 在純安全模式下,個(gè)性化界面不會(huì)生效。這也就給了當(dāng)我們遇到第4點(diǎn)中的問(wèn)題時(shí)提供了操作可能。
# v8 t8 }1 D r% U: w& X) }+ n
0 P& C' g0 ?, ~/ r; `+ ^ 4. 如果遇到應(yīng)用錯(cuò)誤或者不想使用個(gè)性化登錄界面,請(qǐng)直接刪除注冊(cè)表中HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon下的GinaDLL。重新啟動(dòng)計(jì)算機(jī)就行了。
7 b# ^& F/ @* U2 B2 G/ s3 T( F
' U6 a5 T, ~" N( i. t+ Z1 E OK,整個(gè)步驟到此就結(jié)束了,雖然沒(méi)有什么技術(shù)含量,但是我敢保證,如果你在公司所有的計(jì)算機(jī)上都個(gè)性化了登錄界面,例如加上公司的logo,那么一定會(huì)給同事們或老板耳目為之一新的感覺(jué)。記得有家公司來(lái)我們公司參觀的時(shí)候,看到個(gè)性化登錄界面后,問(wèn)我們公司是不是和番茄花園合作,做了系統(tǒng)美化。 |