史萊姆論壇

返回   史萊姆論壇 > 教學文件資料庫 > 作業系統操作技術文件
忘記密碼?
論壇說明 標記討論區已讀

歡迎您來到『史萊姆論壇』 ^___^

您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的!

請點擊這裡:『註冊成為我們的一份子!』

Google 提供的廣告


 
 
主題工具 顯示模式
舊 2003-10-28, 09:22 PM   #1
psac
榮譽會員
 
psac 的頭像
榮譽勳章
UID - 3662
在線等級: 級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時
註冊日期: 2002-12-07
住址: 木柵市立動物園
文章: 17381
現金: 5253 金幣
資產: 33853 金幣
預設 Resource Kit 中文版說明

Resource Kit 中文版說明


下載Windows 2000 Resource Kit其中的一些小工具連結:
http://www.microsoft.com/windows200...ols/default.asp

概要
Resource Kit實際上是Microsoft為管理員提供的一套額外的工具集,包括了超過400個各種工具,vbs,dll,msc,涵蓋了管理TCP/IP,網路,註冊表,安全,遠端管理,配置,Batch文件,以及操作系統的其他方面。可以讓你更容易的管理一個NT系統。不得不承認這是一個非常龐大的工具集,包括到了已經被人們所遺忘2K所應該具有的功能。當你瞭解到了裡面一些工具的效能以後,你將會知道即使僅僅只是一個C2級的操作系統也具有相當的安全性,對於細心配置的系統,攻擊也只能傷其表面。但是,但是任何東西都有他的兩面性,ResKit就非常具有代表性,在Hacker群體中大家習慣把這個玩意叫做「Hacker的工具箱」。當然如果你想當一個Hacker你得掌握裡面的東西,而想當一個好的administrator你也得掌握裡面的東西。希望大家都可以好好看看。想下載的話可以去htp://www.54bb.com/hack看看,那裡有NT4和2000的各種版本。一般我推薦下載2000完整版,因為裡面的東西是最全的,即使最全的啦,也還是少了太多東西了。

這個介紹的內容將會盡量多的寫,但是個人能力有限,有什麼問題大家趕快提出來進行改正和充實。

第一部分:管理你的電腦
1. Appsec.exe (Application Security)
Appsec.exe是一個關於GUI的應用程式,它允許管理員在一個多用戶環境下限制普通用戶訪問一組網路上經預訂的應用程式。啟用這種應用程式安全性,將會導致系統拒絕普通用戶執行或使用一個未經許可的應用程式。大家 看這是不是一個很有用的工具呢?對某些特定的程序進行限制以後,可以減少一些Hacker入侵的可能,下面我們 繼續討論。
對於2000來說一個顯著的特點就是引入了GPO(Group Policy)這種東西,實際上就是一個界面化了的註冊表編輯器,但是因為GPO的存在2000大大提高了他的安全性。一般來說,我們可以通過配置GPO從啟動功能表和桌面 上隱藏一個應用程式,但是不能禁止用戶用其它手段訪問它,Appsec增加了這種安全性,可以禁止用戶執行套用 程序甚至是從指令行模式或者使用其他的應用程式。Microsoft的建議是和GPO一起使用,放在Terminal Server上執行或者說是在應用程式執行的電腦上使用。Appsec對於應用程式的限制還算嚴格,除了應用程式的名稱以外還要包括該應用程式的全路徑,只有二者都附和才能夠執行。

下面提幾點注意:
a. 只有管理員或管理員組的成員可以執行所有程式,用戶(包括PowerUser組)只能執行列表中的應用程式。
b. Appsec第一次啟用時,Terminal Server的會話必須中斷,否則Appsec將不能在本次會話中啟用。
c. 實際上Appsec只能限制使用CreateProcess方法的應用程式,不能限制使用NTCreateProcess方法的程序,但是這種程序非常的少見。
d. Appsec只能限制32位的程序,但是在預設情況下,一旦啟用appsec任何對16位程序的訪問都是禁止的,但 是可以增加ntvdm.exe來使16位程序可以被訪問。
e. 我想這個也是Appsec最大的缺點,Appsec並不對程序本身進行檢查,也就是所如果將該有效程序進行替換 的話,Appsec不會發現。所以說我們必須禁止用戶替換和重命名應用程式,這可以用Security Template來做。
f. 還有Appsec只可限制可執行文件,不可以是DLLs。
g. Appsec的使用是對於電腦的,也就是說一經啟用使用本機的用戶都要受到限制。

另外,應該要提到的一點是,按照Microsoft的要求,Appsec的列表中至少應該有:
\Wtsrv\explorer.exe
\Wtsrv\system32\cmd.exe
\Wtsrv\system32\net.exe
\Wtsrv\system32\regini.exe
\Wtsrv\system32\subst.exe
\Wtsrv\system32\systray.exe
\Wtsrv\system32\xcopy.exe
這麼幾項。

當然啦!你去掉也是可以的,但是會造成用戶難以正常使用。嗯,以我個人的建議,如果你想防止Hacker入侵去掉net.exe會有意想不到的收穫,呵呵!cmd.exe也是不錯的選項,如果不想管理員以外的任何人訪問就統統去掉就好,後果你們試試就知道了。

p.s. 這個程序所需要的文件Appsec.exe(這個倒是在),Appsec.hlp(這個也在),但是Appsec.dll,
psec.cnt,Instappsec.exe並沒有包括在Resource Kit裡面,要去網站上自己下載!!這簡直是搞笑嘛!也只有Microsoft幹得出來。你可以在這個地方下載這個hotfix:
http://download.microsoft.com/downlo...以用了。 啟用以後,換個用戶(不是管理員組)登入本機隨便點個應用程式,你就可以看到Access to specified device, path or file is denied的警告,很厲害的,哈哈!

2. 快取mov.exe (Offline Files 快取 Mover)
快取mov.exe一個有趣的東東,用來移動離線文件的緩衝(預設儲存在根磁碟區下),如果你覺得那東西在那個地方礙的你事的話,把它挪個地方也沒有什麼問題。這個工具比較簡單就不再多說什麼了,就一個GUI,然後選項 一個磁碟區,它就自動幫你做完了,很簡單。你也可以使用無人值守模式 cachemov -unattend x:\ 電腦自己搞 定,此時需要(Cchmvmsg.dll)。所有的結果會儲存至應用程式日誌。 只是注意一下,執行時需要管理員的身份,還有就是不能夠移動到網路驅動器和可移動驅動器上去。移動以後不要改letter,不然你會有麻煩的!

3. Defptr.exe (Default Printer)

如果你閒著沒有事的話,可以用用這個東西。它允許你隨意改變你的預設列印機,可以在可用的網路和本機列印機間交換,一旦執行以後會在右下角有個小圖示(如果不想看到圖示可以使用defptr -i), 這個東西可能對漫遊用戶會有一點好處吧!

4. Delprof.exe(User Profile Deletion Utility)

刪除用戶的Profile時用的工具,本來這個是可以在System Properties裡面做的。而這個工具可以在本機或是遠端執行,看起來的好處就是可以指定多長時間不使用就刪除,在處理比較多的用戶的時候才顯得出好處來,就那麼個把的話,就自己做好了。稍微介紹一下語法好了。

delprof /q /i /p /c:\\computername /days /?

/q 後台悄悄執行,不用驗證。
/i 忽略錯誤繼續刪除。
/p 在刪除前提示驗證。
/c:\\computername 這個不用解釋了吧?
/days 指定多少天不使用的Profile就刪除,days用整數。
/? 出現上面這些東東。

5. DelSrv.exe (Delete Service)
一個拿來刪除服務用的工具,使用起來非常簡單,只要delsrv servicename就可以了。沒有什麼好說的。

6. Dureg.exe (Registry Size Estimator)
這是一個用來評估你的註冊表儲存了多少資料的工具,可以從任何一個hive,subtree和subkey中讀出。另外,這個工具還可以用來搜尋註冊表中的text字串串,這種搜尋還可以具體到某個subtree中。
這個工具主要用於得出註冊表具體佔用空間,對於開發人員和管理員來說都是一個非常有用的工具。雖然我們可以使用控制台中的System選項和系統監視器中的Registry Quota in Use來監視註冊表,但是如果你只想知道某個單獨的Key或者是Subkey所佔用的空間,上面這些工具就無能為力了。

語法:
dureg /cr /cu /u /lm /a /s│/d "registry_path" "string to search"

/a
表示搜尋整個註冊表的大小。
dureg /a
Size of HKEY_CLASSES_ROOT : 7740324
Size of HKEY_USERS : 995732
Size of HKEY_LOCAL_MACHINE : 17265663
Total Registry data size: 26001719

/cr "registry_path"
預設情況下,返回的是HKEY_CLASSES_ROOT的大小。

/cu "registry_path"
預設情況下,返回的是HKEY_CURRENT_USER的大小。

/lm "registry_path"
預設情況下,返回的是HKEY_LOCAL_MACHINE的大小。

/u "registry_path"
預設情況下,返回的是HKEY_USERS的大小。

以上四個選項都可以在 "registry_path"中填入該Subkey下的任意key。比如:
dureg /lm "software\microsoft",搜尋HKEY_LOCAL_MACHINE\Software\Microsoft key的大小。

/s "string"
在註冊表中搜尋該字串串。比如:
dureg /s "run" 尋找和run相關的字串串。當然你也可以和/cr等這幾個參數一起使用,比如:dureg /cr

/s "run"。
會看到一大串顯示,這裡就不寫出來了。

7. Elogdmp.exe (Event Log Query Tool)

一個指令行工具用來匯出選定的日誌中的信息。這是在螢幕上進行顯示,最好和Find或者是Findstr這樣的工具一起使用,不然太難找到了。

語法:

elogdmp -? computername eventlogtype

eventlogtype有Application, Security,System三種。

比如: elogdmp hello application

這個工具可以遠端使用,但是需要域管理員組或者是本機管理員組的成員才可以使用。

8. Instsrv.exe (Service Installer)
Instsrv.exe一個指令行工具可以用來安裝或者是刪除可執行服務(.exe),當然也可以給它們分配名字的
語法:

instsrv Servicename pathtoexecuteable -a accountname -p accountpassword or Servicename remove

ServiceName
用來顯示的名字,比如Alerter。

PathToExecuteable
要安裝服務文件的全路徑,包括磁碟代號在內。

-a accountname
指定服務執行的帳戶。

-p accountpassword
帳戶的密碼。

servicename remove
指定你想移出的服務。

比如:你想安裝一個bbb.exe作為一個bbb的服務。
instsrv bbb "c:\program files\bbb.exe"
預設情況下,我們安裝的服務是沒有啟動的,需要啟動。而有些時候需要插入相應的註冊表項。

如果想指定這個服務在某個用戶下執行:
instsrv bbb "c:\program files\bbb.exe -a hello\bbb -p xxx"
that's OK!

如果要卸在的話: instsrv bbb Remove,注意刪除之前要先Stop。

這裡我們再提到一個工具Srvinstw.exe,這是一個GUI模式的工具,所以用起來非常的簡單,照著提示一步步做就可以了。它和Instsrv.exe的區別是這個東東可以在遠端電腦上安裝服務。它們都需要administrator 的特權,請記住。

9. intfiltr.exe (Interrupt Filter)
這是一個在多CPU環境下用來調整CPU之間中斷關係的工具,可以用來測試最最佳化的方案。我沒有2個這種東西,這個程序就沒有進行測試了!那個有的話,幫我試試,告訴我結果。我把它補全。

10. Inuse.exe (File-In-Use Replace Utility)
一個指令行工具可以用來替換被鎖定的操作系統檔案,比如一些重要的DLL文件。這些文件會在下一次啟動的時候被替換,根據微軟的說法,這種替換會在下一次啟動的Autochk完成之後,新增Paging Files之前。基本上來說,這個一個偵錯用的工具。該程序需要管理員身份執行。

語法:
insuse -? source destinaion /y

source
你想用來替換的文件。可以使用完整的物理路徑或者是UNC路徑。

destination
你要替換的文件。

/y
表示確定。

如果你想用一個遠端文件來替換一個本機存在的文件可以使用下面的方法。
inuse \\hello\winnt\abc.dll c:\winnt\abc.dll /y

11. Javareg.exe (Java/COM Registration Utility)
指令行工具可以用來註冊Java classes,鄙人不懂Java這種高深的東西,連什麼是classes都不知道,沒有辦法了,這一塊就只好%¥&………了,不好意思。有懂的人幫一下忙好了,呵呵!!

12. Netsvc.exe (Command-line Service Controller)
一個指令行工具,用來控制服務,和SC比較類似,但是在功能上要比後者少很多!用這個工具基本上可以進行遠端啟動,停止,暫停,繼續服務或者查詢一個服務的狀態。基本上只要你是一個普通用戶就可以執行這個指令, 當然如果要啟動和停止的話,就需要相應的權限了。 當然和SC相比Netsvc有很大的局限性,所以在這裡我多說一點和服務有關的東西。在Win2k雖然你可以對各種服務進行查詢,但是並不是所有的服務都可以直接關閉,比如Workstation這個服務,但奇怪的是Workstation這個服務有些時候會莫名其妙的丟失,至今我還不知道原因,一旦丟失以後基本上就 需要重裝了。我們繼續話題,當一個用戶有許多活動的連接存在的時候,你只可以查詢或者是暫停該服務,而不能遠端強迫服務停止。而如果有服務依靠別的服務才能執行的時候,我們也不能直接停止該服務。舉一個簡單的例子,Clipbook服務需要Network DDE服務才能執行,我們必須先停止CilpBook才能停止Network DDE。

這裡還要提到另外一種狀況,就是當你停止一個不可以停止的服務的時候Netsvc會報告Service is running ,而該服務不能停止的原因有很多種,但是Netsvc並不會報告給你,太慘了!!此外,當一個服務不能被暫停的時候,這個鬼東西仍然會報告給你說Service is running,唉!所以說最好使用SC。

語法:
netsvc command servicename \\computername /?│/help
command可以是以下幾個指令:

/list
列出已經安裝的服務,這個時候不使用servicename。

/query
查詢一個服務的狀態。

/start, /stop, /stop, /continue
這幾個指令就不用解釋了吧?字面意義都已經很清楚了。

最後舉兩個例子吧!如:

netsvc /list \\hello
netsvc /query \\hello "Alerter"
netsvc Alerter \\hello /pause

更進一步具體的內容可以在SC那裡看到,這裡不再多說。

13. Now.exe
Reskit裡面比較無聊的指令之一,可以在STDOUT(Standard output)上輸出一個帶時間戳的東東。有點像ECHO指令。舉例說明算了:
當我們打入ECHO bbb的時候,螢幕會顯示bbb
C:\>echo bbb
bbb
但是當我們用Now bbb的時候,會輸出:
C:\>now bbb
Sat Feb 16 22:31:34 2002 -- bbb
這種東西,不知道有什麼用,呵呵!

14. Pathman.exe
一個指令行工具可以修改系統路徑和用戶路徑,當然這個工具還可以用來檢查路徑中的錯誤,有多餘的頭部分號,尾部分號,多個連接得分號,重複的增加和刪除,增加重複的路徑或是移出一個不存在的路徑等等,但是不檢查路徑的有效性。 2K保留了兩套路徑,一個是統一的全局系統路徑,另一組是每個用戶個別的用戶路徑,當然為了保證相容性,2000仍然保留了從Autoexec.bat裝入路徑。每個用戶可以修改自己的用戶路徑,而只有管理員可以修改系統路徑,為了方便操作,微軟就搞出了這個Pathman。

語法:

pathman /as /au /rs /ru path

/as
增加分號隔開的系統路徑。

/au
增加分號隔開的用戶路徑。

/rs
刪除分號隔開的系統路徑。

/ru
刪除分號隔開的用戶路徑。
當修改完成以後,Pathman會廣播信息給所有的頂端視窗提醒它們環境被改變了,這將會導致應用程式昇級它們的環境,獲得經修改的路徑。

舉例說明:

增加c:\temp;C:\users\name;d:\utils為用戶路徑,當然,只是在它們不存在的時侯才增加。這個結果你可以在System properties的Environment Variable中看到。上面一欄是user的變數,下面是系統變數。

實際上這個工具也有個好處就是增加和刪除可以同時操作,你可以:
pathman /au C:\users\name /ru c:\users\name 呵呵!不過沒有什麼意思!

15. Ptree.exe(Process Tree)
該程序可以允許你在本機或者是遠端查詢工作樹,同樣也可以Kill它們。2000預設情況下,允許Local Administrators, Power Users, Users查詢這些樹,但是只有Local Administrators和Power Users可以Kill工作。
就這個工具而言,它有這麼幾部分組成ptreedrv.sys(kernel-mode驅動程式),ptreesvc.exe和 ptreesvcps.dll(2000的服務的程序,就是所ptree是需要在該電腦上安裝一個服務),Ptreesvr.dll(COM+服務端),ptree.exe(控制台客戶端),Ptreeg.exe(GUI客戶端,推薦使用這個,在DOS底下看到的東西太少,也不好看,還是GUI爽!而且還可以同時管理多台計算,不錯吧!我是挺喜歡的,比Ctrl+Alt+Del出來的那個東西要好得多!)
這個程序並沒有和Reskit一起安裝,而實在Reskit的目錄下產生一個名為Ptree的目錄,底下有個ptree.msi,要點擊安裝。同時由於這是一個關於COM+的程序,而安裝ptreeCOM的時侯,需要MSDTC服務,注意不要把它關了,不然會導致ptree不能正常執行,而且只會提示不能找到服務,後來是查了錯誤日誌才發現的,微軟坑人 !。我就因為這個弄了好一陣子,呵呵! 使用嘛,很簡單,GUI就不用說了,都有提示,說一下指令行模式吧!

ptree -c computer -k│-kt process -?│/?

-c computer
當要管理的是遠端主機的時侯才需要用的這個參數,如果是本機就不要啦,直接ptree就可以了。
-k process
幹掉後面指定的工作。
這裡的process可以是工作的名字也可以是PID。
-kt process
可以幹掉整整一棵樹。

舉例: ptree -c hello 然後出來一大串東西,自己看吧!

16. pulist.exe
指令行工具,和上面那個東西有點類似,和Tlist也有一點像(這東西在Support Tools裡面)但是pulist.exe多一點點好處,可以顯示出工作和用戶之間的關係。比如:
C:\>pulist

Process PID User
Idle 0
System 8
smss.exe 156 NT AUTHORITY\SYSTEM
csrss.exe 176 NT AUTHORITY\SYSTEM
winlogon.exe 172 NT AUTHORITY\SYSTEM
services.exe 228 NT AUTHORITY\SYSTEM
lsass.exe 240 NT AUTHORITY\SYSTEM
svchost.exe 428 NT AUTHORITY\SYSTEM
spoolsv.exe 452 NT AUTHORITY\SYSTEM
msdtc.exe 480 NT AUTHORITY\SYSTEM
tcpsvcs.exe 604 NT AUTHORITY\SYSTEM
svchost.exe 620 NT AUTHORITY\SYSTEM
llssrv.exe 644 NT AUTHORITY\SYSTEM
nspmon.exe 712 USER1-COMPUTER1\NetShowServices
nscm.exe 724 USER1-COMPUTER1\NetShowServices

當你的電腦有多個處理器時,需要判斷安全上下關係的時侯這個工具的用處就體現出來了!如果是遠端操作的時候就多加一個pulist \\server就可以了。而且可以順序顯示多個站點pulist \\server \\server………, 但是這個時侯會不顯示User。
當你需要專門搜尋一個已知的工作的時候,可以用這樣的方法來簡化搜尋:
pulist │ find "string"

比如,過去老的pwdump2需要知道LSASS的PID,我們可以這樣做:

c:\>pulist │ find "LSASS"
LSASS.EXE 252 NT AUTHORITY\SYSTEM
然後使用252來執行pwdump2………

17. Reducer.exe (Reduce Trace Data)
這個東西是一個指令行的事件追蹤工具,可以用來處理Tracelog(後面會提到這個工具)產生的記錄,形成每個線程,每個工作的工作量記錄。
實際上呢,Reducer就是一個用來進一步分析工具,比如TraceDump(後面提到)可以允許你對一個追蹤日誌進行摘要,而Reducer則允許你進行拆分獲得更多的細節,諸如:
事務統計表:回應時間,每秒的事務數,每個事務的磁牒讀寫,每個事務的網路流量,CPU的使用(包括核心和用戶空間)。
映像統計表:事務有關的每個工作,每個工作相關的線程,每個工作的CPU使用(包括kernel和user),每個工作的磁牒讀寫,每個工作的網路流量。
磁牒信息:總的磁牒讀寫,每個工作的磁牒讀寫。
OK,接下來介紹一下語法。
語法非常簡單:

reducer -out filename -h│-help│-?

-out filename
輸出的文件的名字,預設是Workload.txt

舉例:這裡我已經事先使用Tracelog產生了一個logfile.etl,然後,
reducer -out my_workload.txt c:\logfile.etl就行了。

+------------------------------------------------------------------------------+
│ WINDOWS 2000 Capacity Planning Trace

│ Version : 2128

│ Type : Default

+------------------------------------------------------------------------------+


│ Build : 2195

│ Processors: 1

│ Start Time: 17 Feb 2002 23:14:17.430
│______________________________________________________________________│ │
│ End Time : 17 Feb 2002 23:14:38.550

│ Duration : 21 Sec



│ Trace Name: NT Kernel Logger

│ File Name : C:\LogFile.Etl

│ Start Time: 17 Feb 2002 23:14:17.430
│______________________________________________________________________│ │
│ End Time : 17 Feb 2002 23:14:38.550

│ Duration : 21 Sec



+-------------------------------------------------------------------------------+


+-------------------------------------------------------------------------------+
│ Transaction Statistics

+-------------------------------------------------------------------------------+
│ Transaction Sort Trans Response Transaction Disk/Trans Tcp/Trans │
│ Key Time(ms) Rate/sec Reads Writes Sends Recieves │
+-------------------------------------------------------------------------------+
+-------------------------------------------------------------------------------+


樣式大概會是這樣的。

18. Regback.exe (Registry Backup)
一個註冊表制作備份用工具,允許你在系統執行期間對註冊表進行制作備份。我想當你需要測試一個軟體時,最好先制作備份一下註冊表。在使用這個程序時,至少需要備份檔案和資料夾的權限。Regback.exe在執行的時侯需要使用Replacekey函數。

語法:

regback destination_dir filename hivetype hivename more│/?

destination_dir
備份檔案的位置

filename
要創立的文件

hivetype
machine或者是users

hivename
HKLM或者HKLU

這裡提幾點注意:

Regback可以制作備份整個註冊表hive(你可以理解為一個file,比如HKEY_USERS\Default在硬碟上實際上就是%SYSTEMROOT%\SYSTEM32\CONFIG\DEFAULT\DEFAULT.LOG)還包括了ACLs(Access control lists),所以你也可以用這個東東發現和以前不同的ACLs。 Regback不能自動制作備份Config資料夾以外的文件,你要手動進行,這是為了避免名字衝突。如果當前註冊表並沒有開啟的hive需要自己用Xcopy.exe或者是Scopy.exe拷貝。另外,沒有裝入的Hive也要自己弄。如果出錯的話,Regback會在第一次的時候就停止工作。它也不能覆蓋存在的文件,會報錯。還有如果空間不合適的話,制作備份就不能進行,所以最好先制作備份到硬碟上,然後再拷貝到磁牒上儲存。

舉兩個例子吧!

制作備份全部活動的Hives

C:\>regback c:\backup
saving SECURITY to c:\backup\SECURITY
saving SOFTWARE to c:\backup\software
saving SYSTEM to c:\backup\system
saving .DEFAULT to c:\backup\default
saving SAM to c:\backup\SAM

***Hive = '\REGISTRY\USER''S-1-5-21-1177238915-1383384898-1957994488-500'
Stored in file '\Device\HarddiskVolume1\Documents and Settings\Administrator''NTUSER.DAT'
Must be backed up manually
regback users S-1-5-21-1177238915-1383384898-1957994488-500
***Hive = '\REGISTRY\USER''S-1-5-21-1177238915-1383384898-1957994488-500_Classes'
Stored in file '\Device\HarddiskVolume1\Documents and Settings\Administrator\Local Settings\Application Data\Microsoft\Windows''UsrClass.dat'
Must be backed up manually
regback users S-1-5-21-1177238915-1383384898-1957994488-500_Classes

你看,連SAM都可以制作備份,對於破解SAM,也是有非常大的用處的。

下面是制作備份指定的User的Profile
C:\>regback c:\backup\administrator.bku users s-1-5-21-1177238915-1383384898-1957994488-500
saving s-1-5-21-1177238915-1383384898-1957994488-500 to c:\backup\administrator.bku

這裡用的是SID比較特別,只是用起來太麻煩了,輸那麼多數字,呵呵!

最後是做一個網路制作備份,也是一個批量指令碼。

注意使用Schedule服務一起搭配。前面提到過regback不能覆蓋文件,一旦有重名的文件將會導致錯誤的發生 。

echo on
rem ... Name: doback.bat
rem ... Purpose: Network backup for Registry files
rem ... Process: Connect to backup share, delete old backup files, copy over new backup files
rem ... Before using this batch file, create a share containing the following

directories: backup, config. Set permissions on this share so that appropriate users
can run this script.
net use \\myshare\backup
rem --> delete old backups; regback will not copy over an existing file
echo y│del

24. Sc.exe (Service Controller Tool)
幹好一年以前就寫過這個東西介紹了。大家再看一遍吧!:s
我們知道在MStools SDK,也就是在Resource Kit有一個很少有人知道的指令行軟體,SC.exe,這個軟體向所有的Windows NT和Windows 2000要求控制他們的API函數。我們可以在指令行裡通過對這些函數設定參數的方式來設定他們(API)。SC.exe也可以顯示服務的狀態,同時也可以從狀態結構區域裡重新找到存儲在裡面的數值。它還可以列出遠端電腦的服務函數或者是服務狀況結構。SC.exe這個開發工具至少可以比服務控制台程序和網路指令行界面(net.exe,這個東西可以告訴你一個服務是在執行中,還是停止,還是暫停。)這兩個東西提供更多的細節和準確的信息。雖然上述兩個東西在正常工作的情況下,對於完整的偵錯是非常好用的,但是如果有新的服務,或者新的程式碼被開發出來的時候,這兩個工具提供的信息可能造成誤導。這也就是我們需要用到SC的原因。

下面舉列說明,如果在開發階段,你的服務在掛住在一個start-pending的時候,控制台和net.exe同樣報告服務是在執行的。但它掛在一個stop-pending的時候,net.exe報告它執行,而控制台著報告它停止,如果你試著 啟動它,這是控制台則會告訴你這個服務正在執行。難道這不是很困惑嗎?呵呵!

SC.exe可以讓你詢問服務的狀況和取出存儲在狀態結構區域內的數值,控制台和net.exe不提供服務完整的狀況 。但是無論如何,SC程序可以告訴你這個服務準確的情形,同樣也可以給你看最後的checkpoint數和等待提示。

這個checkpoint,我叫它檢查點(我覺得他就像一個程序偵錯時置的斷點),所以我們也可以把看作為一個偵錯工具,因為它可以提供一個關於在程序停止時還要沿著啟始化繼續前進多久準確報告。

SC.exe也可以允許你使用很多的服務控制API函數,可以讓你從指令行裡改變大量的參數。這位服務開發者們提供了很多的優勢。例如,它提供了一個方便的方式來新增或者在註冊表和服務控制管理資料庫中配置服務信息。開發者們不需要在手動的在註冊表裡單獨的設定鍵值來配置服務,也不用重新啟動機器來強迫服務控制管理資料庫昇級 。

作為一個指令很工具,SC.exe可以用來測試你自己的系統,你可以設定一個批次處理文件來使用不同的參數使用SC.exe來控制服務。這個很有用,如果你想看看你的服務不斷的啟動和停止,我沒有試過哦!讓一個服務一下子開啟,一下子關閉,聽上去很不錯的。如果你的服務工作裡面有多個工作的話,你可以保持一個工作繼續執行不讓它走開,然後讓另一個不斷的開啟在關閉,還可以尋找一下記憶體缺乏導致不完全清楚的證據。

下面介紹SC,SC QC,and SC QUERY
SC使用這樣的語法:

1. SC [Servername] command Servicename [Optionname= Optionvalue]

2. SC [command]

這裡使用第一種語法使用SC,使用第二種語法顯示說明 。

下面介紹各種參數。

Servername
可選項:可以使用雙斜線,如\\myserver,也可以是\\192.168.0.1來操作遠端電腦。如果在本機電腦上操作就不用增加任何參數。

Command
下面列出SC可以使用的指令。

config 改變一個服務的配置。(長久的)

continue 對一個服務送出一個繼續控制的要求。

control 對一個服務送出一個控制。

create 新增一個服務。(增加到註冊表中)

delete 刪除一個服務。(從註冊表中刪除)

EnumDepend 列舉服務的從屬關係。

GetDisplayName 獲得一個服務的顯示名稱。

GetKeyName 獲得一個服務的服務鍵名。

interrogate 對一個服務送出一個詢問控制要求。

pause 對一個服務送出一個暫停控制要求。

qc 詢問一個服務的配置。

query 詢問一個服務的狀態,也可以列舉服務的狀態類型。

start 啟動一個服務。

stop 對一個服務送出一個停止的要求。

Servicename

在註冊表中為service key制定的名稱。注意這個名稱是不同於顯示名稱的(這個名稱可以用net start和服務控制台看到),而SC是使用服務鍵名來鑒別服務的。

Optionname

這個optionname和optionvalue參數允許你指定操作指令參數的名稱和數值。注意,這一點很重要在操作名稱和等號之間是沒有空格的。一開始我不知道,結果………………,比如,start= optionvalue,這個很重要。
optionvalue可以是0,1,或者是更多的操作參數名稱和數值對。

如果你想要看每個指令的可以用的optionvalue,你可以使用sc command這樣的格式。這會為你提供詳細的說明 。

Optionvalue

為optionname的參數的名稱指定它的數值。有效數值範圍常常限制於哪一個參數的optionname。如果要列表請用sc command來詢問每個指令。

Comments

很多的指令需要管理員權限,所以我想說,在你操作這些東西的時候最好是管理員。呵呵!

當你鍵入SC而不帶任何參數時,SC.exe會顯示說明 信息和可用的指令。當你鍵入SC緊跟著指令名稱時,你可以得到一個有關這個指令的詳細列表。比如,鍵入sc create可以得到和create有關的列表。

但是除了一個指令,sc query,這會匯出該系統中當前正在執行的所有服務和驅動程式的狀態。

當你使用start指令時,你可以傳遞一些參數(arguments)給服務的主函數,但是不是給服務工作的主函數。
SC create
這個指令可以在註冊表和服務控制管理資料庫建立一個入口。

語法1
sc [servername] create Servicename [Optionname= Optionvalue]

這裡的servername,servicename,optionname,optionvalue和上面的一樣,這裡就不多說了。這裡我們

詳細說明一下optionname和optionvalue。

Optionname Optionvalue
描述type= own, share, interact, kernel, filesys
關於建立服務的類型,選項值包括驅動程式使用的類型,預設是share。

start= boot, system, auto, demand, disabled
關於啟動服務的類型,選項值包括驅動程式使用的類型,預設是demand(手動)。

error= normal, severe, critical, ignore
當服務在匯入失敗錯誤的嚴重性,預設是normal。

binPath= (string)
服務二進制文件的路徑名,這裡沒有預設值,這個字串串是必須設定的。

group= (string)
這個服務屬於的組,這個組的列表儲存在註冊表中的ServiceGroupOrder下。預設是nothing。

tag= (string)
如果這個字串串被設定為yes,sc可以從CreateService call中得到一個tagId。然而,SC並不顯示這個標籤,所以使用這個沒有多少意義。預設是nothing

depend= (space separated string)有空格的字串串。
在這個服務啟動前必須啟動的服務的名稱或者是組。

obj= (string)
帳號執行使用的名稱,也可以說是登入身份。預設是localsystem

Displayname= (string)
一個為在用戶界面程序中鑒別各個服務使用的字串串。

password= (string)
一個密碼,如果一個不同於localsystem的帳號使用時需要使用這個。

Optionvalue
Optionname參數名稱的數值列表。參考optionname。當我們輸入一個字串串時,如果輸入一個空的引用這意味著一個空的字串串將被匯入。

Comments
The SC CREATE command performs the operations of the CreateService API function.
這個sc create指令執行CreateService API函數的操作。詳細請見CreateService。

例1

下面這個例子在一台叫做(\\myserver)的電腦上為一個叫「NewService」的服務建立的一個註冊表登記。
sc \\myserver create NewService binpath= c:\winnt\system32\NewServ.exe

按照預設,這個服務會建立一個WIN32_SHARE_PROCESS使用SERVICE_DEMAND_START啟動方式。這將不會有任何從屬關係,也將會按照localsystem安全上下關係來執行。

例2

下面這個例子將在本機電腦上,建立一個服務,它將會是一個自動執行服務,並且執行在他自己的工作上。它從屬於TDI組和NetBios服務上。注意,你必須在從屬中間增加一個空格的引用。

sc create NewService binpath= c:\winnt\system32\NewServ.exe type= own
start= auto depend= "+TDI Netbios"

例3

服務開發者可以通過臨時改變二進制路徑(影像路徑)的方式來將這個服務執行在內核偵錯器的上下關係中。下面這個例子就可以讓我們看到如何改變服務的配置。

sc config NewService binpath= "ntsd -d c:\winnt\system32\Newserv.exe"
這個例子會引起服務控制管理器使用ntsd.exe使用下例的參數字串串:
"-d c:\nt\system32\NewServ.exe"

當系統裝入newserv.exe時ntsd將會轉而打斷偵錯器,所以斷點可以被設定在服務程式碼裡。

SC QC

這個SC QC「詢問配置」指令可以列出一個服務的配置資訊和QUERY_SERVICE_CONFIG結構。

語法1
sc [Servername] qc Servicename [Buffersize]

Parameters
servername和servicename前面已經介紹過了,這裡不再多說。

Buffersize,可選項的,列出緩衝區的尺寸。

Comments

SC QC指令顯示了QUERY_SERVICE_CONFIG結構的內容。

以下是QUERY_SERVICE_CONFIG相應的區域。
TYPE dwServiceType
START_TYPE dwStartType
ERROR_CONTROL dwErrorControl
BINARY_PATH_NAME lpBinaryPathName
LOAD_ORDER_GROUP lpLoadOrderGroup
TAG dwTagId
DISPLAY_NAME lpDisplayName
DEPENDENCIES lpDependencies
SERVICE_START_NAME lpServiceStartName

例1

下面這個例子詢問了在上面例子中建立的「NewService」服務的配置:

sc \\myserver qc NewService

sc顯示下面的信息:

SERVICE_NAME: NewService
TYPE : 20 WIN32_SHARE_PROCESS
START_TYPE : 3 DEMAND_START
ERROR_CONTROL : 1 NORMAL
BINARY_PATH_NAME : c:\winnt\system32\NewServ.exe
LOAD_ORDER_GROUP :
TAG : 0
DISPLAY_NAME : NewService
DEPENDENCIES :
SERVICE_START_NAME : LocalSystem

NewService有能力和其他的服務共享一個工作。但是它不是自動啟動的。二進制檔案名是NewServ.exe。這個服務不依靠與其它的的服務,而且執行在lcoalsystem的安全上下關係中。這些都是使用QueryServiceStatus基本的返回,如果還需要更多的細節屆時,可以看看API函數文件。

SC QUERY

SC QUERY指令可以獲得服務的信息。

語法:
sc [Servername] query { Servicename │ Optionname= Optionvalue... }

參數:

servername, servicename, optionname, optionvalue不在解釋。只談一下這個指令提供的數值。

Optionname Optionvalue
Description

type= driver, service, all
列舉服務的類型,預設是service

state= active, inactive, all
列舉服務的狀態,預設是active

bufsize= (numeric value)
列舉緩衝區的尺寸,預設是1024 bytes

ri= (numeric value)
但開始列舉時,恢復游標的數字,預設是0

Optionvalue
同上。

Comments

SC QUERY指令可以顯示SERVICE_STATUS結構的內容。

下面是SERVICE_STATUS結構相應的信息:
TYPE dwServiceType
STATE dwCurrentState, dwControlsAccepted
WIN32_EXIT_CODE dwWin32ExitCode
SERVICE_EXIT_CODE dwServiceSpecificExitCode
CHECKPOINT dwCheckPoint
WAIT_HINT dwWaitHint

在啟動電腦後,使用SC QUERY指令會告訴你是否,或者不是一個啟動服務的嘗試。如果這個服務成功啟動,WIN32_EXIT_CODE區間會將會包含一個0,當嘗試不成功時,當它意識到這個服務不能夠啟動時,這個區間也會提供一個退出碼給服務。

例子

查詢「NewService"服務狀態,鍵入:

sc query NewService

顯示一下信息:

SERVICE_NAME: NewService
TYPE : 20 WIN32_SHARE_PROCESS
STATE : 1 STOPPED
(NOT_STOPPABLE,NOT_PAUSABLE,IGNORES_SHUTDOWN)
WIN32_EXIT_CODE : 1077 (0x435)
SERVICE_EXIT_CODE : 0 (0x0)
CHECKPOINT : 0x0
WAIT_HINT : 0x0

注意,這裡存在一個給這個服務的退出碼,即使這個服務部不在執行,鍵入net helpmsg 1077,將會得到對1077錯誤信息的說明: 上次啟動之後,仍未嘗試引導服務。所以,這裡我想說一句,希望大家可以活用net helpmsg,這會對你的學習有很大的說明 。

下面在對SC query的指令在說明一下:

列舉活動服務和驅動程式狀態,使用以下指令:
sc query

顯示messenger服務,使用以下指令:
sc query messenger

只列舉活動的驅動程式,使用以下指令:
sc query type= driver

列舉Win32服務,使用以下指令:
sc query type= service

列舉所有的服務和驅動程式,使用以下指令:
sc query state= all

用50 byte的緩衝區來進行列舉,使用以下指令:
sc query bufsize= 50

在恢復列舉時使用index=14,使用以下指令:
sc query ri=14

列舉所有的交互式服務,使用以下指令:
sc query type= service type= interact

好了,說到這裡。SC指令基本上已經說完了。希望大家好好看看,呵呵!相信會有說明 的!!

25. Scanreg.exe

又是個註冊表工具,有沒有人煩了?我都快煩了,呵呵!

一個註冊表檢查工具,基本上就是一個"registry GREP"。支持搜尋本機或遠端的Win一家老小的註冊表中的任意東西。

scanreg -s string -k -v -d -r key -c -e -n

-s
要搜尋的字串串

-r
開始搜尋的root,預設是HKEY_CURRENT_USER

也可以使用以下的格式:
HKEY_LOCAL_MACHINE === lm
HKEY_CURRENT_USER === cu
HKEY_CLASSES_ROOT === cr
HKEY_USERS === us

-k
查詢鍵。

-v 注意必須指定-k -v -d中的至少一個。
查詢值。

-d
當然是查詢資料。

-c (預設是不敏感)
大小寫敏感。

-e (預設是返回所有合適的)
只返回卻確合適的。

-n
輸出的時候不使用顏色(預設是key紅,values綠,data黃)真不知道微軟的怎麼想的!!看上去怪怪的,還有就是匹配的字串串都高亮標出。

最後來兩個例子:

scanreg -s version -k -v -d

scanreg -s version -kvd <--居然這種獨可以?

scanreg /s version /r \lm\software /kvde 沒有關係,這種都是可以的,呵呵!

scanreg version \\hello\HKEY_LOCAL_MACHINE -d 操作遠端的東東。

26. sclist.exe
可以列出當前執行或者是停止的服務。看看遠端的機器也是功能之一,但是比起SC來說,還是太簡單了!

sclist -r -s MachineName -?

-r
只顯示正在執行的服務。

-s
只顯示已經停止的服務。

Machinename
本機可以不指出。
這個簡單大家自己做做,這裡不舉例了!! ,不要講我偷懶哦!

27. Setx.exe
這個指令行工具提供了一種批量修改環境變數的方法,同時不需要使用任何編程方法或者是指令碼。此外,除了可以獲得變數和值之外還可以跟註冊表的值掛上關係。在2000中除了setx.exe之外,其他沒有任何一種指令行工具可以直接設定系統變數值。只有通過控制台和註冊表編輯器才能夠設定。如果有人說可以用set指令的話, 實際上這個CMD的內部指令只能夠設定當前控制台視窗的用戶環境變數。 setx允許你通過Command Line Mode,Registry Mode,File Mode,這三種模式來設定環境變數。

a. Command-Line
setx variable value -m

variable
要設定的環境變數的名字。

value
要設定的值。

-m
設定電腦環境,預設設定是用戶環境。

b. Registry Mode

setx variable -k hive\key\……\value -m

variable
要設定的環境變數的名字。

-k
指定變數設定會關於註冊表中的信息。

hive\key\……\value
註冊表路徑,如:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation\StandardName

-m
同指令行模式。

c. File Mode

setx variable -f filename -a x,y │ -r x,y "string" -d d -x -m

-f filename
指定使用的檔案名。

-a x,y
指定要搜尋的絕對坐標或者是偏移量。

-r x,y "string"
指定從"string"的相對坐標或者是偏移。

-d d
指定附加的分隔符,後一個d表示,可以是",", "\"等等。系統有四個內建的分隔符是:space, tab,

carriage return, linefeed。附加的可以是任意的ASCII字串。

-x
顯示文件坐標,這個時候-a, -r, -d會變忽略。

-m
在同上。

setx將變數寫入到在註冊表的主環境中去。用setx設定的變數將會在下一次啟動的時候生效,這是2000的局限。當訪問REG_MULTI_SZ時,只能訪問到第一個項目。

目前setx只可以支持HKCU和HKLM兩個hives。用Setx增加的值不可以用setx去掉,可以在控制台裡面改,也可以在註冊表裡面改,這種時候也可以用set把它置空。

但是還是來幾個例子吧!

a.Command Line

Setx MACHINE COMPAQ
在用戶環境中設定MICHINE為COMPAQ。

setx MYPATH %PATH%
設定MYPATH的值為當前PATH變數的值。

setx MYPATH ~PATH~
設定MYPATH總是和PATH環境的值保持一致。

b. Registry

Setx TZONE -k

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation\StandardName
設定TZONE的值為上面的鍵。比如:"Central Standard Time"

Setx BUILD -k "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows

NT\CurrentVersion\CurrentBuildNumber"
設定BUILD的值為當前的Windows NT版本號,如:1314。

c. File
在進行這部分之前先執行ipconfig > ipconfig.out,弄一個ipconfig的文本出來。然後就可以進行操作了

Setx var -f ipconfig.out -x
這個指令會顯示這個文件的內容的坐標。如:

C:\>SETX VAR -f ipconfig.out -x

(1,0 Windows) (1,1 2000) (1,2 IP) (1,3 Configuration)

(3,0 Ethernet) (3,1 adapter) (3,2 Local) (3,3 Area) (3,4 Connection

(5,0 Connection-specific) (5,1 DNS) (5,2 Suffix) (5,3 .) (5,4
(6,0 IP) (6,1 Address.) (6,2 .) (6,3 .) (6,4 .) (6,5 .) (6,6 .) (6,7 .) (6,8 .)
(6,9 .) (6,10 .) (6,11 .) (6,12 .) (6,13 (6,14 192.168.1.1)
(7,0 Subnet) (7,1 Mask) (7,2 .) (7,3 .) (7,4 .) (7,5 .) (7,6 .) (7,7 .) (7,8 .)
(7,9 .) (7,10 .) (7,11 .) (7,12 .) (7,13 (7,14 255.255.255.0)
(8,0 Default) (8,1 Gateway) (8,2 .) (8,3 .) (8,4 .) (8,5 .) (8,6 .) (8,7 .) (8,8.) (8,9 .) (8,10 .) (8,11.)

setx ipaddr -f ipconfig.out -a 5,11

這個指令會尋找絕對偏移為(5,11)的內容,然後設定ipaddr為這個值。如:

C:\>setx ipaddr -f ipconfig.out -a 6,14
Extracted value is: 192.168.1.1

Setx ipgateway -f ipconfig.out -r 0,11 "Gateway"
搜尋Gateway這個字串串偏移0,11的東東,然後寫到ipgateway裡面去。

C:\>Setx ipgateway -f ipconfig.out -r 0,11 "Gateway"
Extracted value is: 192.168.1.244

以上所有的修改都會在重新啟動以後看到,可以用set或者是控制台中的System properties看。

28. showpriv.exe (show Privilege)
一個用來顯示用戶或者是組分配的特權的指令行工具,如果要看domain的相關的東西的話,要在DC上使用。使用起來很簡單,showpriv privilege就行了,如:

C:\>showpriv sesecurityprivilege
1 account(s) with the sesecurityprivilege user right:
BUILTIN\Administrators
All accounts enumerated

這裡主要講一下這個2000的一些privilege。

Privilege,為本機管理員提供了一種手段,可以控制允許什麼人具有什麼權限或者能執行什麼樣的系統操作,如允許交互式登入等等。這裡我們說的特權是指特殊操作所需的權限,如制作備份呀什麼的!一旦授予了某種特權,這些特權就會包括在用戶的安全訪問令牌中。這是一些基本的概念,可以看以下,比較容易明白。
系統為了管理的方便總是為每個本機組分配了相應的特權,而且從來不改變這個特權,這些東東在NT系統上可以分為內裝能力,標準用戶權力,進階用戶權力這麼幾種,但是在2000中標準權利和進階權力已經被用戶特權所取代,只有在為委派而信任電腦和用戶帳戶(SeEnableDelegationPrivilege)和把電腦從dock中移出(SeUndockPrivilege)這兩種情況下可以把NT的權利映射到2000中的特權。注意一下2000的一些問題。並非所有能力都有匹配的權利,因此,不可能用權力完全匹配組的內裝能力。而由於特定組能力的預定義分配和不能把所有能力複製為權力,就難以區分工作,並且只能強制使用最低特權的概念。
那麼在域一級下就缺少一個安全結構,導致了難以授予管理的功能。2000在AD引入後,就允許區分工作,也可授予domain和OU相應的管理層次。

下面來談一下具體的一些用戶特權,應當有26個,也有說28個的。

SeTcbPrivilege
成為OS的一部分允許工作可以像用戶一樣被鑒別,因此可以像用戶一樣訪問相應的資源。只有底層的鑒別服務需要這樣的特權,所以無論是工作站,獨立伺服器,還是DC都沒有把這個設為某人權利。

SeMachineAccountPrivilege
增加工作站到域 為了這個特權可以啟用,必須保證這個用戶在域控制器本機安全原則中的才行。

SeBackupPrivilege
備份檔案和目錄。
允許用戶繞過文件和目錄的權限來做制作備份。只有當應用程式嘗試訪問NTFS制作備份API時才檢查這個特權。預設情況下,這個特權分配給Administrators和Backup Operators。

SeChangeNotifyPrivilege
迴避遍歷檢查。
允許用戶來回移動目錄,但是不能列出資料夾的內容。預設情況下,這種特權被賦予Administrators,
Backup Operators, Power Users, Users ,and Everyone,換句話說就是所有人都有這種權利。

SeSystemTimePrivilege
改變系統時間。
預設情況下Administrators和Power Users有這種權利。

SeCreatePagefilePrivilege
新增分頁文件。
允許用戶新增和改變一個分頁文件的大小。預設情況下,只有Administrators有這個特權。

SeCreateTokenPrivilege
新增令牌對象。
允許工作使用NtCreateToken()或者是其他的Token-Creating APIs新增一個訪問令牌。

SeCreatePermanentPrivilege
新增永久共享對象。
允許工作在2000項目管理器中新增一個目錄對象。

SeDebugPrivilege
偵錯程序。
允許用戶連接一個Debugger來偵錯任何工作。預設情況下Administrators有該特權。

SeEnableDelegationPrivilege
為委派而信任電腦和用戶帳戶。
允許用戶為了委派而改變信任,只有當用戶或者是電腦對該對象的帳戶控制標誌有寫權限的時候可以。

SeRemoteShutdownPrivilege
遠端關閉系統。
Administrators在預設情況下有此特權。

SeAuditPrivilege
產生安全稽核。
允許一個應用程式在安全日誌中,新增,產生,增加一條記錄。

SeIncreaseQuotaPrivilege
增加限額。
允許一個有寫內容的工作利用其他工作從而取得更多的處理器限額,這種特權有利於系統偵錯,但是也有導致DOS的可能。

SeIncreaseBaseProrityPrivilege
增加調度優先級。
允許一個有寫內容的工作利用其它工作來獲得更多的執行優先權。有這種特權的用戶可以在Task管理器中改變一 個工作的調度優先權。預設情況Administrators有該特權。

SeLoadDriverPrivilege
安裝和卸載設備驅動程式。
允許用戶安裝和卸載即插即用設備的驅動程式,不是即插即用的不受這個特權影響,但是只能被Administrators所安裝。因為驅動程式是作為被信任的程序來執行的,這需要很高的特權。而這種特權可能會被用於安裝惡意程序,和破壞性的訪問。預設情況下Administrators有該特權。

SeSecurityPrivilege
管理審計和安全日誌。
允許用戶指定對像訪問的審計。有這種特權的用戶也可以清空安全日誌。預設情況下Administrators有該特權。

SeSystemEnvironmentPrivilege
修改firmware環境變數。
允許用戶使用工作通過一個API來設定系統環境變數,另外,也可以讓用戶使用System Properties來做到以上這一步。預設情況下Administrators有該特權。

SeProfileSingleProcessPrivilege
Profile單一工作。
允許用戶使用效能監視器來監視nonsystem工作。預設情況下Administrators有此特權。

SeSystemProfilePrivilege
Profile系統效能。
允許用戶使用效能監視器來監視system工作。預設情況下Administrators有此特權。

SeUndockPrivilege
將電腦中dock中刪除。
允許用戶使用Eject PC從塢中將電腦移出,預設情況下Administrators, Power Users, Users均有此特權。

SeAssignPrimaryTokenPrivilege
替換一個工作級令牌。
允許一個父工作替換相關的子工作的訪問令牌。

SeRestorePrivilege
恢覆文件和目錄。
允許用戶繞過文件及目錄權限來恢復備份檔案。預設情況下Administrators和Backup Operators有此特權。

SeShutdownPrivilege
關閉系統。
允許用戶關閉本機電腦。預設情況下Administrators, Backup Operators, Power Users, Users都有該特權,但是在2000 Server中Users沒有此特權。

SeSynchAgentPrivilege
同步目錄服務資料。
允許一個工作提供目錄同步服務,這個特權只有在DC上。預設情況下域的Administrators和LocalSystem帳戶有此特權。

SeTakeOwnershipPrivilege
取得文件所有者身份。
允許用戶取得在系統中任何可得到的對象的所有者身份,包括:AD對象,文件,資料夾,列印機,註冊表鍵,工作和線程。預設情況下Administrator有此特權。

以上就是2000的用戶特權了,是不是很多呢?呵呵!

29. Sleep.exe (Batch File Wait)
Sleep可以讓電腦等待一段指定的時間。這個東東對於使用Batch文件會非常有用,在某些情況下也可能會讓AT指令的使用更加方便。

Sleep time

time
要暫停的時間,秒為服務機構。

sleep 20
在執行下一個程序之前等待20s。

假設我們搞這麼一個登入指令碼到電腦上,我想是個不錯的主意。

@echo off
echo 2232002
echo.
echo 不要忘了明天女朋友生日哦!!呵呵!
sleep 60

30. Soon.exe (Near-Future Command Scheduler)
soon這個指令可以讓一個程序在很短的時間裡面啟動,比如幾秒鐘之內。基本上soon就是一個AT的裝配指令,可以簡單的裝配一組合適AT指令來遠端或者是本機啟動一個程序。當然soon使用起來要比AT簡單的多,自然功能也要少一些了。當然soon可以讓一個指令在小於一天的時間內重複啟動,這一點還是很有用的。下面介紹一下如何使用。

soon有兩種指令,一是普通的操作指令,還有就是配置指令。

1. Scheduling Command
soon \\computername delay /interactive "command"
\\computername
指定你要的電腦,遠端使用時要net use。

delay
指定從現在開始到啟動程序的間隔,以秒為服務機構,預設情況下是本機5s,遠端15s。

/interactive
這個和AT指令裡面的interactive是一樣的。基本上可以看作是如果你開啟一個cmd視窗,它會在桌面上跳出來。預設是off的。只有當Schedule服務以LocalSystem身份啟動時才可以Interactive。

command
你想要執行的指令,這裡用雙引號來維持指令解釋時候的空格。

2. Configuration Command
soon /d /l:n /r:n /i: on│off

/d
用這個開關來修改預設配置

/l:n
指定LocalDelay的值。

/r:n
指定RemoteDelay的值。 注意,這些值都是正整數,而且以秒為服務機構。

/in│off
指定預設情況下是interactive還是uninteractive。

如果你想每5分鐘啟動一次一個程序可以寫一個這樣的指令碼。

every5.cmd
soon 300 every5.cmd
xxxx.exe

對於遠端啟動時,使用AT指令不能成功的原因多數是因為AT指令需要指定絕對時間,如果不能搞得太清楚的話,我建議你們使用soon指令,在大部分情況下大家需要AT的功能,soon都可以完成,而且很快。基本上srv.exe 這樣的後門都可以用soon來做。 另外不得不提一點,不知道是我的機器的關係還是這個程序本身的bug,很多情況下soon產生的schedule居然會是tomorrow,這個有點讓人搞不懂。大家可以多試試。

31. Srvany.exe (Applications as Services Utility)
Srvany一個可以讓Windows應用程式像一個服務那樣執行。也就是說在logoff的時候不關閉,也不用在logon的時候重新啟動。也就是就算是沒有人登入這個程序也可以執行,當然電腦得是開著的,呵呵!此外,如果這個應用程式不忽略WM_ENDSESSION或者CTRL_LOGOFF_EVENT時,程序也會因為logoff而退出。srvany是一個為32-bit應用程式設計的,但是用用16-bit也應該沒有多大問題。如果你安裝過srvany服務的話,在昇級或安裝Windows 2000, Windows NT Server, Windows NT Workstation, or applications 時要先disabled。實際上srvany本身就是一個服務,它先把自己啟動起來,然後又在啟動那些配置過的應用程式。就我個人開來這種方法很費力,比起instsrv和srvinstw來說都比較難以使用,最關鍵的是還要手工增加註冊表。下面也就說一下怎麼樣讓一個應用程式像一個服務那樣執行。首先我們要安裝Srvany,可以使用instsrv Myservicec:\path\srvany.exe或者srvinstw照提示做就可以了。這個是必要的,我們需要Srvany來啟動程序。當然為了讓程序像服務一樣執行,我們需要編輯註冊表信息,而且還要選項啟動參數和工作目錄。這裡再次提醒手工操作註冊標有危險性,注意制作備份。

我們只要在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MyService\下
增加一個Parameters子鍵,這裡的MyService是剛剛指定的Srvany的服務名字。
然後再這個subkey底下建立一個應用程式入口,使用REG_SZ類型。
接著在指定程序的全路徑,需要包括副檔名。比如Application: REG_SZ: C:\Tools\srv.exe
為了指定相應的啟動參數我們還得繼續編輯註冊表。
這個時候要在剛剛的Parameters底下接著新增一個AppParameters條目,也是REG_SZ類型。
比如:AppParameters: REG_SZ: C:\tmp\example,當然因為srvany已經被安裝為一個服務了,你也可以在Services面板裡指定。C:\Tools\srv.exe C:\\temp\example。注意,這裡使用\\來表示一個\。
再來就是指定環境變數了。
增加一個AppEnvironment,REG_MULTI_SZ類型。這個東西就是Services面板裡面的Dependencies這一項。
可以根據需要指定,沒有就不需要增加。 還要指定Working Directory。
也是在Parameters裡面建立一個AppDirectory使用REG_SZ。比如:AppDirectory: REG_SZ: C:\Tmp
當然也可以在Services裡面 /D c:\\tmp D:\\Tools\\Vi.exe c:\\tmp\\example。
一個srvany可以啟動一個應用程式,如果你要用srvany而且是多個程序的話,只要採用不同的servicename啟動一個srvany就可以了。如果要刪除可以使用instsrv myservice remove,也可以用sc。
大家可以通過調整以下這幾個註冊表項來為提供相應的訪問。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters\NullSessionShares
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters\NullSessionPipes
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters\RestrictNullSessAccess

32. Srinstw.exe (Service Installation Wizard)
這個安裝服務的工具前面就已經提到過了,而且又是GUI工具,使用起來都照著提示做就可以了,這裡就不再多說什麼,只是注意卸載服務的時候不要把系統重要的服務趕掉就好了。

33. Svcacls.exe (service ACL Editor)
很可惜在這個版本的Reskit裡面缺少了這個程序,非常遺憾不能對它進行測試。
Svcacls是一個可以用來設定服務對象的ACL的指令行工具,基本上就是為了方便administrator進行委派控制而設立的。使用這個工具我們需要administrator特權,當然這個東西也是可以進行委派的。這裡就提醒一點,不要刪除任何服務的adminstrators和system許可,不然的話,你可能就要從裝系統來恢復控制了。

svcacls \\targetcomputer\Service Option
\\targetcomputer\Service
這個不用說了。

Option有以下幾種
G(grant): trustee: Permissions 增加許可。
S(Set): trustee: Permissions 重置許可。
R(Revoke): trustee: 刪除被賦予的explicit permissions。
D(deny): trustee: 拒絕訪問。注意,使用這個指令的時候要很小心,一旦你用了D:everyone,連administrators都沒有權限來訪問這個服務了。

你可以在一行裡面使用這些指令。比如: r:username g:uername:riu。

trustee
你要指定的用戶。

permissions
相應的權限。

有Specific許可和generic許可兩種。

Specific permissions:
Q: Query Service Configuration (SERVICE_QUERY_CONFIG)
S: Query Service Status (SERVICE_QUERY_STATUS)
E: Enumerate Dependent Services (SERVICE_ENUMERATE_DEPENDENTS)
C: Change Service Configuration (SERVICE_CHANGE_CONFIG)
T: Start Service (SERVICE_START)
O: Stop Service (SERVICE_STOP)
P: Pause/Continue Service (SERVICE_PAUSE_CONTINUE)
I: Interrogate Service with ControlService() (SERVICE_INTERROGATE)
U: Allow User-Defined Control Commands (SERVICE_USER_DEFINED_CONTROL)

Generic permissions:
F: Full Control (SERVICE_ALL_ACCESS = QSECTOPIU)
R: Generic Read (GENERIC_READ = QSE)
W: Generic Write (GENERIC_WRITE = C)
X: Generic Execute (GENERIC_EXECUTE = TOPIU)

這個工具為我們提供了一種安全性的選項,禁止對某些服務的訪問,可以避免一些攻擊的發生。

34. Svcmon.exe (service Monitoring Tool)
這個工具可以用來監視本機或者是遠端電腦服務的狀態改變,當它發現一個服務開始或者是停止的時候,這個工具將會通過發e-mail或者是Exchange Server來通知你知道。
這個工具由兩部分組成,Svcmon.exe這個需要你手工拷貝到%SystemRoot%\System32底下,另一個Smconfig 是一個安裝嚮導。由於是圖形界面,所以我就不再多說什麼東西。這裡提醒一下注意,在ExchangeRecipients那裡添如你要提醒的用戶的Email。其他的按照指示做就可以了。

35. Timethis.exe (Time This)
我很喜歡這個工具,這個工具可以用來報告一個程序的執行時間。報告的時間可以詳細到0.001s。連net sue都可以拿來測試。 當然使用起來也很簡單。
timethis commandname
當你在指令中有<, >, >>,|這樣的符號的時候,請使用雙引號,比如:timethis "dir /a > a.txt"
使用以後基本上會出來這麼一個東西。

C:\>timethis dir

TimeThis : Command Line : dir
TimeThis : Start Time : Sun Mar 03 17:45:27 2002

Volume in drive C is WIN2000
Volume Serial Number is 4CE5-8543

Directory of C:\

2002-02-23 22:58
Documents and Settings
2002-02-23 22:49
Inetpub
2002-03-03 11:37
Program Files
2002-03-03 14:15
WINNT
0 File(s) 0 bytes
4 Dir(s) 9,512,271,872 bytes free

TimeThis : Command Line : dir
TimeThis : Start Time : Sun Mar 03 17:45:27 2002
TimeThis : End Time : Sun Mar 03 17:45:27 2002
TimeThis : Elapsed Time : 00:00:00.050

36. Timezone.exe (Daylight Saving Time Update Utility)
微軟真是奇怪,居然在ResKit裡面加入了這樣的東西,一個調整夏令時的工具。我們現在又不用夏令時,沒有多大用處。隨便說說!

timezone /g /s startdate enddate /?

/g
當前的情況。

/s startdate enddate
進行修改,格式是HourayofWeekay:Month

Hour: 00-23
DayofWeek: 0=Sunday 1=monday………
Day指定發生的時間,如果上面是sunday,這裡是1的話,就是該月的第一個星期天。
Month: 1 = January 到12 = December。

37. Tlocmgr.exe (Telephony Location Manager)
一個用來管理TAPI的小程序,允許你方便的改變你的TAPI Location。一旦執行以後會在右下角有一個tray,這個實在沒有什麼好說的。

38. Tracedmp.exe (Trace Dump)
這個工具也是用來處理Tracelog產生的日誌的,和前面的Reducer.exe有相像之處。Tracelog產生的是不容易閱讀的,我們可以使用Tracedmp把它轉換比較容易讀的格式,比如Summary.txt這種內容少一點, 也可以是CSV可以比較詳細。還有tracedmp可以直接從Realtime buffer中直接讀出資料來處理。tracedmp解釋tracelog產生的日誌是通過一個叫mofdata.guid的文件,這文件裡面包含了系統的目錄服務和系統追蹤信息。
如果要處理 其他的資料,必須把相應的信息加入到mofdata.guid中去。

tracedmp option -h│-?

-o filename
輸出CSV和summary文件,預設情況下是dumpfile.csv和summary.txt。這裡的dumpfile.csv包括每一個event的詳細的信息。具體產生的日誌的內容代表的信息我在這裡就不詳細說了,大家可以參看相應的資料。

-guid
MOF定義文件,預設的GUID是mofdata.guid,你也可以進行指定。

-rt
產生一個real-time trace文件。如果要指定這個選項,tracelog必須是在工作的。

-summary
只提供summary.txt文件。一般像這樣用就可以了,Tracedmp c:\logfile.etl。你當然也可以tracedmp -rt ds,來顯示realtime記錄。

39. Traceenable.exe (Trace Enable)
這是一個用來enable/disable RAS/RADIUS記錄的GUI工具。這個工具允許我們修改

HKLM\SOFTWARE\Microsoft\Tracing key下的
EnableConsoleTracing
EnableFileTracing
MaxFileSize
三個subkeys。如果你熟悉註冊表的話,也可以直接修改。圖形界面的工具就不多說了。提一下面板中的幾個選項。

Global
enable console tracing
允許你既時看目錄。

enable pool tagging
開啟system pool標記。

Per Component
enable console tracing
在控制台視窗中顯示日誌跟蹤信息。

enable file tracing
把信息儲存到一個日誌文件中。一般在%windir%\tracing。

max file size
文件的最大尺寸。

如果你是在一台才安裝的電腦中啟用這個這東西話,有些鍵值會不在註冊表中,那就是說在Trace Enable中也看不到,你需要先執行RasPhone。

40. Tracelog.exe (Trace Log)
說了半天終於說到這個tracelog.exe了。這個指令行工具可以開始,停止,啟用跟蹤記錄,這些記錄可以用Tracedmp或者是Reducer來看。tracelog在執行時將建立一個buffer,然後如果有資料進入buffer它可以把這些資料轉換為文件儲存,也可以進行既時的跟蹤,這個時候我們可以用如tracedmp這樣的應用程式讀出buffer中的資料。

tracelog managementoption bufferoption logfileoption Systemleveltracingoption
Provider-specificOption -h│-?
managementOption: Starting, stopping, updating and querying

-guid file
和tracedmp中的是一樣的,都是表示provider的信息。如果開始System tracing可以不用提供Guid,如果是directory service events我們可以指定control.guid。

-start logger_name
開始一個trace會話。你要提供一個日誌名字,如果是一個system trace可以不需要指定,預設的名字為「NT
Kernel logger」。

-stop logger_name
終止trace會話。如果是system trace可以不用指定logger_name。

-update option logger_name
昇級當前的trace會話。這個東西在你想改變檔案的名字,buffer的參數,realtime模式等時候就會被用到。
以下這些option可以在kernel logger中用到。

-rt
模式開關,調整realtime mode。

-f logfile_name
指定新的log文件的名字。

-ft n
改變buffer的重新整理計數器。

-max n
改變buffer的大小。

"-nodisk" "-noprocess" "-nothread" "-nonet" "-fio" "-pf" "-hf" "-img" "-cm"
NT kernel logger的一些標誌。

上面這些調整可以一次進行,如:tracelog -update -rt -max 40。

-x
停止所有活動的會話。

-l
查詢在工作的traces。

-q
只查詢system trace。

BufferOption

-b n
設定buffer的大小為n kb。小的buffer會導致經常重新整理buffer,基本上使用預設就好。

-min n
設定最小buffer,預設是2。

-max n
設定最大buffer,預設是25。

-ft n_seconds
設定重新整理時間。

-age n_minutes
修改老化時間。就是分配的buffer沒有使用,會在多長時間內被釋放。

LogfileOption

-rt b
啟用real time mode。

-f name
日誌的名字。預設是c:\logfile.etl,如果要使用不同的名字用-o filename。

-seq n_mbyte
一直使用到n_mbyte。

-cir n_mbyte
循環使用n_mbyte。

Systemleveltracingoption
為kernel tracing提供更多的選項。
預設情況下kernel tracing包括
Process start/end
Disk I/O
Network TCP/IP, UDP/IP
Thread start/end

只有在使用一些開關後,才會產生下面的內容。
Image Load
Registry calls
File I/O
Page Fault
但是trace這些東西會產生很大的負擔。

-fio
啟用file I/O tracing。

-pf
啟用page faults tracing。

-hf
啟用hard faults tracing。

-img
啟用image load tracing。

-um
啟用Process Private tracing。這種情況下buffer建立在Private Process space中,預設是在kernel

space中。

-nf
每n mb更新文件。
ProviderSpecificOption: Provider Level Options

-level n

-flags
這些都和相應的provider有關。

下面看個例子,
開啟trace。
c:\>tracelog –start
Logger Started...
Operation Status: 0L
The operation completed successfully.

Logger Name: NT Kernel Logger
Logger Id: ffff
Logger Thread Id: 1360
Buffer Size: 8 Kb
Maximum Buffers: 25
Minimum Buffers: 2
Number of Buffers: 2
Free Buffers: 1
Buffers Written: 3
Events Lost: 0
Log Buffers Lost: 0
Real Time Buffers Lost: 0
Log File Mode: Sequential
Enabled tracing: Process Thread Disk TcpIp
Log Filename: C:\LogFile.Etl

停止trace
C:\>tracelog –stop
Operation Status: 0L
The operation completed successfully.

Logger Name: NT Kernel Logger
Logger Id: ffff
Logger Thread Id: 1360
Buffer Size: 8 Kb
Maximum Buffers: 25
Minimum Buffers: 2
Number of Buffers: 2
Free Buffers: 2
Buffers Written: 7
Events Lost: 0
Log Buffers Lost: 0
Real Time Buffers Lost: 0
Log File Mode: Sequential
Log Filename: C:\LogFile.Etl

收集和分析一個系統的各種信息對於管理員是日常工作中很重要的一塊,使用合適的工具可以大大簡化這樣的工作負擔。也許tracelog會是個很好的工具。

41. Tzdit.exe (Time Zone Editor)
這個工具可以用來改變Time zone記錄,可以編輯現有的記錄,也可以自己弄一個自己喜歡的時區出來,沒有多大意思。需要管理員身份使用。一般來說大家都不會去改這種東西,而且又是個GUI工具,這裡就不多說了。

42. uptime.exe
這個指令行工具可以通過分析event log來一台伺服器的可靠性,有效性和當前的正常工作時間。目標系統可以是本機也可以是遠端。顯示的內容很多,比如該機器的關機,重新啟動,系統故障,服務包安裝等等內容,可以比較全面的判定一個系統的穩定情況。雖然這個程序對於privilege沒有什麼特別的要求,但是微軟推薦大家以administrator(為了使用System Performance Counter來完成工作)的身份執行該程序。對於這個程序來說時區會對程序的計算造成一些影響,這個在分析遠端主機的時候需要特別注意。

uptime server /s /a /d:mm/dd/yyyy │/p:n /heartbeat /?│/help

server
要分析的主機的ip或者是name。本機可以不用指定。

/s
主要的系統事件和統計。

/a
顯示應用程式失敗時間。

/d:
計算mm/dd/yyyy以後的事件。

/p:n
計算先前n天的事件。

/heartbeat
開啟或者是關閉heartbeat。

為了能夠正確的反映系統的狀況,heartbeat需要被指定,heartbeat實際上就是一個time stamp會在一個類BIOS的間隔(5分鐘)內寫到系統的註冊表中。根據這個時間戳我們可以分析系統的穩定性,但是這個東西會影響到電源原則的使用,所以不推薦在Laptop中使用。啟用heartbeat使用以下指令:

uptime /heartbeat 〔\\computer]。

在Windows 2000 Server中這個是預設啟用的,但是奇怪我使用這個指令的時候,我的Adanced Server竟然不支持system heartbeat,呵呵!這個東西本來是可以看出Stop Errors,也就是我們平常說的Blue Screens錯誤。但是我使用2000以後還真沒有見過Blue Screen。可見2000還是很穩定的。

下面舉個例子:

C:\>uptime
\\HELLO has been up for: 0 day(s), 2 hour(s), 32 minute(s), 25 second(s)

C:\>uptime /p:2 /s
Uptime Report for: \\HELLO

Time Zone: China Standard Time

System Events as of 2002-3-3 20:06:38:

Date: Time: Event: Comment:
---------- ----------- ------------------- -----------------------------------

2002-3-1 0:11:33 Shutdown Prior uptime:0d 0h:17m:12s
2002-3-1 11:41:03 Boot Prior downtime:0d 11h:29m:30s
2002-3-1 13:07:21 Shutdown Prior uptime:0d 1h:26m:18s
2002-3-1 17:20:18 Boot Prior downtime:0d 4h:12m:57s
2002-3-1 18:23:27 Shutdown Prior uptime:0d 1h:3m:9s
2002-3-1 18:25:39 Boot Prior downtime:0d 0h:2m:12s
2002-3-1 18:27:17 Shutdown Prior uptime:0d 0h:1m:38s
2002-3-1 18:53:14 Boot Prior downtime:0d 0h:25m:57s
2002-3-1 19:03:54 Shutdown Prior uptime:0d 0h:10m:40s
2002-3-1 19:47:41 Boot Prior downtime:0d 0h:43m:47s
2002-3-1 20:51:02 Shutdown Prior uptime:0d 1h:3m:21s
2002-3-1 20:52:07 Boot Prior downtime:0d 0h:1m:5s
2002-3-1 22:13:20 Shutdown Prior uptime:0d 1h:21m:13s
2002-3-1 22:14:24 Boot Prior downtime:0d 0h:1m:4s
2002-3-1 22:15:38 Shutdown Prior uptime:0d 0h:1m:14s
2002-3-1 22:16:41 Boot Prior downtime:0d 0h:1m:3s
2002-3-1 22:18:22 Shutdown Prior uptime:0d 0h:1m:41s
2002-3-1 22:19:27 Boot Prior downtime:0d 0h:1m:5s
2002-3-1 23:28:31 Shutdown Prior uptime:0d 1h:9m:4s
2002-3-2 9:12:03 Boot Prior downtime:0d 9h:43m:32s
2002-3-2 12:02:48 Shutdown Prior uptime:0d 2h:50m:45s
2002-3-2 12:03:52 Boot Prior downtime:0d 0h:1m:4s
2002-3-2 12:11:18 Shutdown Prior uptime:0d 0h:7m:26s
2002-3-2 16:42:54 Boot Prior downtime:0d 4h:31m:36s
2002-3-2 19:50:04 Shutdown Prior uptime:0d 3h:7m:10s
2002-3-2 19:51:35 Boot Prior downtime:0d 0h:1m:31s
2002-3-3 0:06:38 Shutdown Prior uptime:0d 4h:15m:3s
2002-3-3 8:28:09 Boot Prior downtime:0d 8h:21m:31s
2002-3-3 10:16:30 Shutdown Prior uptime:0d 1h:48m:21s
2002-3-3 10:17:32 Boot Prior downtime:0d 0h:1m:2s
2002-3-3 14:26:48 Shutdown Prior uptime:0d 4h:9m:16s
2002-3-3 17:01:51 Boot Prior downtime:0d 2h:35m:3s
2002-3-3 17:23:22 Shutdown Prior uptime:0d 0h:21m:31s
2002-3-3 17:24:20 Boot Prior downtime:0d 0h:0m:58s
2002-3-3 17:32:23 Shutdown Prior uptime:0d 0h:8m:3s
2002-3-3 17:33:22 Boot Prior downtime:0d 0h:0m:59s

Current System Uptime: 0 day(s), 2 hour(s), 33 minute(s), 16 second(s)

Estimate based on last boot record in the event log.
See UPTIME /help for more detail.

--------------------------------------------------------------------------------
Since 2002-3-1: (Last 2 Days)

System Availability: 37.9457%
Total Uptime: 1d 1h:50m:42s
Total Downtime: 1d 18h:15m:56s
Total Reboots: 18
Mean Time Between Reboots: 0.16 days
Total Bluescreens: 0

Notes:
There is insufficient data in the event log to calculate
system availability. Please see UPTIME /help for more detail.

基本上就是這樣的。

43. W2000msgs.chm (Windows 2000 Error and Event Messages Help)
這個求助文件列出了Win2k產生的絕大部分錯誤,也給出了相應的解釋和糾正錯誤的方法。在這個我的文件裡面也包括了部分應用程式和啟動程序的錯誤,對這個有興趣的人就仔細看看吧!內容挺多的。

以上43個各型工具就算作是ResKit介紹的第一部分了,裡面有幾個工具對於大家來說是十分有用的。之所以沒有把它們挑出來,是因為希望大家對所有的程序都看一下,即使記不住全部,但有一個印象要用到的時候就可以很快找到。最後,希望大家滿意!!呵呵!因為寫得比較倉促啦,肯定會有一些錯誤,希望大家提出來,讓我加以改正。後面的東西會儘快更新 .

Resource Kit 第二部分

這一部分包括的類型很多,大家依照自己的喜好看!!

一、偵錯工具

1. Ntdetect.com(Installd.cmd): Startup Hardware Detector
在x86-based電腦裡面,Win2000使用NTDetect來在啟動的時候偵測系統中安裝的各種硬體,並且顯示這些傳遞給kernel的硬體信息結構。有些時候標準版的NTDetect.com會難以偵測到你想要的全部硬體,這個時候你就可以使用我面在這裡介紹的這個版本的NTDetect,這是個一個Debug Version。它可以為您提供更多的診斷信息,也可以比較方便的分析出問題的所在。

NTDetect可以顯示如系統元件,總線,橋接器元件,硬碟幾何結構,ROM塊,鍵盤,COM口,並列阜,滑鼠以及磁牒驅動器的信息,還是挺多的吧!呵呵!這些東東顯示完以後,在按個鍵你還可以接著顯示HKEY_LOCAL_MACHINE\HARDWARE\Controllerx的內容。

上面這些東西都完了以後,你還可以通過簡單的按空格鍵來使用LastKnownGood控制設備來替代Current控制設備來啟動系統。這個可以讓系統用上一次的配置重新啟動。

Debug版的NTDetect安裝起來很容易使用installd.cmd就可以,卸載的的時候可以用installd /not來。這個很容易。注意,如果NTDetect丟失的話,系統將不能正常啟動,需要修復。所以,在使用這個工具的時候請大家慎重!!!

下面所說怎麼安裝,這個東西安裝起來有點麻煩。主要是因為微軟提供的這個安裝程序有點問題,只能對Ntdetect.com進行制作備份,但是拷貝的時候不能正確進行,這樣你會看到下面的提示:

C:\>installd
You must switch to the Resource Kit Directory/Folder to install the debug
version of NTDETECT.COM. Press CTRL-C to exit out of setup or you may
Press any key to continue . . .
1 file(s) copied.
The file cannot be copied onto itself.
0 file(s) copied. <-------------------就在這裡拷貝不能夠正確進行。
Debug NTDETECT installed successfully <--------但是installd仍會提示成功,faint!
To un install, type INSTALLD /NOT

下面你就看到了,installd只進行了制作備份,拷貝沒有成功。這裡要自己做。

1999-12-07 12:00 34,468 ntdetect.000
1999-12-07 12:00 34,468 NTDETECT.COM

ntdetect.com在ResKit的目錄中是ntdetect.chk,這個和說明 不符。還是要自己動手吧!接下來就copy,ren………,我這裡就不詳細說了。注意使用attrib修改一些內容。

安裝成功以後,重新啟動電腦,你就可以看到Debug模式了,灰底黑字,太多東西,想看的人就自己去試一下。

卸載的時候就使用install /not這個倒是沒有什麼問題,只要剛剛的制作備份在的話,程序就可以自動完成了。

這裡再介紹一種2000下觀察系統啟動程序的方法。這個很簡單,只要在boot.ini的
multi(0)disk(0)rdisk(0)partition(1)\WINNT="Microsoft Windows 2000 Advanced Server"

/fastdetect

後面增加一個/SOS(這裡不能換行,要換了的話你就慘了!),下一次啟動的時候,啟動程序就會顯示出來,這個對於系統排錯很有說明 ,而且這個程序可以自動完成,不像NTDetect.com這樣還要自己去按鍵,大家根據自己的喜好使用吧!

2. WinNT 4.0 OEM Support Tools

這些東西在ResKit的CD裡面才有,網上這些版本裡面都沒有。主要是包括了NT4.0里面的一些診斷工具和開發工具。還是挺有用的,對現有的好多工具都有擴展,真是太可惜了,居然沒有~~~~~~~~!

二. 佈署工具

1. Gpolmig.exe: Group Policy Migrationf

這是一個可以用來將NT4.0的系統原則昇級為2000 Group Policy Object結構的工具。但是由於系統原則在2000註冊表中的位置發生了改變,所以這樣的昇級可能會對某些應用程式和元件無效。

gpolmig policyfilepath /list /listgpo /migrate objecttype name GPO

policyfilepath
NT4.0 policy文件(.pol)的路徑。

/list
顯示NT4.0原則文件中的原則。

/listgpo
顯示Group Policy object

/migrate
指定3個額外的參數。

objecttype
computer, user, group裡面的一種。

name
原則文件中的對象的名字。

GPO
要昇級的GPO的名字。

因為沒有NT4.0所以就沒有進行實際的使用,有的同志可以幫忙做一下。

2. Lbridge.cmd: L-Bridge

L-Bridge這個批量指令碼可以說明 管理員處理一些在Mixed-mode模式下目錄服務複製的問題。在一個NT4.0域中,系統通常使用LMRepl來複製logon script本到所有的域控制器,但是2000卻不支持LMRepl,AD使用FRS來自動,透明的複製位於sysvol到所有的域控制器上,當然logon script也包括在內。如果我們的域處於mixed-mode(既有NT4.0的域控制器,也有2000的域控制器)的情況時,它們之間的複製就有了問題。

L-Bridge為2種不同的複製結構提供了一種「橋」,可以將2000 sysvol的文件移動到NT4.0 LMRepl的匯出目錄中。這可以保證這兩種複製機制保持物理上的彼此分隔,不會導致任何過去的服務被引入到2000的域控制器中。L-Bridge實際上就是個拷貝指令碼,如果你用文本編輯器開啟L-Bridge.cmd就可以看到它實際上就是進行了一個Xcopy的工作。要是你熟悉2000的各種結構的話,也可以自己來進行這種拷貝的工作。

同上面的原因一樣,具體的操作這裡就不列出了,有興趣的人可以自己試試,但是這個應當在瞭解目錄服務複製的基礎上進行。

3.Netset.exe
一個用來配置網路參數的工具,基本上可以實現:列出目錄,安裝,配置,卸載網路元件。由於是使用的無人值守模式,所以很適合在多台電腦上佈署Win2000的時候使用。當然用來恢復也是可行的。使用很簡單:

netset drive:\path\filename /display /?

drive:\path\filename
answer file的位置

/display
顯示當前的網路服務和元件。

關於answer文件的編寫,由於相關的參數很多,在這個地方就不做詳細的介紹,詳細的情況請參見MCSE的教材或者是相應的2000的介紹我的文件。

4. setupmgr.exe: Setup Manager
Sysdiff.exe: Automated Installation tool
SysPrep.exe

setupmgr.exe(使用answer文件在多台電腦上佈署Win2000),Sysdiff.exe(可以將要安裝的應用程式作為自動安裝的一部分),Sysprep.exe(可以理解為做複製用的2000的程序)這幾個程序都屬於本身系統自帶,且是MCSE的學習要求,相關的資料很多。所以做為Reskit的介紹,我就不打算談這幾個工具。具體要不要談,可以根據大家的要求來定。

5. Unattend.doc: Unattended Setup Parameters Guide
一個關於如何編輯answer文件的官方我的文件。裡面附帶例子,對上面那幾個程序感興趣的人可以看看。

6. Wmloadsimulator.exe: Windows Media Load Simulator
ResKit裡面儘是些奇奇怪怪的工具,我看這個就是一個。Wmloadsimulator全稱Windows Media Load
Simulator,這是一個用來模擬大量用戶訪問Windows Media Server的情況的工具。主要是用來衡量伺服器處理請求的能力。 這個工具並沒有包括在Resource Kit的工具包裡,而是放在了Reskit的光碟上。沒有東東就沒有辦法說什麼了。

三. 桌面工具

1. Chklnks.exe: Link Check Wizard
看上去樣子還不錯的一個工具,可以用來檢測你的系統裡面有沒有Dead Link(也就是一些沒有實際關聯的建立捷逕),如果有的話,就提示你是不是要把它們幹掉。圖形界面用起來很簡單,就不用我多說了,不要告訴我說你看不懂英文,呵呵!

2. Cmdhere.inf: Command Prompt Here
我非常喜歡的一個東東,自從有了它我感覺Win2000好用多了,呵呵!
安裝了這個Shell擴展可以讓我們在右擊一個資料夾的時候,多出一個CMD Prompt Here的選項,一旦點了它就會彈出一個居於這個路徑的CMD會話,我想要這個東西好久了,終於被我在這裡找到了!哈哈!
大家趕快用用吧!實在是強烈強烈強烈強烈強烈強烈強烈強烈強烈強烈推薦!!安裝很簡單,右擊這個inf,選 install就可以了。

3. Seagate Software Crystal Report 6.0
又是一個沒有的工具,無法多說什麼。反正就是一個Event Log Viewer工具,可能會多了一些功能吧!如果實在要要可以http://www.seagatesoftware.com/crytalreports/找找看看,這是個third-pirty工具。

4. Netcons.exe: Net Connections
一個用來顯示當前連接的GUI工具,照微軟的說法來看,是想用來取代net use的顯示功能。沒有什麼好說的點開就用了。沒有什麼可以設定的。

5. Quickres.exe: Quick Resolution Changer
這個東西就有點像powerstrip這樣的顯示卡工具,和我的顯示卡工具差不多,可以通過這個工具快速改變當前的解析度,顏色,重新整理率的工具,開啟這個工具以後會在右下角有個小圖示,點就可以看見功能表了。

6. Quiktray.exe
這個東西非常有趣,有空我也會拿來用用。
大家是不是一直覺得右下角那些tray很有意思,使用這個工具可以讓我們自己定制自己的tray,包括的類型可以有可執行文件(*.exe, *.com, *.bat),各種類型的Office文件(*.doc, *.mdb, *.mpp, *.ppt, *.xls),配置文件(*.inf, *.ini, *.sys)<---我還真不知道把這些東西弄在那裡有什麼用,真有微軟的,呵呵!一些網路文件(*.htm, *.html, *.jpg, *.gif)<---實際上也無所謂了你弄個asp也沒有什麼問題。文本文件也是行的,最後再說一句,你們可千萬不用打我 ,這可說好了………,那我就說啦!其實你要增加個什麼文件都是可以的,哈哈!增加上面這些東西都很容易照著GUI上面的提示做就可以了,只是在增加URL的時候有一點點不同,你可以先把它拖到桌面上弄出一個shortcut在增加就可以了。另外,再說一個技巧,增加可以用直接移到的方式,不用每次都按照ADD,然後……的步驟做。如果要讓這些東西在啟動的時候自動載入,請把Quiktray.exe的shortcut弄到Startup資料夾裡面去。如果要在遠端電腦上使用,我們可以用個編輯器新增一個Quiktray.dat文件,在裡面是增加文件的路徑,如果有網路路徑請使用UNC路徑名。到時候將這個文件拷到有Quiktray.exe的資料夾裡面,當Quiktray.exe啟動的時候它會自動載入Quiktray.dat。當然要把這個東西放在本機用也是沒有問題的。

7. Remapkey.exe: Remap Windows Keyboard Layout
這個工具可以用來改變鍵盤的佈局,重新定義你鍵碟上的鍵。我們需要管理員權限來做這種修改。這種修改會對整個系統造成影響,新的鍵甚至會影響到系統登入時的CTRL+ALT+DEL組合,要是你定義的時候搞掉了一個,你就等著重裝吧!如果一定要修改,可以啟用自動登入解決這個問題。
如果說我們交換了CAPs Lock和Ctrl,以後Ctrl就可以用來shift大小寫了。如果交換了A和B以後凡是A的組合鍵,都變成B了,這些交換對於應用程式來說是透明的。GUI工具用來非常簡單,只要把上面的鍵拖到下面的鍵碟上就可以了,注意改了以後一定要做一下完整性檢查,然後在儲存。如果要取消的話,點一下變紅的鍵就可以了。如果要取消全部映射,除了在GUI底下做以外,還可以在指令行底下使用remapkey -c,這樣最快。

8. Runext.exe: Run Extension
這也是一個Shell Extension,和Cmdhere.inf差不多,這是這個可以可以開啟這個文件的RUN視窗,便於大家增加參數。但是非常可惜,這又是一個沒有的工具,它只包括在ResKit光碟上。faint!!!

9. Sipanel.exe: Soft Input Panel
這個工具可以允許你使用輸入筆做為2000的主輸入設備,這個程序允許你使用手寫指令傳送到系統,而不需要使用鍵盤,就是那麼簡單,沒有什麼好說,那樣實在是慢的要死,我看大家都不會用。這裡提醒一點這個東西還不可以使用如Ctrl+SPace這樣的組合鍵。

不好用!!

10. Smart Sketch LE
這個東西可以用來畫圖表和技術圖等等。

11. Winexit.scr: Windows Exit Screen Saver
一個微軟的螢幕保護程式?呵呵!其實就是個自動退出的指令碼,只是寫成了螢幕保護程式的形式。使用這個東西系統會在指定的時間內logoff當前的用戶。時間和顯示的信息和自己定義。如果要讓非administrator使用,需要為Everyone組在HKEY_Local_Machine\Software\Microsoft\WindowsNT\CurrentVersion這個鍵值上分配設定值和新增子鍵的權限。

轉貼自:網路文摘資訊網
psac 目前離線  
送花文章: 3, 收花文章: 1630 篇, 收花: 3204 次
 


主題工具
顯示模式

發表規則
不可以發文
不可以回覆主題
不可以上傳附加檔案
不可以編輯您的文章

論壇啟用 BB 語法
論壇啟用 表情符號
論壇啟用 [IMG] 語法
論壇禁用 HTML 語法
Trackbacks are 禁用
Pingbacks are 禁用
Refbacks are 禁用

相似的主題
主題 主題作者 討論區 回覆 最後發表
Resource Kit 中文版說明 psac 作業系統操作技術文件 0 2004-08-14 07:59 PM
請問fat32和ntfs有何分別? ku392002 軟體應用問題討論區 4 2003-03-01 03:30 PM
win xp 要如何重灌 le1228 軟體應用問題討論區 1 2003-01-10 08:40 AM


所有時間均為台北時間。現在的時間是 01:36 PM


Powered by vBulletin® 版本 3.6.8
版權所有 ©2000 - 2020, Jelsoft Enterprises Ltd.


SEO by vBSEO 3.6.1