当前位置: 首页 > 图文教程 > 脚本技术 > VBScript > 远程开启/关闭目标telnet服务的windows脚本RTCS.vbs

VBScript
VBS中SendKeys的基本应用
VBScript教程 第十四课在VBScript中使用对象
VBScript教程 第十三课 VBScript与窗体
VBScript教程 第十二课VBScript页面的简单样例
VBScript教程 第十一课深入VBScript
VBScript教程 第十课 VBScript编码约定
VBScript教程 第九课VBScript过程
VBScript教程 第八课 使用循环语句
VBScript教程 第七课使用条件语句
VBScript教程 第六课VBScript运算符
VBscript教程 第五课 VBScript常数
VBScript教程 第四课VBScript变量
VBScript教程 第三课VBScript数据类型
VBScript教程 第二课在HTML页面中添加VBscript代码
VBScript教程 第一课什么是VBScript
VBScript的入门学习资料
VBScript语法速查及实例说明
MsgBox函数语言参考
VBS教程:正则表达式简介 -后向引用
VBS教程:正则表达式简介 -选择与编组

VBScript 中的 远程开启/关闭目标telnet服务的windows脚本RTCS.vbs


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-11   浏览: 157 ::
收藏到网摘: n/a

********************************************************************************
RTCS v1.10
Remote Telnet Configure Script, by zzzEVAzzz
Welcome to visite www.isgrey.com
Usage:
cscript c:\scriptpath\RTCS.vbe targetIP username password NTLMAuthor telnetport
It will auto change state of target telnet server.
********************************************************************************
描述:远程开启/关闭目标telnet服务的windows脚本。
特点:不依赖于目标的ipc$开放与否。
原理:直接访问目标的windows管理规范服务(WMI)。该服务为系统重要服务,默认启动。
支持平台:win2kpro win2kserver winxp win.net
使用方法:
在命令行方式下使用windows自带的脚本宿主程序cscript.exe调用脚本,例如:
c:\>cscript RTCS.vbe <目标IP> <用户名> <密码> <NTLM验证方式> <telnet服务端口>
其中 NTLM 值可取0,1,2:
0: 不使用 NTLM 身份验证;
1: 先尝试 NTLM 身份验证。如果失败,再使用用户名和密码;
2: 只使用 NTLM 身份验证。
空密码用两个双引号""表示。
脚本自动检查目标telnet服务情况,如果未启动则启动它,相反就关闭。
同一个命令执行两遍,就开/关一次服务。
关闭服务时也必须输入共5个参数,这样可以根据需要把服务设置还原为默认值(NTLM=2,端口23)。
如果telnet服务被禁用,将自动更改为“手动”。
如果要对本地使用,IP地址为127.0.0.1或者一个点(用.表示),用户名和密码都为空(用""表示)。
此脚本为自由软件,修改发布请著明原作者。谢谢合作。
本人提供有限技术支持,有问题请到论坛发短消息给我。我的ID是zzzevazzz
最后更新:2002-8-23
更新记录:
1.10 更改了输出显示格式。
1.09 解决了空密码的问题。
1.08 代码加密并以测试版发布。
1.07 增加对付服务被“禁用”的功能。
1.06 解决在图形界面下运行的问题。
1.05 对参数做简单判断,防止误操作。
1.04 增加显示Usage和详细过程功能。
1.03 增加关闭服务功能。
1.02 增加手动设置端口和NTLM功能。
1.00 完成基本功能,远程启动telnet服务,并设置NTLM=1。
复制代码 代码如下:

on error resume next
set outstreem=wscript.stdout
if (lcase(right(wscript.fullname,11))="wscript.exe") then
set objShell=wscript.createObject("wscript.shell")
objShell.Run("cmd.exe /k cscript //nologo "&chr(34)&wscript.scriptfullname&chr(34))
wscript.quit
end if
if wscript.arguments.count<5 then
usage()
wscript.echo "Not enough parameters."
wscript.quit
end if
ipaddress=wscript.arguments(0)
username=wscript.arguments(1)
password=wscript.arguments(2)
ntlm=wscript.arguments(3)
port=wscript.arguments(4)
if not isnumeric(ntlm) or ntlm<0 or ntlm>2 then
usage()
wscript.echo "The value of NTML is wrong."
wscript.quit
end if
if not isnumeric(port) then
usage()
wscript.echo "The value of port is wrong."
wscript.quit
end if
usage()
outstreem.write "Conneting "&ipaddress&"...."
set objlocator=createobject("wbemscripting.swbemlocator")
set objswbemservices=objlocator.connectserver(ipaddress,"root/default",username,password)
showerror(err.number)
outstreem.write "Setting NTLM="&ntlm&"...."
set objinstance=objswbemservices.get("stdregprov")
set objmethod=objinstance.methods_("SetDWORDvalue")
set objinparam=objmethod.inparameters.spawninstance_()
objinparam.hdefkey=&h80000002
objinparam.ssubkeyname="SOFTWARE\Microsoft\TelnetServer\1.0"
objinparam.svaluename="NTLM"
objinparam.uvalue=ntlm
set objoutparam=objinstance.execmethod_("SetDWORDvalue",objinparam)
showerror(objoutparam.returnvalue)
outstreem.write "Setting port="&port&"...."
objinparam.svaluename="TelnetPort"
objinparam.uvalue=port
set objoutparam=objinstance.execmethod_("SetDWORDvalue",objinparam)
showerror(objoutparam.returnvalue)
outstreem.write "Querying state of telnet server...."
set objswbemservices=objlocator.connectserver(ipaddress,"root\cimv2",username,password)
set colinstances=objswbemservices.execquery("select * from win32_service where name='tlntsvr'")
showerror(err.number)
for each objinstance in colinstances
if objinstance.startmode="Disabled" then
outstreem.write "Telnet server has been disabled. Now changeing start mode to manual...."
set objmethod=objinstance.methods_("changestartmode")
set objinparam=objmethod.inparameters.spawninstance_()
objinparam.startmode="Manual"
set objoutparam=objinstance.execmethod_("changestartmode",objinparam)
showerror(objoutparam.returnvalue)
end if
outstreem.write "Changeing state...."
if objinstance.started=true then
intstatus=objinstance.stopservice()
showerror(intstatus)
wscript.echo "Target telnet server has been STOP Successfully."
else
intstatus=objinstance.startservice()
showerror(intstatus)
wscript.echo "Target telnet server has been START Successfully!"
wscript.echo "Now, you can try: telnet "&ipaddress&" "&port&", to get a shell."
end if
next
function showerror(errornumber)
if errornumber<>0 then
wscript.echo "Error!"
wscript.quit
else
wscript.echo "OK!"
end if
end function
function usage()
wscript.echo string(79,"*")
wscript.echo "RTCS v1.10"
wscript.echo "Remote Telnet Configure Script, by zzzEVAzzz"
wscript.echo "Welcome to visite www.isgrey.com"
wscript.echo "Usage:"
wscript.echo "cscript "&wscript.scriptfullname&" targetIP username password NTLMAuthor telnetport"
wscript.echo "It will auto change state of target telnet server."
wscript.echo string(79,"*")&vbcrlf
end function