出處:中國(guó)IT實(shí)驗(yàn)室
* d6 ]9 o3 l; j4 j9 y8 m! b* K6 O% @) n
個(gè)性化Windows XP客戶端的登錄界面 一般來(lái)說(shuō),XP客戶端登錄界面分為兩種,一種是使用“歡迎屏幕”;另一種是不使用“歡迎屏幕”的經(jīng)典登錄界面。大家都知道,XP系統(tǒng)一旦加入域后,就不再使用“歡迎屏幕”。所以,今天我們就來(lái)討論一下如何個(gè)性化域中的XP登錄界面。6 F2 F( U2 I$ i# E) p9 ?5 T
8 h" k. d4 C$ r, ?0 L \$ i
先讓大家先看一下,我們公司現(xiàn)在和以前使用過(guò)的XP個(gè)性化登錄界面。如圖1 2+ R+ {0 Y1 V( X W" l
7 F" x; e8 Z# W( b# w
是不是還不錯(cuò)呢?其實(shí)做法很簡(jiǎn)單,下面我就一步一步來(lái)和大家分享一下如何操作4 v+ \+ P( M. V8 D* ]
$ Q% e0 Z U! A. [ `: i% x3 r
+ S1 P4 W& b6 s5 u @
! ?, s+ X% I' n
, `3 @* Q+ q8 Q' ]# o
3 J3 j8 u2 p9 z 在正式操作之前,我想先和大家介紹一下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登錄界面??梢宰约洪_發(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)定。這種做法不值得推薦給大家。! S* f( Y5 o D3 Y2 ^
, o# N) A+ {- Y- B
不過(guò)微軟還算厚道,在注冊(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。
. Z! f4 ]7 H) G, l8 ^0 W9 C A; F- B( q
OK,下面是具體操作步驟:0 I( A& C; p+ z) e, }- X( {7 A
1. 將XP系統(tǒng)中的C:\WINDOWS\system32\msgina.dll這個(gè)文件復(fù)制一份出來(lái),用于編輯之用,并且重命名為重命名為XPGina.dll(名字隨便取啦)
3 c) w2 T3 H8 j$ Y) {0 K: z1 A3 y8 l
2. 用ResHacker或者Exescope(我這里使用ResHacker給大家做演示)打開XPGina.dll后,展開“位圖”,在“101”,“107”下面均有個(gè)“2052”。如圖3所示* w" ]& C' |5 f, `9 e$ F
- I" c* k4 k7 z" ?; K0 r
3. 我們的目標(biāo)就是替換這兩個(gè)地方的圖片。其中101處的圖片大小為 413*72,用于用戶登錄過(guò)程和鎖定畫面;107 則是個(gè)較大的位圖,格式為 413*88,用于登陸驗(yàn)證的畫面。請(qǐng)盡量保持新圖片的大小和系統(tǒng)自帶圖片大小的一致性,否則很影響美觀性。
, u' e6 f u& _' m6 L& |) D% P
! v+ C4 K$ A( w# H( g 4. 我以101為例來(lái)說(shuō)明如何替換這個(gè)圖片。點(diǎn)擊ResHacker的“操作”按鈕,選擇“替換位圖”。如圖4." G( S: b- X7 q
$ e7 P3 Q0 X( N% j
然后選擇“打開新位圖文件”,打開你事先準(zhǔn)備好的,經(jīng)過(guò)你無(wú)限創(chuàng)意的位圖圖片(大小413*72),點(diǎn)擊“替換即可”。如圖5和6。; N# x4 V# ^# M4 b: u4 p% b6 V
5. 107的替換步驟就不再贅述了,和前面的操作步驟完全一樣。只不過(guò)圖片選擇413*88的那張。
Y& ~" q4 v( U- Y( E$ V' ?: n, h! F- t+ a: ~2 Z% V5 P$ q
6. 全部修改完以后,點(diǎn)擊ResHacker的“文件”,“保存”即可。這樣,這個(gè)文件就被我們處理好了。 1 ~% S( Z& {% n; ?, k. F6 S
L/ C( x, U% C p+ O1 P# w! r" o% A
2 J) F2 f/ S9 e: U% B
) E2 s J& M5 }* I$ g0 M/ b$ p& C8 e. e/ P4 b5 u
6 A" ~8 i. F$ C' i, { 8 w; I1 W1 {+ j. h' g( J
8 K7 Q* }4 g. q+ g- K
) b( k W: }4 H3 n+ u# g
, _* ]" a/ G9 o" w" F6 K 個(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)吧。
4 ]+ J4 a" ~ t+ K/ R0 H& b v
# Z# n* {7 y7 C 操作已經(jīng)接近尾聲了,但是如何在公司的機(jī)器上大規(guī)模部署起來(lái)呢?總不能一個(gè)一個(gè)的去客戶端做注冊(cè)表修改吧?!當(dāng)然不必!我們可以使用啟動(dòng)腳本、ADM模板來(lái)批量操作。下面我貼出我們公司目前的啟動(dòng)腳本文件:
, a% M2 m- ~ ^
, J3 {( c7 K3 Q) z- x @echo off% w' G; J8 ]- G2 C& v
if exist c:\windows\XPGina.dll (% X) r( p" _: q% K1 N8 i8 v
echo Windows Registry Editor Version 5.00 >> .\reg.reg$ x- V* i+ T% O5 f% d9 p- B) k* s8 a
echo . >> .\reg.reg
' X; }- A1 ]' k0 X echo [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon] >> .\reg.reg& B9 b2 ^9 ~& h) W+ w" t& Z
echo "LogonPrompt"=" 祝您工作順心!" >> .\reg.reg
- Q* p) v' z' B+ H8 \ echo "Welcome"="(BY IT支持維護(hù))" >> .\reg.reg1 ~' y2 l4 s: C' }1 x
echo "GinaDLL"="c:\\windows\\XPGina.dll" >> .\reg.reg
; \; V; f8 q+ A; r regedit /s .\reg.reg
( s6 U. Y7 \- T, j5 w7 I; n del /F .\reg.reg* ~4 j b+ x7 f, S$ e& x% ]8 s
) else (
6 T5 m U9 e. k5 K4 O# W/ k net use z: /del
0 M7 g- T- A5 e# G( u net use z: \\FileServer\\Share "password" /user:username@yourdomain.com
% p; k* C+ p+ E B3 n0 F copy z:\ XPGina.dll "c:\windows\XPGina.dll" /n
+ l7 Q1 |* n6 w+ I" M net use z: /del
4 G$ M# e8 A. \2 Q, ]! v ), Y; ?) R+ Z8 _0 g |, `
6 R, y- u. P1 a( p9 d" Q
對(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)容,相信大家從批處理文件中一看就可以看出來(lái)。導(dǎo)入完成以后就刪除該注冊(cè)表文件。
0 p2 E) H" {8 N+ {- s; C9 g
$ m- P5 u/ n9 y; @& K* W 順便稍上40樓朋友給我們帶來(lái)的刪除前面注冊(cè)表操作的批處理腳本,這樣就可以回滾操作了,
2 R/ Z! d& ^" S9 U$ Z3 P0 k7 b/ p& J' p: b
0 L) P) L* v- b9 H @echo off
3 u! {8 d2 O9 p$ U. }$ w1 A if exist %SystemRoot%\XPGina.dll (
5 ~4 X8 \2 _) a; W& @; [ echo Windows Registry Editor Version 5.00 >> .\reg.reg
, ^9 n* P* J# O8 q# _ echo . >> .\reg.reg
- X2 c d9 s' l* \) X. @' o echo [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon] >> .\reg.reg
8 @) D2 m8 H- V' ? }. E echo "LogonPrompt"=- >> .\reg.reg+ k6 `/ T- i* {6 z* Z) U- n9 k. T
echo "Welcome"=- >> .\reg.reg
6 Y* u; @. x4 i: @" {0 j$ I* H W echo "GinaDLL"=- >> .\reg.reg
) `- y, U) s8 W regedit /s .\reg.reg
$ k5 ^9 ^! e4 H6 T! P del /F .\reg.reg, i, H$ E/ {& E" W
) else (
+ G4 t# H( O: ^. T( _+ R9 e del "%SystemRoot%\XPGina.dll" /F
: z% N1 L8 e6 ]+ h/ v )
8 z! w. f! t; [' B2 E3 }, h7 Q+ r+ ~3 O5 |3 T- g. F
最后,整個(gè)操作步驟我還想補(bǔ)充幾點(diǎn)說(shuō)明:
( I# {0 P, C) A* A" w0 i; T; z" V- J$ `! `
1. 操作系統(tǒng)不同,需要替換的位圖文件的位置也不同,例如,XP是替換101和107,而2003就未必是這個(gè)地方了。不要試圖用XP的GINADLL文件用在2003上,否則2003的登錄界面很難看,其實(shí)也說(shuō)不上難看,只是圖片不是我們預(yù)期的圖片。
/ ]2 a9 d2 m3 a6 K. {% O
J8 ]. Q2 ~5 g4 n$ Y 2. 在批量實(shí)施的時(shí)候,請(qǐng)用啟動(dòng)或關(guān)機(jī)腳本。否則可能會(huì)因?yàn)闄?quán)限問(wèn)題,無(wú)法寫進(jìn)注冊(cè)表數(shù)據(jù)。
- J) i" E# c! D9 v3 A
# f6 X8 Y& c) V 3. 在純安全模式下,個(gè)性化界面不會(huì)生效。這也就給了當(dāng)我們遇到第4點(diǎn)中的問(wèn)題時(shí)提供了操作可能。
0 c- B; u% P: E5 J I: o
6 a( w2 A% z3 Q4 j 4. 如果遇到應(yīng)用錯(cuò)誤或者不想使用個(gè)性化登錄界面,請(qǐng)直接刪除注冊(cè)表中HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon下的GinaDLL。重新啟動(dòng)計(jì)算機(jī)就行了。' D7 U+ k1 @! j( |' [. V$ r9 R6 g4 g
& t' G/ A( s! H9 [/ I OK,整個(gè)步驟到此就結(jié)束了,雖然沒有什么技術(shù)含量,但是我敢保證,如果你在公司所有的計(jì)算機(jī)上都個(gè)性化了登錄界面,例如加上公司的logo,那么一定會(huì)給同事們或老板耳目為之一新的感覺。記得有家公司來(lái)我們公司參觀的時(shí)候,看到個(gè)性化登錄界面后,問(wèn)我們公司是不是和番茄花園合作,做了系統(tǒng)美化。 |