出處:中國IT實(shí)驗(yàn)室
$ j9 I* e7 i, M* A! {% U! W7 o; M5 d9 \2 n) m
個(gè)性化Windows XP客戶端的登錄界面 一般來說,XP客戶端登錄界面分為兩種,一種是使用“歡迎屏幕”;另一種是不使用“歡迎屏幕”的經(jīng)典登錄界面。大家都知道,XP系統(tǒng)一旦加入域后,就不再使用“歡迎屏幕”。所以,今天我們就來討論一下如何個(gè)性化域中的XP登錄界面。' U( o% h: k2 M: t) }# r
: d1 F& M8 d+ n2 J, W 先讓大家先看一下,我們公司現(xiàn)在和以前使用過的XP個(gè)性化登錄界面。如圖1 2% V9 Y) K2 V. s/ U$ k4 E7 d
; H, J& D: n. B; a1 j 是不是還不錯(cuò)呢?其實(shí)做法很簡單,下面我就一步一步來和大家分享一下如何操作( m9 ?7 j% D" g. P
, T$ H& p5 g5 p6 k* V$ y; M0 _
+ s- @+ E% ^/ j! C
5 a5 _5 [' P- H6 W . l% l8 [# T4 j! H6 D9 v
5 [! g: ^+ V1 O1 D: d! ?
在正式操作之前,我想先和大家介紹一下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)定。這種做法不值得推薦給大家。
/ T& T# b& b# e; |% f: v) C- ]4 | q& d9 \0 v* A! m( F
不過微軟還算厚道,在注冊(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。
* E p5 X s' k( X/ Z- \) _2 y4 L. @+ v; q! v" j/ I
OK,下面是具體操作步驟:0 }% T( x* H- q7 Q8 s3 w
1. 將XP系統(tǒng)中的C:\WINDOWS\system32\msgina.dll這個(gè)文件復(fù)制一份出來,用于編輯之用,并且重命名為重命名為XPGina.dll(名字隨便取啦)
+ b: W7 o4 b9 y9 u: b1 W' \# D- C ?5 o( |6 y; G9 ~6 m! O
2. 用ResHacker或者Exescope(我這里使用ResHacker給大家做演示)打開XPGina.dll后,展開“位圖”,在“101”,“107”下面均有個(gè)“2052”。如圖3所示- o3 S$ M. \2 V. h5 }
N0 U: G7 B6 p7 q. @
3. 我們的目標(biāo)就是替換這兩個(gè)地方的圖片。其中101處的圖片大小為 413*72,用于用戶登錄過程和鎖定畫面;107 則是個(gè)較大的位圖,格式為 413*88,用于登陸驗(yàn)證的畫面。請(qǐng)盡量保持新圖片的大小和系統(tǒng)自帶圖片大小的一致性,否則很影響美觀性。0 v# O9 ^( B: h' A5 a! e$ `
% f6 z; x+ J3 m2 C9 I9 P( } 4. 我以101為例來說明如何替換這個(gè)圖片。點(diǎn)擊ResHacker的“操作”按鈕,選擇“替換位圖”。如圖4.0 A/ |5 D0 y6 f" T9 |5 r
8 j3 a# o5 B/ |$ T5 k 然后選擇“打開新位圖文件”,打開你事先準(zhǔn)備好的,經(jīng)過你無限創(chuàng)意的位圖圖片(大小413*72),點(diǎn)擊“替換即可”。如圖5和6。5 }$ s& r% D! J* Y* X
5. 107的替換步驟就不再贅述了,和前面的操作步驟完全一樣。只不過圖片選擇413*88的那張。$ ^8 `! M7 P: i
2 m9 A6 w* R$ d2 U( g 6. 全部修改完以后,點(diǎn)擊ResHacker的“文件”,“保存”即可。這樣,這個(gè)文件就被我們處理好了。
. E: \& d) S% H , @3 o4 E4 Q$ e! A
( h8 e8 I* e6 T( g# G( s
( Q1 k, H8 b5 K! t" s- O* ]& v9 b9 I' u3 j6 u/ c, `
9 a9 N2 F- n5 I5 ?" m8 B/ b6 f1 J9 m
, @, r" r! ]4 C M' \
( j& B7 e, U2 T& V! }
2 [) U: P; U( n
. g! l7 u+ y) }- |5 f- h v/ F* a4 P 個(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)吧。
) B1 e; u# n2 i9 ~) ?6 P4 M' v- [: {1 p/ D
操作已經(jīng)接近尾聲了,但是如何在公司的機(jī)器上大規(guī)模部署起來呢?總不能一個(gè)一個(gè)的去客戶端做注冊(cè)表修改吧?!當(dāng)然不必!我們可以使用啟動(dòng)腳本、ADM模板來批量操作。下面我貼出我們公司目前的啟動(dòng)腳本文件:
+ }5 W( E5 [. I8 N% O3 h0 H3 i/ l, [; o8 o7 v7 ~( O1 m
@echo off$ H1 o. f2 |/ v% O4 W/ a' Z, Y
if exist c:\windows\XPGina.dll (% E# U7 n3 R5 d0 q0 C
echo Windows Registry Editor Version 5.00 >> .\reg.reg9 D s6 p2 R( N5 N3 \
echo . >> .\reg.reg! V- z0 E3 K+ e% R% ^$ D
echo [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon] >> .\reg.reg6 Z z5 b0 x4 `; L
echo "LogonPrompt"=" 祝您工作順心!" >> .\reg.reg
2 q% h; }6 D0 S$ r# S echo "Welcome"="(BY IT支持維護(hù))" >> .\reg.reg1 W' d2 n; x4 r! m7 h6 S
echo "GinaDLL"="c:\\windows\\XPGina.dll" >> .\reg.reg
8 N, j3 a* E2 [$ n6 o regedit /s .\reg.reg
# E8 S( N; i- Q1 d: T del /F .\reg.reg7 _8 Y) K+ M5 z9 {: M6 B8 p
) else (
p5 j, h' n+ f, d net use z: /del
5 x' D* D, V8 G4 o! l net use z: \\FileServer\\Share "password" /user:username@yourdomain.com
. J2 @' I6 b$ E copy z:\ XPGina.dll "c:\windows\XPGina.dll" /n9 O' ^0 e- |! P
net use z: /del" B0 z' K( J3 T+ Q& |& p
)" B3 r4 n! h# [$ K/ n
) z! J! }( U! F, O( B
對(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è)表文件。1 A9 c5 @! W" t8 U& `; l6 T: p
3 c$ U) y$ a% } 順便稍上40樓朋友給我們帶來的刪除前面注冊(cè)表操作的批處理腳本,這樣就可以回滾操作了,
. Y# L7 V- B0 D6 H U7 M
( U: U {% D; t: f7 J! @7 l% x( p @echo off# _( }4 S2 ~( q" T9 H
if exist %SystemRoot%\XPGina.dll (9 S: X. Q) C* h
echo Windows Registry Editor Version 5.00 >> .\reg.reg
0 i$ J& ]0 ]! U; C5 N echo . >> .\reg.reg
7 \- i- t6 u5 A3 Z3 I, e+ Q echo [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon] >> .\reg.reg
5 O; M# K) H2 w0 z echo "LogonPrompt"=- >> .\reg.reg
6 Y% a8 q1 g) R R echo "Welcome"=- >> .\reg.reg
% s, k$ s3 h* J4 G# | echo "GinaDLL"=- >> .\reg.reg
p# ^0 G( G: h. i4 w1 [+ G regedit /s .\reg.reg. P, q4 |$ i+ h) G0 D; ?% V1 N" j
del /F .\reg.reg/ j" [6 r7 o. g: t2 L
) else (
0 M! l& `/ M6 o3 x" s del "%SystemRoot%\XPGina.dll" /F5 D) a+ q6 p2 d9 p$ B/ G
); |% |: C" S# G. F7 n* h% @- v( H% I
. Y" v) ]* U& y9 A 最后,整個(gè)操作步驟我還想補(bǔ)充幾點(diǎn)說明:4 r3 a t" q' T
$ u) C( k. t; r+ `
1. 操作系統(tǒng)不同,需要替換的位圖文件的位置也不同,例如,XP是替換101和107,而2003就未必是這個(gè)地方了。不要試圖用XP的GINADLL文件用在2003上,否則2003的登錄界面很難看,其實(shí)也說不上難看,只是圖片不是我們預(yù)期的圖片。
5 a& \1 \" k. @- l; |3 n$ ? |; p9 w! e& ^
2. 在批量實(shí)施的時(shí)候,請(qǐng)用啟動(dòng)或關(guān)機(jī)腳本。否則可能會(huì)因?yàn)闄?quán)限問題,無法寫進(jìn)注冊(cè)表數(shù)據(jù)。
/ p& y, W2 v, r6 \* [
; o, k+ x/ I% ^7 h0 `* R' v5 @- B5 Y 3. 在純安全模式下,個(gè)性化界面不會(huì)生效。這也就給了當(dāng)我們遇到第4點(diǎn)中的問題時(shí)提供了操作可能。4 @. z6 w6 i' {( R8 b( q1 k* H8 U% u
# Z5 Y& H" U9 \* j/ G% \
4. 如果遇到應(yīng)用錯(cuò)誤或者不想使用個(gè)性化登錄界面,請(qǐng)直接刪除注冊(cè)表中HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon下的GinaDLL。重新啟動(dòng)計(jì)算機(jī)就行了。. N9 T# ~, ~3 M
& T/ P% f5 f. S; F3 O OK,整個(gè)步驟到此就結(jié)束了,雖然沒有什么技術(shù)含量,但是我敢保證,如果你在公司所有的計(jì)算機(jī)上都個(gè)性化了登錄界面,例如加上公司的logo,那么一定會(huì)給同事們或老板耳目為之一新的感覺。記得有家公司來我們公司參觀的時(shí)候,看到個(gè)性化登錄界面后,問我們公司是不是和番茄花園合作,做了系統(tǒng)美化。 |