Do All in Cmd Shell一切在命令行下完成第1/6页
作者 佚名
来源 批处理
浏览
发布时间 2013-07-09
将telnet服务端口改为2323(十六进制913),NTLM认证方式为1。 要删除一个项,在名字前面加减号,比如: [-HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Serv-U] 要删除一个值,在等号后面用减号,比如: [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run] "KAVRun"=- 3,用inf文件访问注册表 上面对注册表的三个x作,也可以用下面这个inf文件来实现: [Version] Signature="$WINDOWSNT$" [DefaultInstall] AddReg=My_AddReg_Name DelReg=My_DelReg_Name [My_AddReg_Name] HKLM,SOFTWARE\Microsoft\TelnetServer\1.0,TelnetPort,0x00010001,2323 HKLM,SOFTWARE\Microsoft\TelnetServer\1.0,NTLM,0x00010001,1 [My_DelReg_Name] HKLM,SYSTEM\CurrentControlSet\Services\Serv-U HKLM,SOFTWARE\Microsoft\Windows\CurrentVersion\Run,KAVRun 将它写入c:\path\reg.inf然后用下面这个命令"安装": rundll32.exesetupapi,InstallHinfSectionDefaultInstall128c:\path\reg.inf 几点说明: 1,[Version]和[DefaultInstall]是必须的,AddReg和DelReg至少要有一个。My_AddReg_Name和My_DelReg_Name可以自定义。 0x00010001表示REG_DWORD数据类型,0x00000000或省略该项(保留逗号)表示REG_SZ(字符串)。0x00020000表示REG_EXPAND_SZ。 2323也可以用0x913代替。 关于inf文件的详细信息,可以参考DDK帮助文档。 2,InstallHinfSection是大小写敏感的。它和setupapi之间只有一个逗号,没有空格。 128表示给定路径,该参数其他取值及含义参见MSDN。 特别注意,最后一个参数,必须是inf文件的全路径,不要用相对路径。 3,inf文件中的项目都是大小写不敏感的。 接下来说服务。如果想启动或停止服务,用net命令就可以。但想增加或删除服务,需要用SC,instsrv.exe,xnet.exe等工具。而这些工具系统没有自带(XP和2003自带SC)。导入注册表虽然可以,但效果不好,原因后面会提到。还是得靠inf文件出马。 增加一个服务: [Version] Signature="$WINDOWSNT$" [DefaultInstall.Services] AddService=inetsvr,,My_AddService_Name [My_AddService_Name] DisplayName=WindowsInternetService Description=提供对Internet信息服务管理的支持。 ServiceType=0x10 StartType=2 ErrorControl=0 ServiceBinary=%11%\inetsvr.exe 保存为inetsvr.inf,然后: rundll32.exesetupapi,InstallHinfSectionDefaultInstall128c:\path\inetsvr.inf 这个例子增加一个名为inetsvr的服务(是不是很像系统自带的服务,呵呵)。 几点说明: 1,最后四项分别是 服务类型:0x10为独立进程服务,0x20为共享进程服务(比如svchost); 启动类型:0系统引导时加载,1OS初始化时加载,2由SCM(服务控制管理器)自动启动,3手动启动,4禁用。 (注意,0和1只能用于驱动程序) 错误控制:0忽略,1继续并警告,2切换到LastKnownGood的设置,3蓝屏。 服务程序位置:%11%表示system32目录,%10%表示系统目录(WINNT或Windows),%12%为驱动目录system32\drivers。其他取值参见DDK。你也可以不用变量,直接使用全路径。 这四项是必须要有的。 2,除例子中的六个项目,还有LoadOrderGroup、Dependencies等。不常用所以不介绍了。 3,inetsvr后面有两个逗号,因为中间省略了一个不常用的参数flags。 删除一个服务: [Version] Signature="$WINDOWSNT$" [DefaultInstall.Services] DelService=inetsvr 很简单,不是吗? 当然,你也可以通过导入注册表达到目的。但inf自有其优势。 1,导出一个系统自带服务的注册表项,你会发现其执行路径是这样的: "ImagePath"=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,\ 74,00,25,00,5c,00,73,0 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: 批处理的api WMIC学习体会有感第1/2页下一篇: 关于echo 的问题与使用说明
关于Do All in Cmd Shell一切在命令行下完成第1/6页的所有评论