您的位置:程序门 -> vc/mfc -> 网络编程



vc 调用 vb写的rtcs脚本 的问题


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


vc 调用 vb写的rtcs脚本 的问题[已结贴,结贴人:fgwxybmt]
发表于:2007-08-10 21:41:35 楼主
我想在程序里开多个线程调用这个脚本(有反回值的,像调用函数那种)开telnet服务,但是不知道怎么做,,高手请指点.另外把这段脚本用vc写更   好样就更方便了.不过好像要用到com编程,这个一点不懂...希望多指点..
发表于:2007-08-10 21:42:091楼 得分:0
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

发表于:2007-08-11 09:43:002楼 得分:0
up
发表于:2007-08-12 09:40:113楼 得分:0
高手们帮帮忙,在线等回.
发表于:2007-08-13 15:36:544楼 得分:50
coinitialize
coinitializesecurity
iwbemlocator   *piwbemlocator=   null;
cocreateinstance   (clsid_wbemadministrativelocator,
null   ,
clsctx_inproc_server   ¦   clsctx_local_server   ,  
iid_iunknown   ,
(   void   **   )   &   piwbemlocator);
piwbemlocator-> connectserver(
l "root/default ",     //   namespace
username,
password,
ipaddress,
flags,  
authority,
context,
&pwbemservices
);
发表于:2007-08-13 15:38:355楼 得分:0
代码太长
楼主要找翻译????
发表于:2007-08-13 15:49:566楼 得分:0
iwbemservices   *   pwbemservices   =   null;
if(piwbemlocator-> connectserver(
l "root\cimv2 "
,username
,password
,ipaddress
0,                             //   flags
null,                       //   authority
null,                       //   context
&pwbemservices
);
hresult   hres;
bstr   strquery   =   (l "select   *   from   win32_service   where   name= 'tlntsvr ' ");
bstr   strql   =   (l "wql ");
pwbemservices-> EXECquery(strql,   strquery,wbem_flag_return_immediately,null,&penumobject);

唉,不想打字了
你哪句不懂的提问好了
看在分的份上$_$
发表于:2007-08-13 16:37:327楼 得分:0
呵呵   还是你回答的啊   谢了..   如果你常在线最好加好友   有问题我直接问你就得了   分也不会少你的   省得这样比较慢   我qq459553
发表于:2007-08-13 16:41:478楼 得分:0
其实都看不懂..   这个是com编程吧   我没弄过这个.....   如果你有现成的完整的代码给我发过来好了,我把我剩的分都给你....
发表于:2007-08-13 17:13:379楼 得分:0
ok
公司不让用qq
家里的网到期了,上不了
qq34510687


快速检索

最新资讯
热门点击