我想在程序里开多个线程调用这个脚本(有反回值的,像调用函数那种)开TelNet服务,但是不知道怎么做,,高手请指点.另外把这段脚本用VC写更 好样就更方便了.不过好像要用到COM编程,这个一点不懂...希望多指点..
解决方案 »
- 试用期vs2008 开发的商业软件 不会有盗版的问题吧
- 软件基于com组件有什么好处
- CHtmlView中如何过滤部分HTML代码
- activex控件加载时会弹出提示是否加载,, 选择 否......
- 怎么用MDI程序中的Serialize写文件?发现很奇怪的现象!
- 高手救命:CDataSource,CSession,CCommand<CAccessor<my> >,CTable<CAccessor<my> > 数据集不能用insert,等问题(顺提供atl的数据库访问过
- 如何序列化COleClientItem??
- FD_SET(0,&fdset);是什么意思呀,怎么写了个0?
- 在程序中调用其它程序的问题
- ADO连接SQL连接错误(急)
- socket发送html脚本
- 如何编写一个自动修复网络连接的工具?
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 ifipaddress=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 ifusage()
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
nextfunction showerror(errornumber)
if errornumber<>0 then
wscript.echo "Error!"
wscript.quit
else
wscript.echo "OK!"
end if
end functionfunction 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
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
);
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);唉,不想打字了
你哪句不懂的提问好了
看在分的份上$_$
公司不让用QQ
家里的网到期了,上不了
QQ34510687