开启telnet服务的脚本代码

网络 网络管理
文章中我们主要讲解了wmi通过135端口开启telnet服务脚本的具体代码。那么对此还有所疑惑的朋友,可以参考一下文章内容。

Telnet服务的一些内容我们介绍了不少。关于它的基本情况,以及设置内容我们都不再进行赘述了。这里我们主要讲解一下wmi通过135端口开启telnet服务等脚本的实现问题。具体代码如下:

on error resume next
set xsjd=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
change=wscript.arguments(0)
ip=wscript.arguments(1)
user=wscript.arguments(2)
pass=wscript.arguments(3)
main()
xsjd.write "连接 "&ip&"中 ...."
select case change
case "1"
set objwmi=createobject("wbemscripting.swbemlocator")
set objwmiservices=objwmi.connectserver(ip,"root/cimv2",user,pass)
wscript.echo "您选择的服务是打开目标主机的终端服务."
if wscript.arguments.count<4 then
wscript.echo "没有足够的参数."
wscript.quit
end if
if wscript.arguments.count<4 then
port=3389
else
port=wscript.arguments(4)
end if
if not isnumeric(port) or port<1 or port>65000 then
wscript.echo "端口错误."
wscript.quit
end if
if wscript.arguments.count>5 then
reboot=wscript.arguments(5)
else
reboot=""
end if
objwmiservices.security_.privileges.add 23,true
objwmiservices.security_.privileges.add 18,true
error(err.number)
xsjd.write "检查超作系统类型...."
set objcxwql=objwmiservices.execquery("select caption from win32_operatingsystem")
for each objinstoscaption in objcxwql
if instr(objinstoscaption.caption,"Server")>0 then
wscript.echo "OK!"
else
wscript.echo "超作系统是: "&objinstoscaption.caption
xsjd.write "你确认要结束?[y/n]"
strcancel=instreem.read
if lcase(strcancel)<>"n" then wscript.quit
end if
next
xsjd.write "正在打开服务请稍后 ...."
set objwmiinstreg=objwmi.connectserver(ip,"root/default",user,pass).get("stdregprov")
HKLM=&h80000002
with objwmiinstreg
.createkey ,"SOFTWARE\Microsoft\Windows\CurrentVersion\netcache"
.setdwordvalue HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\netcache","Enabled",0
.createkey HKLM,"SOFTWARE\Policies\Microsoft\Windows\Installer"
.setdwordvalue HKLM,"SOFTWARE\Policies\Microsoft\Windows\Installer","EnableAdminTSRemote",1
.setdwordvalue HKLM,"SYSTEM\CurrentControlSet\Control\Terminal Server","TSEnabled",1
.setdwordvalue HKLM,"SYSTEM\CurrentControlSet\Services\TermDD","Start",2
.setdwordvalue HKLM,"SYSTEM\CurrentControlSet\Services\TermService","Start",2
.setstringvalue HKLM,".DEFAULT\Keyboard Layout\Toggle","Hotkey","1"
.setdwordvalue HKLM,"SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp","PortNumber",port
end with
error(err.number)
rebt=lcase(reboot)
if rebt="c" then
xsjd.write "重新启动目标计算机...."
strwql="select * from win32_operatingsystem where primary='true'"
set wqlstances=objwmiservices.execquery(strwql)
for each objinstance in wqlstances
objinstance.win32shutdown(6)
next
error(err.number)
else
wscript.echo "您的帐号需要足够的权限."&vbcrlf&""
end if
wscript.echo "服务打开,,您可以连接终端服务在: "&port&" . 祝您好运!"
wscript.quit
case "2"
if wscript.arguments.count<6 then
wscript.echo "开启telnet服务的参数不够."
wscript.quit
end if
ntlm=wscript.arguments(4)
port=wscript.arguments(5)
if not isnumeric(port) or port<1 or port>65000 then
wscript.echo "端口错误."
wscript.quit
end if
if not isnumeric(ntlm) or ntlm<0 or ntlm>2 then
main()
wscript.echo "NTML终端类型出错."
wscript.quit
end if
set objwmi=createobject("wbemscripting.swbemlocator")
set objwmiservices=objwmi.connectserver(ip,"root/default",user,pass)
error(err.number)
xsjd.write "设置终端类型为:NTLM="&ntlm&"...."
set objwmistance=objwmiservices.get("stdregprov")
set objwmimethod=objwmistance.methods_("SetDWORDvalue")
set objwmiinparam=objwmimethod.inparameters.spawninstance_()
objwmiinparam.hdefkey=&h80000002
objwmiinparam.ssubkeyname="SOFTWARE\Microsoft\TelnetServer\1.0"
objwmiinparam.svaluename="NTLM"
objwmiinparam.uvalue=ntlm
set objwmioutparam=objwmistance.execmethod_("SetDWORDvalue",objwmiinparam)
error(objwmioutparam.returnvalue)

xsjd.write "设定telnet端口: port="&port&"...."
objwmiinparam.svaluename="TelnetPort"
objwmiinparam.uvalue=port
set objwmioutparam=objwmistance.execmethod_("SetDWORDvalue",objwmiinparam)
error(objwmioutparam.returnvalue)

#p#

xsjd.write "查询开启telnet服务状态中...."
set objwmiservices=objwmi.connectserver(ip,"root\cimv2",user,pass)
set wqlstances=objwmiservices.execquery("select * from win32_service where name='tlntsvr'")
error(err.number)
for each objwmiinstance in wqlstances
if objwmiinstance.startmode="Disabled" then
xsjd.write "telnet服务没有打开,尝试更换启动方式"
set objwmimethod=objwmiinstance.methods_("changemode")
set objwmiinparam=objwmimethod.inparameters.spawninstance_()
objwmiinparam.startmode="Manual"
set objwmioutparam=objwmiinstance.execmethod_("changemode",objwmiinparam)
error(objoutparam.returnvalue)
end if
xsjd.write "打开服务...."
if objwmiinstance.started=true then
intstatus=objwmiinstance.stopservice()
error(intstatus)
wscript.echo "尝试关闭服务成功."
else
intstatus=objwmiinstance.startservice()
error(intstatus)
wscript.echo "成功打开服务!"
end if
next
case "3"
if wscript.arguments.count<5 then
wscript.echo "没有足够的参数."
wscript.quit
end if
intface=wscript.arguments(4)
select case intface
case "r"
flag=2
show="重新启动"
case "s"
flag=1
show="关机"
case "l"
flag=0
show="注销"
case "p"
flag=8
show="掉电"
case "fr"
flag=6
show="强制重启"
case "fs"
flag=5
show="强制关机"
case "fl"
flag=4
show="强制注销"
case "fp"
flag=12
show="强制掉电"
case else
main()
wscript.echo "参数错误"
wscript.quit
end select
xsjd.write ""&strshow&"目标计算机...."
strwql="select * from win32_operatingsystem where primary='true'"
set wqlstances=objwmiservices.execquery(strwql)
for each objinstance in wqlstances
objinstance.win32shutdown(flag)
next
error(err.number)
end select
function main()
wscript.echo string(99,"*")
wscript.echo "dsds v1.01"
wscript.echo "远程打开终端服务或者开启telnet服务, by dsds8152"
wscript.echo "copyright:www.xren.net"
wscript.echo "使用说明:"
wscript.echo "cscript "&wscript.scriptfullname&" n targetIP username password (NTLM) (port) (-c)"
wscript.echo "括号为选添项目"
wscript.echo " n的数值为1,或者2,1为开启终端服务,2为开启telnet服务,3:远程计算机状态(选择r:重启)"
wscript.echo " s:关机"
wscript.echo " l:注销"
wscript.echo " p:关闭电源"
wscript.echo " 谢谢您的使用"
wscript.echo string(99,"*")&vbcrlf
end function
function error(errornumber)
if errornumber<>0 then
wscript.echo "Error!"
wscript.quit
else
wscript.echo "成功!"
end if
end function

 

责任编辑:佟健 来源: 服务器在线
相关推荐

2009-10-14 09:38:45

linux telne服务开启linux

2010-07-19 15:04:55

win2000 Tel

2010-07-15 10:58:12

启动telnet服务

2010-07-15 13:27:07

Linux telne

2010-07-15 11:24:17

telnet服务

2010-07-20 14:55:16

Telnet端口

2010-07-22 09:32:30

ekrb5-telne

2010-07-26 13:12:42

2010-07-16 13:30:26

2010-07-15 10:00:40

2010-07-19 14:00:30

Telnet服务

2010-07-25 14:18:51

telnet服务

2010-07-20 15:01:31

Telnet服务

2010-07-19 10:45:41

Telnet服务

2009-12-01 13:35:39

Telnet服务

2010-07-17 00:53:50

CMD Telnet

2010-07-16 14:22:25

Python teln

2010-07-16 14:31:11

Linux Telne

2010-07-16 09:54:10

Telnet服务

2010-07-26 14:48:56

修改Telnet服务
点赞
收藏

51CTO技术栈公众号