出處:中國IT實(shí)驗(yàn)室
& j8 A- }7 H2 U* R# f
' q6 `7 h n6 E2 T2 j* B* {+ n 個(gè)性化Windows XP客戶端的登錄界面 一般來說,XP客戶端登錄界面分為兩種,一種是使用“歡迎屏幕”;另一種是不使用“歡迎屏幕”的經(jīng)典登錄界面。大家都知道,XP系統(tǒng)一旦加入域后,就不再使用“歡迎屏幕”。所以,今天我們就來討論一下如何個(gè)性化域中的XP登錄界面。
5 P- ~( o, G; r; X8 l) `4 Z! m( m
y& e5 O) t# e' R! ? 先讓大家先看一下,我們公司現(xiàn)在和以前使用過的XP個(gè)性化登錄界面。如圖1 2) F, D% N0 Z! ]. p$ Q
8 T2 F% k0 Q( I$ E+ x
是不是還不錯(cuò)呢?其實(shí)做法很簡單,下面我就一步一步來和大家分享一下如何操作
6 P/ X) T5 p+ G5 e$ G# K . ]6 h4 L* l, p* ^# q' y/ h
# i5 J" w" q( U/ r
) j# U3 e8 s- \! c" L
! F7 g7 }1 R( c; Q6 A% o$ t; B s Q+ `9 k
在正式操作之前,我想先和大家介紹一下Gina這個(gè)東西。為什么要介紹這個(gè)呢?因?yàn)槲覀兘裉熳龅膫€(gè)性化設(shè)置就是修改Gina來實(shí)現(xiàn)的。它是干什么用的呢?一言以蔽之,它是專門用來進(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)鏈接文件來實(shí)現(xiàn)的。這個(gè)文件包含了默認(rèn)的Windows登錄界面。可以自己開發(fā)GINA DLL,以實(shí)現(xiàn)其他的身份驗(yàn)證方法,例如某些磁卡、智能卡驗(yàn)證、動(dòng)態(tài)令牌驗(yàn)證等。我們今天就準(zhǔn)備修改這個(gè)文件的內(nèi)容來達(dá)到個(gè)性化的目的。不過這個(gè)文件是受保護(hù)的系統(tǒng)文件,想要徹底修改替換它也不怎么容易。需要借助故障恢復(fù)控制臺(tái)、PE系統(tǒng)或者類似NTFSDOS的工具來實(shí)現(xiàn),比較麻煩,而且極有可能影響系統(tǒng)的穩(wěn)定。這種做法不值得推薦給大家。
5 t) u7 t" Y; X4 m2 l6 w
* }+ i5 ~) W* k6 J 不過微軟還算厚道,在注冊(cè)表里留了一個(gè)位置用于安裝GINA,在HKLM\Software\MicrosoftWindows NT\CurrentVersion\Winlogon下設(shè)置GINADLL為你指定的GINA DLL,(注意:GINADLL這個(gè)值缺省沒有,需要新建)如果設(shè)置了這個(gè)值,系統(tǒng)會(huì)先調(diào)用該GINA,而不會(huì)調(diào)用缺省的msGINA.dll。
8 O5 R$ @/ q" T3 q
9 t& P0 [# U2 U, w# G* ^3 q OK,下面是具體操作步驟:& D g) b1 |! G% N, }
1. 將XP系統(tǒng)中的C:\WINDOWS\system32\msgina.dll這個(gè)文件復(fù)制一份出來,用于編輯之用,并且重命名為重命名為XPGina.dll(名字隨便取啦)2 Y" A& K' c5 f* s+ O7 U: B$ E% I
0 {8 E8 Y+ Y: e" R6 G+ {
2. 用ResHacker或者Exescope(我這里使用ResHacker給大家做演示)打開XPGina.dll后,展開“位圖”,在“101”,“107”下面均有個(gè)“2052”。如圖3所示
1 z! b3 M, S3 T2 d) p
$ R5 L) L- ~: n8 q3 m 3. 我們的目標(biāo)就是替換這兩個(gè)地方的圖片。其中101處的圖片大小為 413*72,用于用戶登錄過程和鎖定畫面;107 則是個(gè)較大的位圖,格式為 413*88,用于登陸驗(yàn)證的畫面。請(qǐng)盡量保持新圖片的大小和系統(tǒng)自帶圖片大小的一致性,否則很影響美觀性。5 l; z4 t, v8 g7 v; Z3 Q, _. Y9 N/ x
, u2 l' f' h. b3 V
4. 我以101為例來說明如何替換這個(gè)圖片。點(diǎn)擊ResHacker的“操作”按鈕,選擇“替換位圖”。如圖4.0 E" l- J" s! R: p* o1 ~
. q9 [9 @) _( I
然后選擇“打開新位圖文件”,打開你事先準(zhǔn)備好的,經(jīng)過你無限創(chuàng)意的位圖圖片(大小413*72),點(diǎn)擊“替換即可”。如圖5和6。$ q" p& c2 c: O
5. 107的替換步驟就不再贅述了,和前面的操作步驟完全一樣。只不過圖片選擇413*88的那張。9 |% a. a; X; A: f4 @% J5 v$ C3 z
- h1 Y% _- m/ j5 p! V! V2 g
6. 全部修改完以后,點(diǎn)擊ResHacker的“文件”,“保存”即可。這樣,這個(gè)文件就被我們處理好了。 5 R6 F* z# Q( \/ ?2 `5 t5 d
( y; H4 Y$ |1 q3 l) s4 l4 A
4 u) I( P) y0 b/ X2 \/ X8 c4 k- _1 l8 d. ^9 C. Z* O) F4 d$ r M
8 O5 ?* ^3 d' k/ c5 G( W5 w6 q) q- H) Q! N1 a
& f+ n* @$ o1 ?! W# L& E
$ r; R& q# m5 X3 b' Z
e7 ?: @# I3 |+ T6 s0 i: V( ~
9 H2 o9 r+ V/ ~ 個(gè)性化的文件我們已經(jīng)有了,但是如何讓操作系統(tǒng)啟動(dòng)的時(shí)候調(diào)用這個(gè)文件呢?其實(shí),我在前面已經(jīng)說過了,在注冊(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)吧。
$ i7 }& W* e& P+ J7 f
/ r( Q$ ]8 \" ` _" g6 q 操作已經(jīng)接近尾聲了,但是如何在公司的機(jī)器上大規(guī)模部署起來呢?總不能一個(gè)一個(gè)的去客戶端做注冊(cè)表修改吧?!當(dāng)然不必!我們可以使用啟動(dòng)腳本、ADM模板來批量操作。下面我貼出我們公司目前的啟動(dòng)腳本文件:1 E* q4 p0 w5 N% N7 w
9 f! ?: M; e& [( E- \
@echo off* \* K- O o- M- m
if exist c:\windows\XPGina.dll (
8 x7 _* L3 G" B# }+ ~1 z echo Windows Registry Editor Version 5.00 >> .\reg.reg
& g E! p8 [9 `# l echo . >> .\reg.reg
, ]2 B& U4 L- Q0 R echo [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon] >> .\reg.reg9 g7 T* n+ X9 W) Z0 [
echo "LogonPrompt"=" 祝您工作順心!" >> .\reg.reg
- L" w% v5 A8 N4 J echo "Welcome"="(BY IT支持維護(hù))" >> .\reg.reg
$ O* M3 J6 K7 e8 d! A' | echo "GinaDLL"="c:\\windows\\XPGina.dll" >> .\reg.reg
; v4 ~2 C% f& f+ q) T4 r( D regedit /s .\reg.reg
% i& |9 @6 f& ?2 ~) z1 M del /F .\reg.reg4 W7 c) g5 S5 r; ?
) else (
. d" ?+ m; A# [# D$ l$ A& b net use z: /del
9 G2 p+ w+ M4 h net use z: \\FileServer\\Share "password" /user:username@yourdomain.com
4 M) T/ _% N/ R' R! X. @: l copy z:\ XPGina.dll "c:\windows\XPGina.dll" /n
9 f' ~- c! m& O: z net use z: /del& n/ u7 M5 w/ q7 ]1 j- Y9 p
)" @. R f0 |; y; c8 E
2 @; B# i" }" d 對(duì)以上批處理文件,我稍微做一下解釋。大致思路是先檢查C盤Windows目錄下是否有XPGina.dll這個(gè)文件,如果沒有就從Z盤拷貝(Z盤是從文件共享服務(wù)器FileServer上映射的一個(gè)網(wǎng)絡(luò)驅(qū)動(dòng)器),拷貝完成后再斷開驅(qū)動(dòng)器的映射。如果有,就導(dǎo)入reg.reg注冊(cè)表。至于注冊(cè)表中具體寫的什么內(nèi)容,相信大家從批處理文件中一看就可以看出來。導(dǎo)入完成以后就刪除該注冊(cè)表文件。# `+ \& Q) A3 r# d
9 F+ |; l) B- I2 h
順便稍上40樓朋友給我們帶來的刪除前面注冊(cè)表操作的批處理腳本,這樣就可以回滾操作了, G- H& R. u! b6 D) C* W4 L
; O; W* A6 R7 @8 t, t @echo off
1 [# ^2 K& R: ~: s/ p5 h" L0 R$ E# u if exist %SystemRoot%\XPGina.dll (
- h2 `. F# A* J% Y1 @9 T0 O echo Windows Registry Editor Version 5.00 >> .\reg.reg& n0 x7 i+ a( m9 ]& r3 P& ]5 f
echo . >> .\reg.reg
8 r5 {! ]' H4 w6 b+ H echo [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon] >> .\reg.reg
- q2 J2 I, E/ l! D. L echo "LogonPrompt"=- >> .\reg.reg
; K% X& J& N K4 Q2 Z' ~ echo "Welcome"=- >> .\reg.reg
. g: j" m4 D4 T4 B9 U echo "GinaDLL"=- >> .\reg.reg
9 [# p. u/ l1 {- w+ C regedit /s .\reg.reg
& F" l. y$ @. \: K1 b0 p5 y del /F .\reg.reg
9 I( j. G. M) a( a; K6 [ ) else (' @! a8 S$ u8 Y- i8 n6 ]" |
del "%SystemRoot%\XPGina.dll" /F
' b2 }8 L2 Q! \' ?* } )
' Y' }9 | J9 F1 e+ s
3 H3 j0 X0 i8 d2 _( D 最后,整個(gè)操作步驟我還想補(bǔ)充幾點(diǎn)說明:
% B! Y# f ]3 X4 h
( f6 B2 m! q; f5 l4 n9 U 1. 操作系統(tǒng)不同,需要替換的位圖文件的位置也不同,例如,XP是替換101和107,而2003就未必是這個(gè)地方了。不要試圖用XP的GINADLL文件用在2003上,否則2003的登錄界面很難看,其實(shí)也說不上難看,只是圖片不是我們預(yù)期的圖片。7 K2 N7 k9 X0 I! _
) ?3 c! r% B4 R3 q- g2 d, X( \ 2. 在批量實(shí)施的時(shí)候,請(qǐng)用啟動(dòng)或關(guān)機(jī)腳本。否則可能會(huì)因?yàn)闄?quán)限問題,無法寫進(jìn)注冊(cè)表數(shù)據(jù)。
! [* x O+ t# p( @! P+ O7 i2 ?0 e" \% ]5 r9 f# q
3. 在純安全模式下,個(gè)性化界面不會(huì)生效。這也就給了當(dāng)我們遇到第4點(diǎn)中的問題時(shí)提供了操作可能。4 Z+ V3 Z& z! z- y! B' r5 j# L
- X3 `/ a3 a: Q( |$ p; Y$ P
4. 如果遇到應(yīng)用錯(cuò)誤或者不想使用個(gè)性化登錄界面,請(qǐng)直接刪除注冊(cè)表中HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon下的GinaDLL。重新啟動(dòng)計(jì)算機(jī)就行了。
5 Y2 d! R% J. A0 K8 U! b' k# a/ W$ ?
. R5 D; j2 L7 A: A. V OK,整個(gè)步驟到此就結(jié)束了,雖然沒有什么技術(shù)含量,但是我敢保證,如果你在公司所有的計(jì)算機(jī)上都個(gè)性化了登錄界面,例如加上公司的logo,那么一定會(huì)給同事們或老板耳目為之一新的感覺。記得有家公司來我們公司參觀的時(shí)候,看到個(gè)性化登錄界面后,問我們公司是不是和番茄花園合作,做了系統(tǒng)美化。 |