A folyamatok WMI-feladatai olyan információkat szereznek be, mint például az a fiók, amelyen egy folyamat fut. Olyan műveleteket hajthat végre, mint a folyamatok létrehozása. További példákért tekintse meg a TechNet ScriptCentert https://www.microsoft.com/technet.
Az ebben a témakörben bemutatott példaszkriptek csak a helyi számítógépről szereznek be adatokat. A parancsfájl távoli számítógépekről történő lekéréséről további információt a Csatlakozás a WMI-hez távoli számítógépencímű témakörben talál.
Az alábbi eljárás egy szkript futtatását ismerteti.
Szkript futtatásához
Másolja ki a kódot, és mentse egy .vbs kiterjesztésű fájlba, például filename.vbs. Győződjön meg arról, hogy a szövegszerkesztő nem ad hozzá .txt kiterjesztést a fájlhoz.
Nyisson meg egy parancssori ablakot, és keresse meg azt a könyvtárat, ahová a fájlt mentette.
Írja be cscript filename.vbs a parancssorba.
Ha nem tud hozzáférni egy eseménynaplóhoz, ellenőrizze, hogy rendszergazda jogú parancssorból fut-e. Egyes eseménynaplók, például a biztonsági eseménynaplók felhasználói hozzáférés-vezérléssel (UAC) védhetők.
Jegyzet
Alapértelmezés szerint a cscript megjeleníti egy szkript kimenetét a parancssori ablakban. Mivel a WMI-szkriptek nagy mennyiségű kimenetet képesek előállítani, érdemes lehet átirányítani a kimenetet egy fájlba. Írja be cscript filename.vbs > outfile.txt parancssorba a filename.vbs szkript kimenetének átirányításához outfile.txt.
Az alábbi táblázat olyan példaszkripteket sorol fel, amelyekkel különböző típusú adatokat szerezhet be a helyi számítógépről.
... határozza meg, hogy mely szkriptek futnak a helyi számítógépen?
Használja a Win32_Process osztályt, és adja vissza az összes folyamatot Cscript.exe vagy Wscript.exenéven. Az ezekben a folyamatokban futó egyes szkriptek meghatározásához ellenőrizze a CommandLine tulajdonság értékét.
VB
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")
Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_Process" & _
" WHERE Name = 'cscript.exe'" & " OR Name = 'wscript.exe'",,48)
For Each objItem in colItems
Wscript.Echo "-------------------------------------------"
Wscript.Echo "CommandLine: " & objItem.CommandLine
Wscript.Echo "Name: " & objItem.Name
Next
Const ABOVE_NORMAL = 32768
strComputer = "."
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colProcesses = objWMIService.ExecQuery ("Select * from Win32_Process Where Name = 'Notepad.exe'")
For Each objProcess in colProcesses
objProcess.SetPriority(ABOVE_NORMAL)
Next
strComputer = "."
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colProcessList = objWMIService.ExecQuery ("Select * from Win32_Process Where Name = 'Notepad.exe'")
For Each objProcess in colProcessList
objProcess.Terminate()
Next