|
|
2#

楼主 |
发表于 2002-11-10 23:56:06
|
只看该作者
Windows 2000 Resource Kit工具使用说明(中文)
windows2000 Resource Kit工具使用说明[2]
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默认情况下,允许LocalAdministrators, 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爽!而且还可以同时管理多台计算,不错吧!我是挺喜欢的,比trl+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%SYSTEM32CONFIG\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'\'N
TUSER.DAT'
Must be backed up manually
regback users S-1-5-21-1177238915-1383384898-1957994488-50
0
***Hive = '\REGISTRY\USER'\'S-1-5-21-1177238915-1383384898-1957994488-500_Classes'
Stored in file '\Device\HarddiskVolume1\Documents and Settings\Administrator\Loc
al 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-195
7994488-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
|
|