HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

A rendszerben lévő szolgáltatások információinak összegyűjtése


Példaprogram letöltése

2041 bájt

Az operációs rendszerbe telepített szolgáltatások szkriptből való elérésével már több cikkünkben foglalkoztunk, most egy olyan szkriptet készítünk, amely a "Szolgáltatások" ("Services") felügyeleti MMC konzolhoz hasonlóan minden szolgáltatásról részletes információt ad. A visszakapott adatokat azonban nem a képernyőn jelenítjük meg, hanem az Excel számára feldolgozható CSV formátumban.

Cikkünkhöz mellékeltük az alábbiakban tárgyalásra kerülő szkriptet "ServicesList.vbs" néven. Futtatásával az aktuális könyvtárban létrehozott "List.csv" fájlba mentjük a telepített szolgáltatásokról gyűjtött információkat.
Első feladatunk, hogy létrehozzuk az adatok tárolására szolgáló CSV fájlt. Ha már létezik az állomány, az adatokat fűzzük hozzá a meglévő tartalomhoz.
Const ForAppending = 8
Miden fájllal kapcsolatos műveletet a "FileSystemObject" (FSO) osztályon keresztül tudunk végrehajtani, lépjünk tehát kapcsolatba vele.
Set objFSO = CreateObject("Scripting.FileSystemObject")
Nyissuk meg az aktuális könyvtárban lévő "List. csv" fájlt. Ha nem létezik, az FSO létrehozza (True kapcsoló), ha létezik, az új adatokat hozzáfűzzük a meglévőkhöz.
Set objLogFile = objFSO.OpenTextFile("List.csv", ForAppending, True)
Készítünk egy fejlécet a táblázatos megjelenítéshez, ahol az egyes oszlopokban lévő adatok magyarázata szerepel.
objLogFile.Write ("Gépnév,Szolg. név,Típus,Állapot,Kilépései kód,Folyamat ID,Felfüggesztve,Leállítva,Fejléc,Leírás,Interakció a felh. felülettel,Név,Hibaellenőrzés,Elérési út,Elindítva,Indítás módja,fiók") 
Beszúrunk egy üres sort és ezzel gyakorlatilag végeztünk a "List.csv" fájl szerkezetének kialakításával, következhet az adatokkal való feltöltés.
objLogFile.Writeline
A helyi gépre (.) telepített szolgáltatásokat fogjuk feldolgozni, a pontot egy gépnévre vagy IP cserélve, hálózaton keresztül egy másik gép adatait is összegyűjthetjük.
strComputer = "."
Kapcsolatot kell teremtenünk a WMI (Windows Management Instrumentation) szolgáltatás \root\cimv2 névterével, mert itt található a Win32_Service osztály, mely alkalmas a prioritásváltás elvégzésére.
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Lekérjük az osztály összes objektumát.
Set colListOfServices = objWMIService.ExecQuery ("Select * from Win32_Service")
Egy FOR ciklussal feldolgozzuk az eredményt.
For Each objService in colListOfServices
Egyenként lekérjük a tulajdonságokat és beleírjuk a fájlba, az egyes tagokat vesszővel választjuk el egymástól, ami gondot okozhat olyan szempontból, hogy a hosszabb szöveget tartalmazó adatokban (pl.: a szolgáltatás leírása (description)) is lehet vessző. Példánkban inkább a teljességre törekedtünk, ezért meghagytuk az ilyen tulajdonságokat is, de a gyakorlatban csak ritkán van rájuk szükség, akkor pedig egy másik ugyanilyen ciklussal kell feldolgozni őket.
    objLogFile.Write(objService.SystemName) & "," 
    objLogFile.Write(objService.Name) & "," 
    objLogFile.Write(objService.ServiceType) & "," 
    ...
    objLogFile.writeline
Next
Utolsó lépés a fájl lezárása.
objLogFile.Close

Cikksorozat

#IDKategóriaCikk címeSorozat
1621DelphiMySQL szerverek elérése Delphi-ből1. rész
1632DelphiMySQL szerverek elérése Delphi-ből2. rész
1641DelphiMySQL szerverek elérése Delphi-ből3. rész
1649DelphiMySQL szerverek elérése Delphi-ből4. rész


Könyv
Ez a cikk megtalálható ebben a könyvben: Windows Software Offline 2003 évkönyv 35. oldal

Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!

Copyright © 1999-2012 Animare Software Kft. Minden jog fenntartva!
| Készült: Animare Stúdió | Adatvédelem | Kapcsolat |