怎样用WMI获取远程系统信息

上传人:pu****.1 文档编号:512556292 上传时间:2023-11-05 格式:DOCX 页数:58 大小:71.54KB
返回 下载 相关 举报
怎样用WMI获取远程系统信息_第1页
第1页 / 共58页
怎样用WMI获取远程系统信息_第2页
第2页 / 共58页
怎样用WMI获取远程系统信息_第3页
第3页 / 共58页
怎样用WMI获取远程系统信息_第4页
第4页 / 共58页
怎样用WMI获取远程系统信息_第5页
第5页 / 共58页
点击查看更多>>
资源描述

《怎样用WMI获取远程系统信息》由会员分享,可在线阅读,更多相关《怎样用WMI获取远程系统信息(58页珍藏版)》请在金锄头文库上搜索。

1、用WMI获取远程系统信息WMI(Windows管理规范:Windows Management Instrumentation)是Microsoft基于Web的企业管理(WBEM)的实现,同时也是一种基于标准的系统管理接口。WMI是一种轻松获取系统信息的强大工具, 而且不依赖IPC$。 我把zzzevazzz的rs系列的几个脚本用C写了一遍,可以查/杀进程、列举系统信息、列举/停止/启动服务、注销用户登陆/重启目标/关机/断电、列举用户信息。WMI的应用远不止这些,更多功能等你挖掘了。后附源代码(ps:代码结构很差,将就着看吧)。 另:由于是用CC写的,所所以需要.NNET Frramewoor

2、k 的支支持。 编译好的可执行行文件: ftp:110.1.11.1inncominngWMIImwmii.exe .NET Frramewoork安装文文件: ftp:110.1.11.1inncominngWMIINET Frameework v1.0.3705 Setupp.exe -cut hhere- using SSystemm; using SSystemm.Manaagemennt; class MMWmi /帮助 publicc stattic vooid ussage() Consoole.WrriteLiine(); Consoole.WrriteLiine(MMWmi

3、vv0.1 , by mmyld); Consoole.WrriteLiine(); Consoole.WrriteLiine(UUsage: ); Consoole.WrriteLiine( -psliist -LList pprocessses.); Consoole.WrriteLiine( -pskiill -Kill proceess.); Consolee.WritteLinee( -oosinfoo -Shoow SysstemInnfo.); Consoole.WrriteLiine( -shutt -Shuutdowmm systtem.); Consoole.WrriteL

4、iine( -svcllist -List serviice.); Consoole.WrriteLiine( -starrtsvc -Startt a seervicee.); Consoole.WrriteLiine( -stoppsvc -SStop aa servvice.); Consoole.WrriteLiine( -userrlist -Showw all userss.); Consoole.WrriteLiine(); / 应用用程序的主入入口点。 publicc stattic vooid Maain(sttring arggs) if ( args.Lengtth 44

5、 ) usagge(); Enviironmeent.Exxit(0); if( aargs00 = -psllist) ConnnectioonOptiions Conn = new ConneectionnOptioons(); Connn.Userrname =argss2; if(aargs33=NNULL) Connn.Passswordd =; elsee Connn.Passsword =argss3; ManaagemenntScoppe ms = neww ManaagemenntScoppe( +args1+roottcimmv2, Conn ); try ms.Conne

6、ect(); ObjjectQuuery QQuery = neww ObjeectQueery(SSELECTT ProccessIdd,Namee,ExeccutabllePathh FROMM Win332_Proocess); MannagemeentObjjectSeearcheer linnk = nnew MaanagemmentObbjectSSearchher(mss,Querry); MannagemeentObjjectCoollecttion CCollecction = linnk.Gett(); Connsole.WriteeLine(); Connsole.Wri

7、teeLine(PID Name ExecuutableePath); forreach (ManaagemenntObjeect Prrocesss in CCollecction) Coonsolee.WritteLinee( Connvert.ToStrring(PProcesssPrrocesssId).PadRRight(6)+ Conveert.TooStrinng(ProocessNamee).PPadRigght(200)+ProocessExeccutabllePathh ); Connsole.WriteeLine(); catcch(Excceptioon exOObj)

8、 Connsole.WriteeLine(); Connsole.WriteeLine(Failled! EError code: +exxObj.MMessagge); Connsole.WriteeLine(); / EEND -ppslistt else if( aargs00 = -pskkill ) if ( argss.Lenggth != 5 ) usaage(); Envvironmment.EExit(00); try ConnnectiionOpttions Conn = new ConneectionnOptioons(); Connn.Useernamee =arggs

9、2; if(args3=NULL) Coonn.Paassworrd =; elsse Connn.Passswordd =arggs3; /sstringg ProNName = argss4; MannagemeentScoope mss = neew MannagemeentScoope( + arrgs1 + roottcimmv2, Conn); ms.Conneect(); ObjjectQuuery QQuery = neww ObjeectQueery(SSELECTT * FRROM Wiin32_PProcesss); MannagemeentObjjectSeearche

10、er linnk = nnew MaanagemmentObbjectSSearchher(mss,Querry); MannagemeentObjjectCoollecttion CCollecction = linnk.Gett(); forreach (ManaagemenntObjeect Prrocesss in CCollecction) iff ( Coonvertt.ToSttring(ProceessPProcesssId) = args4 ) sstringg Tpparas = 11; PProcesss.InvvokeMeethod(Termminatee, Tppar

11、as); CConsolle.WriiteLinne(); CConsolle.WriiteLinne(Kiill prrocesss 0 Succeessfull!, PProcesssNaame ); catcch(Excceptioon exOObj) Connsole.WriteeLine(); Connsole.WriteeLine(Failled! EError code: +exxObj.MMessagge ); Connsole.WriteeLine(); /ENND -psskill else if (aargs00 = -osiinfo) ConnnectioonOptiions Conn = new ConneectionnOptioons(); Connn.Userrname =argss2; if(aargs33=NNULL) Connn.Passswordd =; elsee Connn.Passsword =argss3; ManaagemenntScoppe ms = neww ManaagemenntScoppe( + arggs1 + rootcimvv2, CConn); try /WWin32_CompuuterSyystem ms.Conneect();

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业/管理/HR > 市场营销

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号