Как использовать 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>