出處:中國(guó)IT實(shí)驗(yàn)室! X$ b' ?" `( [9 V [( s8 h0 }# }; F
- N% U. [/ v/ j& e! }9 n
個(gè)性化Windows XP客戶端的登錄界面 一般來(lái)說(shuō),XP客戶端登錄界面分為兩種,一種是使用“歡迎屏幕”;另一種是不使用“歡迎屏幕”的經(jīng)典登錄界面。大家都知道,XP系統(tǒng)一旦加入域后,就不再使用“歡迎屏幕”。所以,今天我們就來(lái)討論一下如何個(gè)性化域中的XP登錄界面。$ o f# M( f; u4 |* c4 `
9 |" @; D* q5 h/ E p4 q1 ?" E% L8 a 先讓大家先看一下,我們公司現(xiàn)在和以前使用過(guò)的XP個(gè)性化登錄界面。如圖1 22 r9 C; G! [3 _1 @8 U: c5 D- i
& v. `. u4 y' m: B/ ]2 }! _
是不是還不錯(cuò)呢?其實(shí)做法很簡(jiǎn)單,下面我就一步一步來(lái)和大家分享一下如何操作
8 Q' h8 Z! |! ? u
" v7 r9 K1 b: c6 ~: v1 t 5 s+ x1 U2 n, |3 r y' [# _. W
: @! Q: I, S1 y: k
% v3 U. c/ M& n" q9 h5 `
0 N+ m4 L8 g. t& h! {: s 在正式操作之前,我想先和大家介紹一下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)定。這種做法不值得推薦給大家。
/ b, ~, }/ ?0 m2 c I6 m& w9 i; y/ Q* y! q: P
不過(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。7 A6 y( m; S6 N
% k" e3 ]( m$ ?6 _* Y r
OK,下面是具體操作步驟:% v7 }7 b$ q% E8 T% _2 `) G
1. 將XP系統(tǒng)中的C:\WINDOWS\system32\msgina.dll這個(gè)文件復(fù)制一份出來(lái),用于編輯之用,并且重命名為重命名為XPGina.dll(名字隨便取啦)
+ T7 z' `8 I' ~# d
?! x; |( R: I0 B* Y* P 2. 用ResHacker或者Exescope(我這里使用ResHacker給大家做演示)打開(kāi)XPGina.dll后,展開(kāi)“位圖”,在“101”,“107”下面均有個(gè)“2052”。如圖3所示
' W' ]0 @. P$ m
0 L# ^* D' n& ]( t( N4 q+ w 3. 我們的目標(biāo)就是替換這兩個(gè)地方的圖片。其中101處的圖片大小為 413*72,用于用戶登錄過(guò)程和鎖定畫(huà)面;107 則是個(gè)較大的位圖,格式為 413*88,用于登陸驗(yàn)證的畫(huà)面。請(qǐng)盡量保持新圖片的大小和系統(tǒng)自帶圖片大小的一致性,否則很影響美觀性。: t" k- }- e( R4 m7 |: ?+ C$ d6 s' e
+ S$ Y6 v- c! \# _* Z; h* J* ?
4. 我以101為例來(lái)說(shuō)明如何替換這個(gè)圖片。點(diǎn)擊ResHacker的“操作”按鈕,選擇“替換位圖”。如圖4.
7 M1 z3 y* X8 W$ ^! C L2 f& s: r2 i9 ^. f1 ?) k
然后選擇“打開(kāi)新位圖文件”,打開(kāi)你事先準(zhǔn)備好的,經(jīng)過(guò)你無(wú)限創(chuàng)意的位圖圖片(大小413*72),點(diǎn)擊“替換即可”。如圖5和6。
, z) g5 w: |) Q+ S 5. 107的替換步驟就不再贅述了,和前面的操作步驟完全一樣。只不過(guò)圖片選擇413*88的那張。
9 K+ `6 {9 O$ a9 C4 I
( l- k8 Z8 N; D Q6 J8 u6 ^" c 6. 全部修改完以后,點(diǎn)擊ResHacker的“文件”,“保存”即可。這樣,這個(gè)文件就被我們處理好了。
6 B) b) G. J6 u D8 T! R
% Q" e6 \' t7 K8 }- q/ Q; A
2 D- J8 Y& k {0 @/ D. J8 w3 m
0 ?& z/ {, s+ X" A+ o3 s& h- Z2 Z5 @- P* m
: \. i; H8 A( W9 P9 |
4 e8 {0 q% V2 U9 y% M- b& T3 E- L5 s
0 J# _0 c& I) Q3 p. P2 B/ X) K J6 V$ G3 H1 ~1 z
$ d4 s; k) e4 h
個(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)吧。
: N8 @" O; u8 t% i0 n, C* {7 r' Z$ m: O/ C6 G4 p! i
操作已經(jīng)接近尾聲了,但是如何在公司的機(jī)器上大規(guī)模部署起來(lái)呢?總不能一個(gè)一個(gè)的去客戶端做注冊(cè)表修改吧?!當(dāng)然不必!我們可以使用啟動(dòng)腳本、ADM模板來(lái)批量操作。下面我貼出我們公司目前的啟動(dòng)腳本文件:; B$ c* D. @9 P2 ~4 {) P
* u" @! s% o, Q9 ?; i/ ^
@echo off
, U! w4 e3 l& u4 P8 P if exist c:\windows\XPGina.dll (; |# V B+ h$ Z4 G* k7 x& k
echo Windows Registry Editor Version 5.00 >> .\reg.reg. _2 T6 @+ k4 l( N
echo . >> .\reg.reg8 O" ~; T6 q- m& F- |0 [
echo [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon] >> .\reg.reg
2 k0 \# q J" J+ r9 u echo "LogonPrompt"=" 祝您工作順心!" >> .\reg.reg3 x9 Z2 [. \$ m, Y* u
echo "Welcome"="(BY IT支持維護(hù))" >> .\reg.reg
7 o( m0 l$ a9 o- X echo "GinaDLL"="c:\\windows\\XPGina.dll" >> .\reg.reg
* Q+ J' l% ~& a" F regedit /s .\reg.reg
6 |3 a! Y& t$ P del /F .\reg.reg
7 H6 h* ~6 E1 a, A' @4 l- b ) else (. @6 [6 f. j J& ]4 [% `
net use z: /del
. B' `. o# R2 W2 M8 W+ J net use z: \\FileServer\\Share "password" /user:username@yourdomain.com
: w3 u/ G8 w7 L/ J. v5 V copy z:\ XPGina.dll "c:\windows\XPGina.dll" /n; m' ]2 J& R* A5 v8 [% T- d' _
net use z: /del0 e0 l9 O1 d6 J% i2 b
)
. N7 N( v( O9 u" h! g; n9 v) n' A3 f
對(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è)表文件。# N* P: D, [: z" y
- r, r8 R3 Z) S1 M n. J" r3 ` 順便稍上40樓朋友給我們帶來(lái)的刪除前面注冊(cè)表操作的批處理腳本,這樣就可以回滾操作了,+ }% s6 B; N$ S! \4 l
2 ]- C8 I1 R- P+ m
@echo off* w+ s; a9 C. `, ?. y1 S* m/ W
if exist %SystemRoot%\XPGina.dll (
7 T) V4 J9 J9 d c# X9 d echo Windows Registry Editor Version 5.00 >> .\reg.reg
1 s4 o! i6 P6 j: L( ~$ Y' k echo . >> .\reg.reg
$ b! `% ?" E6 {( e! s: ]0 ^# i8 ?( ^ echo [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon] >> .\reg.reg
b4 A( F$ d* q echo "LogonPrompt"=- >> .\reg.reg
' K! o0 K, u3 k echo "Welcome"=- >> .\reg.reg0 B9 X3 |0 H1 a& [6 _
echo "GinaDLL"=- >> .\reg.reg
4 L7 q- t' B7 D& ~7 g regedit /s .\reg.reg
* W+ ? {, V( N2 v- b del /F .\reg.reg
; G- b P9 n T ) else (
. v/ K8 _. P* x. Z/ Q, P; ^5 | del "%SystemRoot%\XPGina.dll" /F
* U5 s& t6 N9 _" X- Q )
) _0 |2 F4 F! e
8 L. @" s6 U& P1 n 最后,整個(gè)操作步驟我還想補(bǔ)充幾點(diǎn)說(shuō)明:' x! b6 W) Z+ O1 W: v0 F1 P
# ~* x' o& m6 h 1. 操作系統(tǒng)不同,需要替換的位圖文件的位置也不同,例如,XP是替換101和107,而2003就未必是這個(gè)地方了。不要試圖用XP的GINADLL文件用在2003上,否則2003的登錄界面很難看,其實(shí)也說(shuō)不上難看,只是圖片不是我們預(yù)期的圖片。3 l; h1 j) m. t# Z% L; ?0 `
& F! V# J* s' j6 T {+ {
2. 在批量實(shí)施的時(shí)候,請(qǐng)用啟動(dòng)或關(guān)機(jī)腳本。否則可能會(huì)因?yàn)闄?quán)限問(wèn)題,無(wú)法寫(xiě)進(jìn)注冊(cè)表數(shù)據(jù)。
7 b, }: _. n% ?, @7 Z4 S; b, Z2 R `; V5 {
3. 在純安全模式下,個(gè)性化界面不會(huì)生效。這也就給了當(dāng)我們遇到第4點(diǎn)中的問(wèn)題時(shí)提供了操作可能。
' {; W2 D% J, T' L- _$ R/ {
1 F, F8 a6 I: ^5 C- o 4. 如果遇到應(yīng)用錯(cuò)誤或者不想使用個(gè)性化登錄界面,請(qǐng)直接刪除注冊(cè)表中HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon下的GinaDLL。重新啟動(dòng)計(jì)算機(jī)就行了。2 ?! _! F# M( [" ~" Y
: Y/ }! |3 I8 ^$ I' B, s# w% m9 H; Z A9 N OK,整個(gè)步驟到此就結(jié)束了,雖然沒(méi)有什么技術(shù)含量,但是我敢保證,如果你在公司所有的計(jì)算機(jī)上都個(gè)性化了登錄界面,例如加上公司的logo,那么一定會(huì)給同事們或老板耳目為之一新的感覺(jué)。記得有家公司來(lái)我們公司參觀的時(shí)候,看到個(gè)性化登錄界面后,問(wèn)我們公司是不是和番茄花園合作,做了系統(tǒng)美化。 |