快速业务通道

Do All in Cmd Shell一切在命令行下完成第1/6页

作者 佚名 来源 批处理 浏览 发布时间 2013-07-09
传了三个文件,也就不在乎多一个了。^_^)

netdiag需要RemoteRegistry服务的支持。所以先启动该服务:

netstartremoteregistry

不启动RemoteRegistry就会得到一个错误:

[FATAL]Failedtogetsysteminformationofthismachine.

netdiag这个工具功能十分强大,与网络有关的信息都可以获取!不过,输出的信息有时过于详细,超过命令行控制台cmd.exe的输出缓存,而不是每个远程cmdshell都可以用more命令来分页的。

查看ipsec策略的命令是:
netdiag/debug/test:ipsec

然后是一长串输出信息。IPSec策略位于最后。


软件安装
一个软件/工具的安装过程,一般来说只是做两件事:拷贝文件到特定目录和修改注册表。只要搞清楚具体的内容,那么就可以自己在命令行下实现了。(不考虑安装后需要注册激活等情况)

WinPcap是个很常用的工具,但必须在窗口界面下安装。在网上也可以找到不用GUI的版本(但还是有版权页),其实我们完全可以自己做一个。

以WinPcap3.0a为例。通过比较安装前后的文件系统和注册表快照,很容易了解整个安装过程。
除去反安装的部分,关键的文件有三个:wpcap.dll,packet.dll和npf.sys。前面两个文件位于system32目录下,第三个在system32\drivers下。而注册表的变化是增加了一个系统服务NPF。注意,是系统服务(即驱动)不是Win32服务。

作为系统服务,不但要在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services下增加主键,在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\Root下也增加主键。而后者默认只有SYSTEM身份才可以修改。幸运的是,并不需要手动添加它,winpcap被调用时会自动搞定。甚至完全不用手动修改注册表,所有的事winpcap都会自己完成,只需要将三个文件复制到合适的位置就行了。

作为范例,还是演示一下如何修改注册表:利用前面说过的inf文件来实现。

[Version]
Signature="$WINDOWSNT$"
[DefaultInstall.Services]
AddService=NPF,,winpcap_svr
[winpcap_svr]
DisplayName=NetgroupPacketFilter
ServiceType=0x1
StartType=3
ErrorControl=1
ServiceBinary=%12%\npf.sys

将上面这些内容保存为_wpcap_.inf文件。
再写一个批处理_wpcap_.bat:

rundll32.exesetupapi,InstallHinfSectionDefaultInstall128%CD%\_wpcap_.inf
del_wpcap_.inf
if/i%CD%==%SYSTEMROOT%\system32gotoCOPYDRV
copypacket.dll%SYSTEMROOT%\system32\
copywpcap.dll%SYSTEMROOT%\system32\
delpacket.dll
delwpcap.dll
:COPYDRV
if/i%CD%==%SYSTEMROOT%\system32\driversgotoEND
copynpf.sys%SYSTEMROOT%\system32\drivers\
delnpf.sys
:END
del%0

然后用winrar将所有文件(5个)打包为自解压的exe,并将『高级自解压选项』->『解压后运行』设置为_wpcap_.bat,命令行的winpcap安装包就制作完成了。

注意,批处理最后一行没有回车符。否则会因为正在运行而无法删除自己。

所有的软件安装,基本上可以套用这个思路。但也有例外的,那就是系统补丁的安装。
由于系统补丁有可能要替换正在被执行或访问的文件,所以用copy命令是不行的。
幸好,Windows补丁包支持命令行安装。
比如:

KB824146.exe-n-z-q

-n不保留备份
-z不重起
-q安静模式

如果有一堆补丁要打,那么用RAR打包成自解压文件,外加一个批处理。

for%%fin(KB??????.exe)do%%f-n-z-q
for%%fin(KB??????.exe)dodel%%f
del%0


Windows脚本
很多事用脚本来做是很简洁的。下面给出几个常用脚本的echo版。

1,显示系统版本

@echoforeachpsingetobject_>ps.vbs
@echo("winmgmts:\\.\root\cimv2:win32_operatingsystem").instances_>>ps.vbs
@echowscript.echops.caption^&""^&ps.version:next>>ps.vbs
cscript//nologops.vbs&delps.vbs

2,列举

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号