出處:中國(guó)IT實(shí)驗(yàn)室
r' F$ L( b# q
$ `" F" p1 I6 L1 {" K 個(gè)性化Windows XP客戶端的登錄界面 一般來(lái)說(shuō),XP客戶端登錄界面分為兩種,一種是使用“歡迎屏幕”;另一種是不使用“歡迎屏幕”的經(jīng)典登錄界面。大家都知道,XP系統(tǒng)一旦加入域后,就不再使用“歡迎屏幕”。所以,今天我們就來(lái)討論一下如何個(gè)性化域中的XP登錄界面。( _6 g, J' V k1 ?& |
6 b% S% ~2 z' k( B4 e8 x/ c: @
先讓大家先看一下,我們公司現(xiàn)在和以前使用過(guò)的XP個(gè)性化登錄界面。如圖1 2
$ p) a/ x, q0 j8 S" H8 a3 d
1 Q; q: q5 V9 ^% O' ?' N9 l 是不是還不錯(cuò)呢?其實(shí)做法很簡(jiǎn)單,下面我就一步一步來(lái)和大家分享一下如何操作8 t: a7 J4 C6 d4 l; ?0 p+ b
; W9 a f% O& q3 A
) S7 y/ j5 d4 {, M 2 H& f) l/ T. y' l4 x
. M. y( l2 B7 [5 W: R
1 t* d7 i* |" a; ]7 a
在正式操作之前,我想先和大家介紹一下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)定。這種做法不值得推薦給大家。
5 h* o& f) f: y' o0 r, e6 X" w8 n+ g( Y: W, O: o
不過(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 D9 d0 f' l& H3 Q9 `' k6 v$ ]8 _+ ?: C( P- m
OK,下面是具體操作步驟:
. C/ e/ Y V/ C P7 `2 B 1. 將XP系統(tǒng)中的C:\WINDOWS\system32\msgina.dll這個(gè)文件復(fù)制一份出來(lái),用于編輯之用,并且重命名為重命名為XPGina.dll(名字隨便取啦)
! v- i0 V+ L) v' r2 L6 S* J" W8 B
2. 用ResHacker或者Exescope(我這里使用ResHacker給大家做演示)打開(kāi)XPGina.dll后,展開(kāi)“位圖”,在“101”,“107”下面均有個(gè)“2052”。如圖3所示' r4 z0 B+ R& B0 s. K! t6 O7 w7 f
+ G+ f$ B' R8 Y5 Z. X4 V 3. 我們的目標(biāo)就是替換這兩個(gè)地方的圖片。其中101處的圖片大小為 413*72,用于用戶登錄過(guò)程和鎖定畫(huà)面;107 則是個(gè)較大的位圖,格式為 413*88,用于登陸驗(yàn)證的畫(huà)面。請(qǐng)盡量保持新圖片的大小和系統(tǒng)自帶圖片大小的一致性,否則很影響美觀性。8 l! L" V/ E$ e& D5 u* z" t9 Z
l0 |, U# J5 z0 M 4. 我以101為例來(lái)說(shuō)明如何替換這個(gè)圖片。點(diǎn)擊ResHacker的“操作”按鈕,選擇“替換位圖”。如圖4./ J, a4 C: h# w5 m( V$ l+ {: V
% j, `# `( _ i" Z; z8 t 然后選擇“打開(kāi)新位圖文件”,打開(kāi)你事先準(zhǔn)備好的,經(jīng)過(guò)你無(wú)限創(chuàng)意的位圖圖片(大小413*72),點(diǎn)擊“替換即可”。如圖5和6。* t" w8 W5 Y3 o! G6 o
5. 107的替換步驟就不再贅述了,和前面的操作步驟完全一樣。只不過(guò)圖片選擇413*88的那張。4 A, Y; V4 M* [( h i
4 V7 J) [+ t; _6 j5 M3 g e) D3 L
6. 全部修改完以后,點(diǎn)擊ResHacker的“文件”,“保存”即可。這樣,這個(gè)文件就被我們處理好了。
6 `2 [3 p+ t4 e! b9 @
# M. j3 F. @. n 7 n q6 [4 I2 N* f0 _
& W5 u' W. |: g( K
. W9 S1 v4 G0 a7 M
L) g/ D g/ B8 e7 A( G ; d* P( m( \' j
2 @: H7 |& V u3 [, F+ f3 H# A
% ^- w7 `2 ?+ `0 B) W) C. r- \1 x/ ^, l1 ?& L( `
個(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)吧。8 h; E. E2 z% N, U/ z
% T- P- g& Q: v2 e: n 操作已經(jīng)接近尾聲了,但是如何在公司的機(jī)器上大規(guī)模部署起來(lái)呢?總不能一個(gè)一個(gè)的去客戶端做注冊(cè)表修改吧?!當(dāng)然不必!我們可以使用啟動(dòng)腳本、ADM模板來(lái)批量操作。下面我貼出我們公司目前的啟動(dòng)腳本文件:
0 n- C7 h' e6 h1 c/ p4 O" Z" ~9 k+ n; j# M
@echo off
1 ~2 i: W$ [/ l4 O8 n$ z if exist c:\windows\XPGina.dll (
. r9 f# v, {) A2 U1 z( D0 \ echo Windows Registry Editor Version 5.00 >> .\reg.reg# `6 ?6 \/ t( @4 @ B& l
echo . >> .\reg.reg
* v$ }; ?: j. Z. I* K/ J echo [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon] >> .\reg.reg
- h: B2 C* L# W2 F8 Y* y8 d echo "LogonPrompt"=" 祝您工作順心!" >> .\reg.reg: d8 l6 f0 A! w, u* `# Q4 r/ ?
echo "Welcome"="(BY IT支持維護(hù))" >> .\reg.reg( F1 K7 Z) ]/ r+ P
echo "GinaDLL"="c:\\windows\\XPGina.dll" >> .\reg.reg9 L9 u0 t/ U" c' c; B) ?* D
regedit /s .\reg.reg2 f Q$ Q) N/ { p
del /F .\reg.reg
7 }! l( H; T W) h& r+ x) c x ) else (+ n; @) b! c7 W! c
net use z: /del2 F& T0 x* e; E& a$ C
net use z: \\FileServer\\Share "password" /user:username@yourdomain.com
, ^" F/ f9 y1 i: t copy z:\ XPGina.dll "c:\windows\XPGina.dll" /n
2 V- _- ^3 z! W- D P net use z: /del5 F& U1 q' B/ S [
)
7 T- n5 m" V! E# b/ z& {; P( V9 _1 x" ~$ ?3 |' g# X
對(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è)表中具體寫(xiě)的什么內(nèi)容,相信大家從批處理文件中一看就可以看出來(lái)。導(dǎo)入完成以后就刪除該注冊(cè)表文件。* t. f' A: u a9 v# y
4 s$ h) [& F$ S" E
順便稍上40樓朋友給我們帶來(lái)的刪除前面注冊(cè)表操作的批處理腳本,這樣就可以回滾操作了," j2 s& m9 w' x- R8 ^
& |3 u0 C* D }7 P @echo off8 n; {, {6 ~0 D& s' O4 X
if exist %SystemRoot%\XPGina.dll (
! r8 f6 F$ e$ F3 T$ c' d. E1 r echo Windows Registry Editor Version 5.00 >> .\reg.reg
6 G; [- O' A# k/ V( o4 M, a echo . >> .\reg.reg9 e, ?& u: o& j; n' D/ @! }% M
echo [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon] >> .\reg.reg
% g% P% Q8 |" B; { echo "LogonPrompt"=- >> .\reg.reg8 G" p$ z( z6 _+ R4 H" y
echo "Welcome"=- >> .\reg.reg
, b/ W) S+ L! C5 ]- t echo "GinaDLL"=- >> .\reg.reg
' g# B2 g0 b' K# X2 q$ l' i V regedit /s .\reg.reg
2 Q. ^& ^! ]; A3 S$ \ del /F .\reg.reg3 a! v4 B- f: L" v" H: O" F
) else (7 ?) m: b' `8 @; [0 W
del "%SystemRoot%\XPGina.dll" /F
, K' e- W* w; G7 U6 b& U1 t( n1 R )
; r( C3 }/ C, L; O8 s) w8 o. q# \) ]" k' f( Y, ?( e2 U
最后,整個(gè)操作步驟我還想補(bǔ)充幾點(diǎn)說(shuō)明:
/ O8 k. X% V9 l
0 h! z. y. {6 k# } 1. 操作系統(tǒng)不同,需要替換的位圖文件的位置也不同,例如,XP是替換101和107,而2003就未必是這個(gè)地方了。不要試圖用XP的GINADLL文件用在2003上,否則2003的登錄界面很難看,其實(shí)也說(shuō)不上難看,只是圖片不是我們預(yù)期的圖片。. V1 {9 B" V* y. F
) I f6 O: z/ L) u0 B) X8 J
2. 在批量實(shí)施的時(shí)候,請(qǐng)用啟動(dòng)或關(guān)機(jī)腳本。否則可能會(huì)因?yàn)闄?quán)限問(wèn)題,無(wú)法寫(xiě)進(jìn)注冊(cè)表數(shù)據(jù)。8 v- N! G1 @, z8 M) }6 j8 r& T
, j" @5 j# |8 v5 t0 ?5 u t 3. 在純安全模式下,個(gè)性化界面不會(huì)生效。這也就給了當(dāng)我們遇到第4點(diǎn)中的問(wèn)題時(shí)提供了操作可能。 R4 Q, u' J7 n& ?3 i) a
) n: M) o+ Q. S, A, u* X$ s
4. 如果遇到應(yīng)用錯(cuò)誤或者不想使用個(gè)性化登錄界面,請(qǐng)直接刪除注冊(cè)表中HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon下的GinaDLL。重新啟動(dòng)計(jì)算機(jī)就行了。
" x" f, X: h5 j G
- Q9 n8 H# b1 [ OK,整個(gè)步驟到此就結(jié)束了,雖然沒(méi)有什么技術(shù)含量,但是我敢保證,如果你在公司所有的計(jì)算機(jī)上都個(gè)性化了登錄界面,例如加上公司的logo,那么一定會(huì)給同事們或老板耳目為之一新的感覺(jué)。記得有家公司來(lái)我們公司參觀的時(shí)候,看到個(gè)性化登錄界面后,問(wèn)我們公司是不是和番茄花園合作,做了系統(tǒng)美化。 |