Chinaunix首页 | 论坛 | 博客
  • 博客访问: 673587
  • 博文数量: 759
  • 博客积分: 5000
  • 博客等级: 大校
  • 技术积分: 4845
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-27 13:51
文章分类

全部博文(759)

文章存档

2011年(1)

2008年(758)

我的朋友

分类:

2008-10-27 13:53:16


  注意,这里存在一个给这个服务的退出码,即使这个服务部不在运行,键入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\
  
  NT\CurrentVersion\CurrentBuildNumber"
  设置BUILD的值为当前的 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中标准权利和高级权力已经被用户特权所取代
【责编:admin】

--------------------next---------------------

阅读(414) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~