İşlemler için WMI görevleri, bir işlemin çalıştırıldığı hesap gibi bilgileri alır. İşlem oluşturma gibi eylemler gerçekleştirebilirsiniz. Diğer örnekler için, https://www.microsoft.com/technetkonumundaki TechNet ScriptCenter'ne bakın.
Bu konuda gösterilen betik örnekleri yalnızca yerel bilgisayardan veri alır. Betiği uzak bilgisayarlardan veri almak için kullanma hakkında daha fazla bilgi için bkz. Uzak Bilgisayarda WMI'ye Bağlanma.
Aşağıdaki yordamda betiğin nasıl çalıştırıldığı açıklanmaktadır.
Betik çalıştırmak için
Kodu kopyalayın ve filename.vbsgibi .vbs uzantısına sahip bir dosyaya kaydedin. Metin düzenleyicinizin dosyaya .txt uzantısı eklemediğinden emin olun.
Bir komut istemi penceresi açın ve dosyayı kaydettiğiniz dizine gidin.
Komut istemine cscript filename.vbs yazın.
Olay günlüğüne erişemiyorsanız Yükseltilmiş komut isteminden çalıştırılıp çalıştıramadığınızı denetleyin. Güvenlik Olay Günlüğü gibi bazı Olay Günlüğü, Kullanıcı Erişim Denetimleri (UAC) tarafından korunabilir.
Not
Varsayılan olarak, cscript komut istemi penceresinde bir betiğin çıkışını görüntüler. WMI betikleri büyük miktarda çıkış üretebileceğinden, çıkışı bir dosyaya yeniden yönlendirmek isteyebilirsiniz.
filename.vbs betiğinin çıktısını outfile.txtyönlendirmek için komut istemine cscript filename.vbs > outfile.txt yazın.
Aşağıdaki tabloda, yerel bilgisayardan çeşitli veri türlerini almak için kullanılabilecek betik örnekleri listelenmiştir.
Nasıl...
WMI sınıfları veya yöntemleri
... gizli pencerede bir uygulama çalıştırılasın mı?
... yerel bilgisayarda hangi betiklerin çalıştırıldığı belirlensin mi?
Win32_Process sınıfını kullanın ve adı Cscript.exe veya Wscript.exeolan tüm işlemleri döndürür. Bu işlemlerde çalışan betikleri tek tek belirlemek için CommandLine özelliğinin değerini denetleyin.
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