10

スケジュールされたジョブが実行されているプロセス名の正確な場所を取得する必要があります。WMIC JOB を使用してそれを取得したいのですが (他の提案があれば教えてください)、正確な方法がわかりません。いくつかのバリエーションを試しましたが、今のところうまくいきません。

どうすればいいですか?

4

3 に答える 3

14

CommandLine以下は機能しますが、" "または" "のみが必要であり、ExecutablePath両方ではありません。

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

次のようなものが返され、PID 1111 のプログラムが実行されている場所が示されます。

"C:\Program Files (x86)\Common Files\MyProgram\Agent\agent.exe"
于 2014-09-09T16:00:24.820 に答える
6

ここから始めましょう。

サービスのプロセス識別子を取得するSchedule

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

親プロセス識別子がScheduleサービスであるプロセスを取得します

wmic process where ParentProcessId=288

編集済み

Microsoft システム ジョブでは、あなたが探しているものはないと思います。

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

プロセスを探していると思います。

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

wmic process where ParentProcessId=288 get ExecutablePath
ExecutablePath
C:\Windows\system32\wuauclt.exe
于 2011-12-10T08:11:53.373 に答える
-2

WMIC にはプログレッシブ ヘルプが組み込まれているため、どこでも使用/?してその構文を学習できます。

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

[global switches] <command>
于 2016-05-28T17:53:15.330 に答える