Как использовать wmic job get/list в CMD, чтобы получить имя и местоположение процесса?

Мне нужно получить точное местоположение имени процесса, который выполняет запланированное задание. Я хочу использовать WMIC JOB (если у вас есть другие предложения, дайте мне знать), чтобы получить это, но я не знаю, КАК точно. Я пробовал несколько вариантов, но пока не повезло.

Как я должен?

3 ответа

Следующее будет работать, хотя вам нужно толькоCommandLine" или "ExecutablePath" - не оба:

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

Он вернет что-то вроде следующего, показывая, где работает программа для PID 1111:

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

Вот с чего начать.

Получить идентификатор процесса сервиса Schedule

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

Получить процесс, родительский идентификатор которого является Schedule оказание услуг

wmic process where ParentProcessId=288

отредактированный

Я не думаю, что в работе системы Microsoft то, что вы ищете:

Объект задания позволяет управлять группами процессов как единым целым. Объекты заданий - это полезные, защищаемые, разделяемые объекты, которые управляют атрибутами связанных с ними процессов. Операции, выполняемые над объектом задания, влияют на все процессы, связанные с объектом задания. Примеры включают принудительное ограничение, такое как размер рабочего набора и приоритет процесса, или завершение всех процессов, связанных с заданием.

Я думаю, что вы ищете процесс.

Чтобы ответить на ваш вопрос, я ищу процессы, запущенные службой расписания. Если вы хотите точное местоположение, оно указывается собственностью ExecutablePath,

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

WMIC имеет встроенную прогрессивную справку, поэтому вы можете узнать его синтаксис, используя /? в любом месте

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

[global switches] <command>
Другие вопросы по тегам