Как определить завершенный процесс Windows, если у меня все еще есть свой PID?


14

Фон: В середине моей работы неожиданно появилось лицензионное соглашение на установку «Microsoft Mouse and Keyboard Center». Я хотел бы понять, какой процесс запустил установку, но, используя Process Explorer, я увидел, что он исчез, и смог найти только его PID (см. Скриншот).

Вопрос:

Если вы используете Process Explorer , вы, возможно, знаете ситуацию, когда родительский процесс процесса больше не существует, и вы можете видеть только его PID:

введите описание изображения здесь

Существуют ли журналы Windows, содержащие связь PID с запущенным процессом? чтобы я мог узнать, какой процесс выполнялся под данным PID?

Предпочтительно меня интересуют сценарии, где я этого не ожидал, поэтому я не использовал Process Monitor для захвата событий в системе.

Ответы:


11

Существуют ли журналы Windows, содержащие связь PID с запущенным процессом?

По умолчанию таких логов нет. Однако вы можете включить отслеживание процессов в журнале событий безопасности Windows.

Примечания:


Как использовать события отслеживания процессов в журнале безопасности Windows

В Windows 2003 / XP вы получаете эти события, просто включив политику аудита отслеживания процессов.

В Windows 7/2008 + необходимо включить создание процесса аудита и, при необходимости, подкатегории завершения процесса аудита, которые вы найдете в разделе «Расширенная настройка политики аудита» в объектах групповой политики.

Эти события невероятно ценны, потому что они дают исчерпывающий контрольный журнал каждый раз, когда любой исполняемый файл в системе запускается как процесс. Вы даже можете определить, как долго выполняется процесс, связав событие создания процесса с событием завершения процесса, используя идентификатор процесса, найденный в обоих событиях. Примеры обоих событий приведены ниже.

введите описание изображения здесь

Источник Как использовать события отслеживания процессов в журнале безопасности Windows


Как включить создание процесса аудита

  1. Запустите gpedit.msc

  2. Выберите «Настройки Windows»> «Настройки безопасности»> «Локальные политики»> «Политика аудита»

    введите описание изображения здесь

  3. Щелкните правой кнопкой мыши «Аудит отслеживания процессов» и выберите «Свойства»

  4. Проверьте «Успех» и нажмите «ОК»

    введите описание изображения здесь


Что такое отслеживание процессов аудита

Этот параметр безопасности определяет, будет ли ОС проверять связанные с процессом события, такие как создание процесса, завершение процесса, дублирование обработки и косвенный доступ к объектам.

Если этот параметр политики определен, администратор может указать, следует ли проверять только успехи, только неудачи, как успехи, так и неудачи, или вообще не проверять эти события (т.е. ни успехи, ни неудачи).

Если включен Аудит успеха, запись аудита создается каждый раз, когда ОС выполняет одно из этих действий, связанных с процессом.

Если аудит отказов включен, запись аудита создается каждый раз, когда ОС не может выполнить одно из этих действий.

По умолчанию: без аудита

Важное замечание: Для большего контроля над политиками аудита используйте параметры в узле Конфигурация расширенной политики аудита. Дополнительные сведения о настройке расширенной политики аудита см. По адресу http://go.microsoft.com/fwlink/?LinkId=140969 .


Дэйв, может быть, вы могли бы использовать подход "самый быстрый пистолет на западе" . Пока вы писали свой длинный и сложный ответ, я выполнил шаги в другом ответе (так же, как вы добавили позже) и собирался принять его. Так что теперь у меня есть дилемма, на которую ответить, чтобы принять ... :)
miroxlav

1
Я предпочел бы иметь лучший ответ, чем первый ответ;) Если они одно и то же, то это бонус. Я действительно сообщил вам (в уже исправленном комментарии), что готовлю свой ответ. И я использую медленное подключение к интернету через мой мобильный телефон: /
DavidPostill

Ах да, ты сделал. ОТО, возможно, не стесняйтесь написать «вы можете включить ведение журнала аудита в локальных политиках», опубликовать и продолжить создание ответа с образовательной ценностью. Иногда даже небольшая подсказка может лучше помочь мне (ОП), чем ждать 60 минут для получения отличного ответа :) Я имею в виду, я знаю, где находятся местные политики, мне просто нужна была небольшая подсказка.
Miroxlav

@DavidPostill: Было бы неплохо, если бы вы упомянули, как часто эти журналы очищаются (или как часто они должны очищаться вручную), потому что я думаю, что они могут быть довольно длинными ...
user541686

1
@Mehrdad Журналы событий, при необходимости, могут быть удалены из командной строки с помощью wevtutil. Это проще, чем использовать графический интерфейс просмотра событий.
Дэвид Постилл

3

Единственный способ убедиться, что у вас должен быть включен аудит, чтобы отслеживать создание процессов.

В программе «Локальная политика безопасности» (введите secpol.mscс экрана запуска, если у вас возникли проблемы с ее поиском), перейдите в «Настройки безопасности -> Локальные политики -> Политика аудита», затем включите «Отслеживание процесса аудита» для «Успех».

введите описание изображения здесь

После того, как вы это сделаете, перейдите к средству просмотра событий и проверьте журнал событий «Secruity», там вы увидите записи «Audit Success» для каждого запуска или завершения процесса.

Процесс завершен.

Предмет:
    Идентификатор безопасности: SYSTEM
    Имя учетной записи: SCOTT-PC $
    Домен аккаунта: WORKGROUP
    Идентификатор входа: 0x3E7

Обрабатывать информацию:
    Идентификатор процесса: 0x1338
    Имя процесса: C: \ Windows \ System32 \ согласия.exe
    Статус выхода: 0x0

Вам нужно будет преобразовать искомый идентификатор процесса из десятичного числа в шестнадцатеричное (3336 становится 0xD08). Самый простой способ конвертировать - это открыть калькулятор Windows, перейти в режим «Программист», ввести число в режиме «dec», затем нажать в режиме «hex». Отображаемое число будет преобразовано в гекс для вас.


Да, такой ответ я ожидал. Проще говоря: включите ведение журнала и, таким образом, сможете проверить его результаты.
Miroxlav

0

Если это одноразовая вещь и вы не хотите постоянно регистрировать свои процессы, я бы предложил использовать Microsoft Process Monitor ( https://technet.microsoft.com/en-us/Library/bb896645.aspx ). Он должен быть запущен до появления популярного, но даже после того, как родительский процесс мертв, он соберет всю информацию, которую вы искали.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.