注意,这里存在一个给这个服务的退出码,即使这个服务部不在运行,键入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中标准权利和高级权力已经被用户特权所取代