2011-11-18 3 views
6

スケジュールされたジョブが実行されているプロセス名の正確な場所をにする必要があります。私はそれを得るためにWMIC JOBを(他の提案があれば..私に教えてください)使用したいですが、私は正確には分かりません。私はいくつかのバリエーションを試しましたが、これまでの運はありません。CMDでwmic job get/listを使用してプロセス名と場所を取得する方法は?

どうすればよいですか?

+0

もちろん、私は試してみましたが、それはWMICが巨大なテーマであり、正確に何をすべきかわかりません。 :) – ETL

答えて

5

ここから始めてください。

サービスSchedule

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

のプロセス識別子は、親プロセスの識別子が、私は考えていないScheduleサービス

を編集

wmic process where ParentProcessId=288 

あるプロセスをゲットマイクロソフトのシステムジョブでは、あなたが探しているものがあります:

ジョブオブジェクトを使用すると、プロセスのグループを1つの単位として管理できます。ジョブオブジェクトは、それに関連付けられたプロセスの属性を制御する、命名可能でセキュアな共有可能オブジェクトです。ジョブオブジェクトに対して実行される操作は、ジョブオブジェクトに関連付けられたすべてのプロセスに影響します。例には、ワーキングセットのサイズやプロセスの優先度などの制限を実施することや、ジョブに関連するすべてのプロセスを終了することなどがあります。

あなたはプロセスを探していると思います。

あなたの質問に答えるために、私はスケジュールサービスによって開始されたプロセスを探します。正確な場所が必要な場合は、プロパティExecutablePathで指定します。

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

不要なコメントが削除されました。 これらのコマンドは、プロセス名(+プロセス名)の場所ではなく、スケジュールサービスにアクセスする方法に関連しています。私はsomethigが欠けていますか?なぜあなたはWMIC SERVICE/PROCESSを使用しましたが、JOBは使用しませんでしたか?そのすべての部分ですか?ありがとう。 – ETL

+0

私の答えを変更します。私は参照してください – JPBlanc

+0

。しかし、私の要点は、スケジュールサービスによって開始されたプロセスを探すために**必要ではありません**。たとえば、スケジュールサービスが無効になっている場合、コードは必要なものをすべて見つけることはできません。 – ETL

5

あなただけの「CommandLineまたはを必要とするものの、以下は、動作する「ExecutablePath」 - 両方ではない:

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

それは、PIDのための場所のプログラムを示す、次のようなものを返します。 1111が実行中です。

-1

WMICにはプログレッシブヘルプが組み込まれているため、 /?どこでも

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

[global switches] <command> 
関連する問題