在运行下一个程序之前等待20s。
假设我们搞这么一个登陆脚本到计算机上,我想是个不错的主意。
@echo off
echo 2/23/2002
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的值。 注意,这些值都是正整数,而且以秒为单位。
/i:on│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
进行修改,格式是Hour:DayofWeek:Day: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的详细的信息。具体产生的日志的内容代表的信息我在这里就不详细说了,大家可以参看相应的资料。