遠程開啟/關閉目標telnet服務的windows指令碼RTCS.vbs_vbs

來源:互聯網
上載者:User
******************************************************************************** 
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 
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.