2011-11-18 22 views
6

Zamanlanmış bir işin yürütüldüğü işlem isminin tam konumunu bulmam gerekiyor. Bunu elde etmek için WMIC JOB'u kullanmak istiyorum (eğer başka bir öneriniz varsa bana bildirin), fakat tam olarak NASIL bilmiyorum. Çok çeşitli varyasyonlar denedim ama şimdiye kadar hiç şans yoktu.İşlem adı ve konum almak için CMM'de nasıl wmic iş alma/listesi kullanılır?

Nasıl yapmalıyım?

+0

Tabii ki denedim, sadece WMIC büyük bir konu ve tam olarak ne yapacağımı bilmiyorum. :) – ETL

cevap

5

Başlamak için bir şey var.

Üst süreç kimliğini

sanmıyorum

Düzenlendi Schedule servisi

wmic process where ParentProcessId=288 

olan süreci alın hizmet Schedule

wmic service where name='schedule' get ProcessId 
ProcessId 
288 

işlem tanımlayıcısı alın Microsoft sistem işlerinde aradığınız şey:

Bir iş nesnesi, süreç gruplarının bir birim olarak yönetilmesini sağlar. İş nesneleri, onlarla ilişkili işlemlerin niteliklerini denetleyen, güvenilir, paylaşılabilir, paylaşılabilir nesnelerdir. Bir iş nesnesinde gerçekleştirilen işlemler, iş nesnesiyle ilişkili tüm işlemleri etkiler. Örnekler arasında, çalışma seti boyutu ve işlem önceliği gibi sınırların uygulanması veya bir işle ilişkili tüm süreçlerin sonlandırılması yer alır.

Sanırım süreci arıyorsunuz.

Sorunuzu yanıtlamak için, zamanlama hizmeti tarafından başlatılan işlemleri arayın. Tam yerini istiyorsanız, ExecutablePath numaralı telefon tarafından verilir.

wmic process where ParentProcessId=288 get ExecutablePath 
ExecutablePath 
C:\Windows\system32\wuauclt.exe 
+0

Gereksiz yorumlar kaldırıldı. Bu komutlar, bir işlem adının yerine (+ işlem adı) değil, Zamanlama servisine nasıl ulaşılacağıyla ilgilidir. Ben somethig eksik miyim? Neden WMIC SERVICE/PROCESS kullanıyorsunuz? Bunların hepsi bu mu? Teşekkürler. – ETL

+0

Cevabımı değiştirdim. – JPBlanc

+0

Anladım. Ama benim için zaman çizelgesi hizmeti tarafından başlatılan işlemleri aramak için ** gerekli değil **. Örneğin, program hizmeti devre dışı bırakılmışsa, kod ihtiyaç duyduğum her şeyi bulamaz. – ETL

5

Yalnızca "CommandLine" veya ihtiyaç olsa şu, çalışacak "ExecutablePath" - ikisini:

wmic process where "ProcessID=1111" get CommandLine, ExecutablePath 

Bu PID nerede programı gösteren aşağıdaki gibi bir şey dönecektir 1111 çalışıyor:

"C:\Program Files (x86)\Common Files\MyProgram\Agent\agent.exe" 
-1

WMIC yerleşik bir ilerletme yardımına sahiptir, bu nedenle sözdizimini kullanarak öğrenebilirsiniz. Herhangi bir yerde /? Herhangi bir yerde

C:\WINDOWS\system32>wmic 
wmic:root\cli>/? 

[global switches] <command>