出處:中國IT實(shí)驗(yàn)室- T4 S, e4 i$ _$ E8 `
9 L4 D1 r6 H, k8 P
個(gè)性化Windows XP客戶端的登錄界面 一般來說,XP客戶端登錄界面分為兩種,一種是使用“歡迎屏幕”;另一種是不使用“歡迎屏幕”的經(jīng)典登錄界面。大家都知道,XP系統(tǒng)一旦加入域后,就不再使用“歡迎屏幕”。所以,今天我們就來討論一下如何個(gè)性化域中的XP登錄界面。
( X+ ]8 C1 l* {* K, d
5 P! ?! S6 p$ Z1 d: v 先讓大家先看一下,我們公司現(xiàn)在和以前使用過的XP個(gè)性化登錄界面。如圖1 2
- F" U9 X) ~; Y5 B \/ g8 d8 Y! L; t- ~, L# V3 F" h" c! ?$ G
是不是還不錯(cuò)呢?其實(shí)做法很簡(jiǎn)單,下面我就一步一步來和大家分享一下如何操作
8 T9 |5 q1 y0 y! p9 r3 A% n
5 S# \3 Z- C# a3 T l5 t& K D- _: Z3 x+ p# C Q2 d
3 ^0 }$ f/ i! n+ z/ O2 l. X W# ? ) R7 [1 j: W: C8 b/ E( m, f
- v6 z5 {; A2 k$ S
在正式操作之前,我想先和大家介紹一下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)定。這種做法不值得推薦給大家。* j$ w( A" e4 {3 ]+ k2 S
5 J1 P; L( O6 R) L! v
不過微軟還算厚道,在注冊(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。
, ~0 N1 C& R' m1 V- ]% G) k2 s; ]
OK,下面是具體操作步驟:
3 x3 p; a6 v: q 1. 將XP系統(tǒng)中的C:\WINDOWS\system32\msgina.dll這個(gè)文件復(fù)制一份出來,用于編輯之用,并且重命名為重命名為XPGina.dll(名字隨便取啦)$ R: l; }0 D' B1 H3 ^& j
" b: ^& S+ {& g; n) g) d
2. 用ResHacker或者Exescope(我這里使用ResHacker給大家做演示)打開XPGina.dll后,展開“位圖”,在“101”,“107”下面均有個(gè)“2052”。如圖3所示
6 k4 ^" S6 h s1 _, H# I/ ~$ ]7 d) [+ K
3. 我們的目標(biāo)就是替換這兩個(gè)地方的圖片。其中101處的圖片大小為 413*72,用于用戶登錄過程和鎖定畫面;107 則是個(gè)較大的位圖,格式為 413*88,用于登陸驗(yàn)證的畫面。請(qǐng)盡量保持新圖片的大小和系統(tǒng)自帶圖片大小的一致性,否則很影響美觀性。0 y* |, h4 {/ d
- `. F2 b5 o" G" r9 v
4. 我以101為例來說明如何替換這個(gè)圖片。點(diǎn)擊ResHacker的“操作”按鈕,選擇“替換位圖”。如圖4.$ g6 H- W1 r# _. x, @) k n8 Z
3 p" h2 p. K6 d/ u" C9 ] 然后選擇“打開新位圖文件”,打開你事先準(zhǔn)備好的,經(jīng)過你無限創(chuàng)意的位圖圖片(大小413*72),點(diǎn)擊“替換即可”。如圖5和6。% q" B1 f4 L* ~# _: |$ \# I8 h: o
5. 107的替換步驟就不再贅述了,和前面的操作步驟完全一樣。只不過圖片選擇413*88的那張。
* t, y+ s4 |1 f D* {& S7 T: N
8 F; ^) S! m/ W" j 6. 全部修改完以后,點(diǎn)擊ResHacker的“文件”,“保存”即可。這樣,這個(gè)文件就被我們處理好了。
; b' b2 ~/ [ ]- y+ ]: `
$ I" K0 M/ a& T# e4 e* o , a& Z5 d: W6 G! H7 M
' Z0 D( u& h$ N0 y! v
! L0 j* R; J5 m; O( c& t; g
' C& _1 O, g+ i6 |7 `$ ~
! s3 C2 L( g& C
2 f0 V% _& V: T% B: v y1 t
' \% g* @( ~: X i& q2 z
( @' z" N" U! _5 t" N2 G' h 個(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)吧。
* t, N3 [5 I" i! ~+ V( H( e/ g# V3 o, o! ?: \
操作已經(jīng)接近尾聲了,但是如何在公司的機(jī)器上大規(guī)模部署起來呢?總不能一個(gè)一個(gè)的去客戶端做注冊(cè)表修改吧?!當(dāng)然不必!我們可以使用啟動(dòng)腳本、ADM模板來批量操作。下面我貼出我們公司目前的啟動(dòng)腳本文件:) V) F3 S2 }5 n0 L# t
" Y: F! e, e6 u9 V2 c: T# Z" _, d7 @ @echo off
8 O( y, M' e$ M6 X! _+ ? if exist c:\windows\XPGina.dll (; _: E) L, @* T/ b0 O; d6 ?1 s' W# p
echo Windows Registry Editor Version 5.00 >> .\reg.reg+ F. A: _" T9 M
echo . >> .\reg.reg5 I) h! s$ R3 j+ _
echo [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon] >> .\reg.reg3 Y4 O7 U- c1 T+ @# O" c/ e
echo "LogonPrompt"=" 祝您工作順心!" >> .\reg.reg
) E, F* o# {3 W/ p' T K echo "Welcome"="(BY IT支持維護(hù))" >> .\reg.reg) T& v' g6 ~* T e+ I
echo "GinaDLL"="c:\\windows\\XPGina.dll" >> .\reg.reg2 a1 h f' A/ \' ?6 _: V" b& t; n+ T" ~0 i
regedit /s .\reg.reg
) n0 M. _1 T7 I" d9 X, H) z" x del /F .\reg.reg
' j: t3 w: e, e$ p8 F! k& T% m( B ) else (
! S; w3 H5 K5 T* Y# ]# V- [ net use z: /del
, E* h, q3 O& u" F" [3 R# @ net use z: \\FileServer\\Share "password" /user:username@yourdomain.com- T! d$ _8 i7 w" ?
copy z:\ XPGina.dll "c:\windows\XPGina.dll" /n
D; Q8 z7 n8 K; V0 M0 j net use z: /del
, X' a% X" Q9 B9 {, K ) u) b) v1 N* C- w
1 o2 ]1 J* ?8 R" J4 T
對(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è)表文件。 U4 i# V C9 e9 W/ g4 @0 ^. v
) o: k, D& G1 o) i' J; N
順便稍上40樓朋友給我們帶來的刪除前面注冊(cè)表操作的批處理腳本,這樣就可以回滾操作了,
6 K" m% R5 t$ `2 `* V) L( W- a! o9 P3 F
@echo off
! @# Q/ f/ F) T# ` if exist %SystemRoot%\XPGina.dll (
0 Y5 Z- T: G5 G3 l% j8 E a L echo Windows Registry Editor Version 5.00 >> .\reg.reg
5 y' r- _- o1 d echo . >> .\reg.reg
7 G7 C6 r" x' }6 z5 E1 O echo [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon] >> .\reg.reg
3 `7 x% ]( _: f5 B echo "LogonPrompt"=- >> .\reg.reg
/ i+ y( U5 J! Y3 N- J# x echo "Welcome"=- >> .\reg.reg% N' r. j, a; N: p6 D: a
echo "GinaDLL"=- >> .\reg.reg
p" q- x6 a; v6 ~( y! U+ F regedit /s .\reg.reg
" A9 D+ s9 z* x, a1 j' `" Q del /F .\reg.reg: B1 P* m+ k4 z7 p- R9 \) H; {; u' _
) else (
6 B- j X8 V& H del "%SystemRoot%\XPGina.dll" /F6 b: j% a: b' }0 f
)
6 v7 y1 u( `/ ~3 C6 P. Y1 [' G; T1 [5 Z' a2 O
最后,整個(gè)操作步驟我還想補(bǔ)充幾點(diǎn)說明:' W$ b' t. X$ V: a
4 C6 ~9 S. k! H9 E! `* X 1. 操作系統(tǒng)不同,需要替換的位圖文件的位置也不同,例如,XP是替換101和107,而2003就未必是這個(gè)地方了。不要試圖用XP的GINADLL文件用在2003上,否則2003的登錄界面很難看,其實(shí)也說不上難看,只是圖片不是我們預(yù)期的圖片。
& ~; H( W8 V& P; i& O6 l9 Y4 q) p2 ^6 d' a- F
2. 在批量實(shí)施的時(shí)候,請(qǐng)用啟動(dòng)或關(guān)機(jī)腳本。否則可能會(huì)因?yàn)闄?quán)限問題,無法寫進(jìn)注冊(cè)表數(shù)據(jù)。2 R1 `! E( O# N' C" z3 D
1 m) X/ y; l) q1 W2 y2 Q( }
3. 在純安全模式下,個(gè)性化界面不會(huì)生效。這也就給了當(dāng)我們遇到第4點(diǎn)中的問題時(shí)提供了操作可能。" X; h4 [+ o! k2 O
" q; S( b1 l9 J0 U- f' { 4. 如果遇到應(yīng)用錯(cuò)誤或者不想使用個(gè)性化登錄界面,請(qǐng)直接刪除注冊(cè)表中HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon下的GinaDLL。重新啟動(dòng)計(jì)算機(jī)就行了。( Z$ e8 {+ a; x8 H2 d' G! `
3 H; ?* A, A" ]% O- Z: z$ }0 c OK,整個(gè)步驟到此就結(jié)束了,雖然沒有什么技術(shù)含量,但是我敢保證,如果你在公司所有的計(jì)算機(jī)上都個(gè)性化了登錄界面,例如加上公司的logo,那么一定會(huì)給同事們或老板耳目為之一新的感覺。記得有家公司來我們公司參觀的時(shí)候,看到個(gè)性化登錄界面后,問我們公司是不是和番茄花園合作,做了系統(tǒng)美化。 |