出處:中國(guó)IT實(shí)驗(yàn)室
9 Y4 w! [! n! K( T+ s3 U. C! m5 V/ j
個(gè)性化Windows XP客戶(hù)端的登錄界面 一般來(lái)說(shuō),XP客戶(hù)端登錄界面分為兩種,一種是使用“歡迎屏幕”;另一種是不使用“歡迎屏幕”的經(jīng)典登錄界面。大家都知道,XP系統(tǒng)一旦加入域后,就不再使用“歡迎屏幕”。所以,今天我們就來(lái)討論一下如何個(gè)性化域中的XP登錄界面。* i0 w9 @3 t: g+ _4 F6 e+ M
0 Y0 ^3 z% p7 r* V6 D6 e& A, {
先讓大家先看一下,我們公司現(xiàn)在和以前使用過(guò)的XP個(gè)性化登錄界面。如圖1 28 J1 H/ @. }+ d* T4 p- Q) T
V5 r' Y6 m% T8 E: Z1 K1 q1 C/ v% o/ b 是不是還不錯(cuò)呢?其實(shí)做法很簡(jiǎn)單,下面我就一步一步來(lái)和大家分享一下如何操作
$ ], m7 c6 x8 c$ A8 O7 F1 C7 _ , P4 ~9 q- B2 V. S* g
6 k# |9 {# p; s4 \9 b5 F
* k* C" J& J; ]4 Y# U$ u& C5 b
4 X6 t9 c9 a2 G/ a! i& b" X6 A( _' o* @1 h% P/ A" O% `
在正式操作之前,我想先和大家介紹一下Gina這個(gè)東西。為什么要介紹這個(gè)呢?因?yàn)槲覀兘裉熳龅膫€(gè)性化設(shè)置就是修改Gina來(lái)實(shí)現(xiàn)的。它是干什么用的呢?一言以蔽之,它是專(zhuān)門(mén)用來(lái)進(jìn)行登錄進(jìn)程的驗(yàn)證和身份驗(yàn)證的。從它的英文全稱(chēng)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)或者類(lèi)似NTFSDOS的工具來(lái)實(shí)現(xiàn),比較麻煩,而且極有可能影響系統(tǒng)的穩(wěn)定。這種做法不值得推薦給大家。) ^9 g" I V/ B) V) c' P
- E- @$ B2 ?* f: `- u; s3 U. J 不過(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。8 d" V y D7 ~ b6 e1 e( c
7 V& g8 \0 x$ m: x) l+ E OK,下面是具體操作步驟:" |2 U9 v" E: P% l u
1. 將XP系統(tǒng)中的C:\WINDOWS\system32\msgina.dll這個(gè)文件復(fù)制一份出來(lái),用于編輯之用,并且重命名為重命名為XPGina.dll(名字隨便取啦)
0 T7 c+ n% \7 x
( m5 ]) B. _$ l. N: P, M 2. 用ResHacker或者Exescope(我這里使用ResHacker給大家做演示)打開(kāi)XPGina.dll后,展開(kāi)“位圖”,在“101”,“107”下面均有個(gè)“2052”。如圖3所示
6 h7 y$ E( s; ]6 U1 G/ p$ B& c" z1 ]2 O( [# ]. |
3. 我們的目標(biāo)就是替換這兩個(gè)地方的圖片。其中101處的圖片大小為 413*72,用于用戶(hù)登錄過(guò)程和鎖定畫(huà)面;107 則是個(gè)較大的位圖,格式為 413*88,用于登陸驗(yàn)證的畫(huà)面。請(qǐng)盡量保持新圖片的大小和系統(tǒng)自帶圖片大小的一致性,否則很影響美觀性。
+ p1 @4 U' C6 H1 I
9 h1 l! s% m6 O% c 4. 我以101為例來(lái)說(shuō)明如何替換這個(gè)圖片。點(diǎn)擊ResHacker的“操作”按鈕,選擇“替換位圖”。如圖4.9 {$ J. m/ w1 I+ |' K2 n4 V" Z
. l- J7 c: f* B 然后選擇“打開(kāi)新位圖文件”,打開(kāi)你事先準(zhǔn)備好的,經(jīng)過(guò)你無(wú)限創(chuàng)意的位圖圖片(大小413*72),點(diǎn)擊“替換即可”。如圖5和6。
- g4 q: v% t3 Y& ?2 \7 x" U 5. 107的替換步驟就不再贅述了,和前面的操作步驟完全一樣。只不過(guò)圖片選擇413*88的那張。$ C2 b3 o; S* D$ Q
* |# f0 y8 i* f" w; j 6. 全部修改完以后,點(diǎn)擊ResHacker的“文件”,“保存”即可。這樣,這個(gè)文件就被我們處理好了。 / T. f1 ^( D7 J- N5 d' ^
: @/ |7 D0 R$ v& o9 D: e8 q
; m" z+ a3 R* W& s
4 b6 B7 p' y3 H. Z" W% K) x6 b1 A" f3 @& y# M. e4 f" e: N
0 l2 X, a; A) w# z ! U7 r3 [7 S. R0 ~
7 L. c& _) G! ]( X% k
4 V" e0 e0 S+ ]6 \0 c
9 e I! J4 c: z; ^' k' G* |$ |0 d
個(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)吧。
9 V( A5 I8 T m" d- F. M1 H( q& u" X8 a" B, j
操作已經(jīng)接近尾聲了,但是如何在公司的機(jī)器上大規(guī)模部署起來(lái)呢?總不能一個(gè)一個(gè)的去客戶(hù)端做注冊(cè)表修改吧?!當(dāng)然不必!我們可以使用啟動(dòng)腳本、ADM模板來(lái)批量操作。下面我貼出我們公司目前的啟動(dòng)腳本文件:
7 V, P+ P2 T7 _ _' @; [1 ]" \4 `' R$ m" F; ~2 N# e* ]$ ~7 W
@echo off4 L3 i+ a A% z, a. ~& t* V
if exist c:\windows\XPGina.dll (4 n! [$ O' Z$ W( X; f# k1 ^
echo Windows Registry Editor Version 5.00 >> .\reg.reg$ M8 U# e/ C; E! ]& ~
echo . >> .\reg.reg
9 W- o& I! v0 u8 u: V- B echo [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon] >> .\reg.reg: k% `# c! _- v- K3 p
echo "LogonPrompt"=" 祝您工作順心!" >> .\reg.reg
2 Z/ o$ L; G, P# ~/ f% g9 f echo "Welcome"="(BY IT支持維護(hù))" >> .\reg.reg
4 }1 n: i; {, l echo "GinaDLL"="c:\\windows\\XPGina.dll" >> .\reg.reg+ r5 V3 ]" ^( N' {5 ^2 {% |5 w
regedit /s .\reg.reg
% \* O2 W5 b) M; {' B1 I+ Y$ X, s del /F .\reg.reg
: I! g" r% ^/ ` ) else (
5 O0 I$ h* Y7 Z& W8 w& f |$ s R net use z: /del+ G! v! V0 P$ E4 V; }: z9 V( g* y: t
net use z: \\FileServer\\Share "password" /user:username@yourdomain.com+ }' _6 P* _6 G9 w9 c
copy z:\ XPGina.dll "c:\windows\XPGina.dll" /n
6 t2 i& H; r2 s; l# f net use z: /del
. m$ i# G# d. E7 V ) I/ h3 \9 S g6 x0 P
& b j3 P! p+ K2 v* P 對(duì)以上批處理文件,我稍微做一下解釋。大致思路是先檢查C盤(pán)Windows目錄下是否有XPGina.dll這個(gè)文件,如果沒(méi)有就從Z盤(pán)拷貝(Z盤(pán)是從文件共享服務(wù)器FileServer上映射的一個(gè)網(wǎng)絡(luò)驅(qū)動(dòng)器),拷貝完成后再斷開(kāi)驅(qū)動(dòng)器的映射。如果有,就導(dǎo)入reg.reg注冊(cè)表。至于注冊(cè)表中具體寫(xiě)的什么內(nèi)容,相信大家從批處理文件中一看就可以看出來(lái)。導(dǎo)入完成以后就刪除該注冊(cè)表文件。/ O, t! R0 y8 \! z7 M# Z# X) o0 j: O
/ O# \% Q5 k2 }) S2 i
順便稍上40樓朋友給我們帶來(lái)的刪除前面注冊(cè)表操作的批處理腳本,這樣就可以回滾操作了,4 k, a: {& U) Q* P/ E H6 h
) S: K0 q, m' W. @& R) b% A @echo off z# {5 N/ j1 p ~, W: H
if exist %SystemRoot%\XPGina.dll (" i. z+ i( b" D1 @/ _* C6 `
echo Windows Registry Editor Version 5.00 >> .\reg.reg% y3 b& p5 J1 S1 G
echo . >> .\reg.reg
- v1 U7 d& W; r" z echo [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon] >> .\reg.reg
/ o6 W8 Q' f+ y, Y4 C' N4 D ^ echo "LogonPrompt"=- >> .\reg.reg
5 j! t+ e3 [" O& E& z echo "Welcome"=- >> .\reg.reg5 r, N7 |: b( Z- R! y
echo "GinaDLL"=- >> .\reg.reg" w' Z9 A. w' G7 E% @" x
regedit /s .\reg.reg
) R: W3 y0 Y: j) z2 S8 @3 \ del /F .\reg.reg2 k- s' i3 v( v
) else (6 {+ n$ J* c4 B- d
del "%SystemRoot%\XPGina.dll" /F) ^3 V+ e5 B, `, K0 O9 p6 w
)
9 ]) v6 }6 @1 C; S/ `# ~7 u1 I# u& `4 Y G O4 V5 g
最后,整個(gè)操作步驟我還想補(bǔ)充幾點(diǎn)說(shuō)明:
7 \2 I$ e* h0 f6 a8 M- c
6 B; d W9 J( Y: d 1. 操作系統(tǒng)不同,需要替換的位圖文件的位置也不同,例如,XP是替換101和107,而2003就未必是這個(gè)地方了。不要試圖用XP的GINADLL文件用在2003上,否則2003的登錄界面很難看,其實(shí)也說(shuō)不上難看,只是圖片不是我們預(yù)期的圖片。$ r0 }5 C" u1 G
4 s0 H. V8 @1 ?" f" [5 G( M v 2. 在批量實(shí)施的時(shí)候,請(qǐng)用啟動(dòng)或關(guān)機(jī)腳本。否則可能會(huì)因?yàn)闄?quán)限問(wèn)題,無(wú)法寫(xiě)進(jìn)注冊(cè)表數(shù)據(jù)。; i% C7 g9 _: a, i, L
: l. S, ^: N! r ?& i7 J8 v9 G8 {: Y 3. 在純安全模式下,個(gè)性化界面不會(huì)生效。這也就給了當(dāng)我們遇到第4點(diǎn)中的問(wèn)題時(shí)提供了操作可能。) X! H# n, h1 R6 T' J
% Z4 F, ?" P0 g$ l# _! Q4 _7 \) g 4. 如果遇到應(yīng)用錯(cuò)誤或者不想使用個(gè)性化登錄界面,請(qǐng)直接刪除注冊(cè)表中HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon下的GinaDLL。重新啟動(dòng)計(jì)算機(jī)就行了。& S- r" H6 L) Q3 \2 f
7 F3 f/ b0 c8 |0 ~% q5 ~ OK,整個(gè)步驟到此就結(jié)束了,雖然沒(méi)有什么技術(shù)含量,但是我敢保證,如果你在公司所有的計(jì)算機(jī)上都個(gè)性化了登錄界面,例如加上公司的logo,那么一定會(huì)給同事們或老板耳目為之一新的感覺(jué)。記得有家公司來(lái)我們公司參觀的時(shí)候,看到個(gè)性化登錄界面后,問(wèn)我們公司是不是和番茄花園合作,做了系統(tǒng)美化。 |