重新安裝 Windows 2000 後密碼的恢復



贊助商連結


DAVID911
2002-03-28, 02:15 AM
在Windows 2K 的日常管理中,我們無可避免地會碰到重新安裝Windows 2K 的時候,資料的備份可以有很多方式實現,用戶的屬性備份也可以通過 ADSI 腳本或者通過 Addusers 工具(見Windows 2000 Resource Kits)來實現,但是用戶的密碼,我們可能必須重新設置了,對於一台擁有上百用戶的伺服器來說,用戶的抱怨將會給管理員帶來很大的壓力和麻煩,現在給大家推薦一款不錯的好東東--CopyPwd,用來備份用戶的密碼。
下載地址:
http://www.sometips.com/soft/copypwd.zip
(老外還是比較牛,一個多禮拜就完成了這個玩藝的開發,內附源代碼)

下面介紹一下用來作實驗的兩台機器,一台是中文Windows 2000 Server(取名為S1),一台是中文Windows 2000 Pro(取名為S2),兩台皆為StandAlone的機器。當然,這個工具也能用在NT4的StandAlone和域結構中,但是偶沒有進行過測試。

閒話少說,開始實驗:我們首先在S1上進行如下的操作:

D:\copypwd>net user adam ILoveAdam! /add
命令成功完成。
//創建用戶adam,密碼為"ILoveAdam!"

D:\copypwd>copypwd.exe dump > copypwd.txt
//將S1所有用戶密碼dump出來,不要修改copypwd.txt這個檔案名,btw,如果這個操作在你的機器上無法完成的話,你可以離開本頁繼續到浩瀚無垠的Internet上繼續遨遊了,Forgot me,就像忘記清晨開放在你窗前的那朵小花...

D:\copypwd>notepad copypwd.txt
//修改copypwd.txt檔,將與adam無關的行刪除並存檔,由於我們在測試的時候只對一個用戶進行測試,所以只保留了adam一行,如果你需要備份多個用戶,你可以保留與那些用戶相關的lines

我們將操作轉移到 S2 上,首先我們可以測試一下 S2 上是否可以執行 copypwd dump,如果不行,你就自認倒楣吧,至於為什麼有的機器能執行有的機器不能執行不在本文討論範圍之列,大家可以與 PWDump的作者-Jeremy Allison <[email protected]> 聯繫。

C:\>net user adam ILoveAdam! /add
命令成功完成。
//創建一個 adam 帳號,在這塈畯怢洏峈槃et user創建的該帳號,當然,我們也可以用 AddUsers來創建,這樣我們能保留更多與用戶相關的諮詢,AddUser 具體使用可以參見Windows 2000 Resources Kits的手冊。

C:\>copy \\192.168.X.X\copypwd\copypwd.txt .
已複製 1 個檔。
//將備份的copypwd.txt檔複製到 S2

C:\>copypwd.exe set
Set password for user adam
//密碼恢復成功,不管你在 S2 上創建的密碼是什麼,現在的密碼都是 "ILoveAdam!"

需要值得注意的一點,在我們實施完該操作後,該用戶的"User must change password at next logon"開關被Enable了,所以在測試的時候會碰到一些問題,因此我們必須在用戶管理器中Uncheck這個選項,當然,我們也可以通過命令行的方式來實現,所以在這堭擢豸@個Resource Kits堶悸漱@個工具 cusrmgr,首先看看它的幫助:

CUsrMgr Ver 1.0 Jan98 by G.Zanzen (c) MCS Central Europe
Sets a random password to a user
usage: -u UserName [-m \\MachineName] \\ default LocalMachine
Resetting Password Function
-p Set to a random password
-P xxx Sets password to xxx
User Functions
-r xxx Renames user to xxx
-d xxx deletes user xxx
Group Functions
-rlg xxx yyy Renames local group xxx to yyy
-rgg xxx yyy Renames global group xxx to yyy
-alg xxx Add user (-u UserName) to local group xxx
-agg xxx Add user (-u UserName) to global group xxx
-dlg xxx deletes user (-u UserName) from local group xxx
-dgg xxx deletes user (-u UserName) from global group xxx
SetProperties Functions
-c xxx sets Comment to xxx
-f xxx sets Full Name to xxx
-U xxx sets UserProfile to xxx
-n xxx sets LogonScript to xxx
-h xxx sets HomeDir to xxx

-H x sets HomeDirDrive to x

+s xxxx sets property xxxx
-s xxxx resets property xxxx
where xxxx can be any of the following properties:
MustChangePassword
CanNotChangePassword
PasswordNeverExpires
AccountDisabled
AccountLockout
RASUser
【老規矩,字數不夠幫助湊】

我們啟動用戶的語法是:

D:\copypwd>cusrmgr -u adam -s MustChangePassword

這樣,我們的操作就完成了...

【後記】
需要感謝的是 Chuck McCullough<[email protected]>,偶這個想法在多年前就有了,該死的一直叮叮不幫我寫代碼,而Shotgun這個鳥人現在號稱只做開發管理,不再Coding,所以只有靠老外了...大家有興趣也可以研究一下老外的代碼...有什麼心得也可以讓偶學習學習...