Диспетчер задач показывает программы, которые работают - как я могу увидеть те, которые были завершены?

16

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

Я не использую свой компьютер один и иногда подозрительно.

MrSeas
источник
4
Если процесс завершен, он не будет отображаться в диспетчере задач, но может отображаться в журнале системных событий, см. Просмотр событий.
Моав
7
Если вы действительно не можете доверять людям , и делить свой компьютер, а затем выяснить , что они были работает, вероятно , слишком мало, слишком поздно.
Коди Грей,
1
Ирония этого вопроса восхитительна. Вы говорите, что вы подозрительно относитесь к тому, что другие делают на общем компьютере, которым вы пользуетесь, но вы тот, кто пытается отследить то, что все остальные сделали со своим аккаунтом !!
Легкость гонки с Моникой

Ответы:

36

Как узнать, какие программы были запущены, когда они были остановлены?

По умолчанию нет журналов того, какие программы были запущены.

Тем не менее, вы можете включить отслеживания процесса событий в журнале безопасности событий Windows (смотрите ниже инструкции) , и эта информация будет доступна для вас в будущем.

После включения событий отслеживания процессов вы можете использовать следующие команды Powershell для проверки событий:

Начало процесса:

Get-EventLog Security | Where-Object {$_.EventID -eq 4688} | Format-List

Остановка процесса:

Get-EventLog Security | Where-Object {$_.EventID -eq 4689} | Format-List

Приведенные выше команды выводят информацию о событии на экран.


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

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

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

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

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

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


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

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

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

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

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

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

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


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

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

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

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

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

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

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


А как насчет ExecutedProgramList от Nirsoft? Могу ли я использовать это?

ExecutedProgramList не дает полный список программ, которые были выполнены.

Например, в нем не перечислены какие-либо из переносимых программ, которые я в данный момент запускаю с моего большого пальца, например, Agent, Notepad ++, GSNotes, а также почти все программы Cygwin, которые я запускал со времени моего последнего перезапуска.

В нем не будет ни одной программы, которая ничего не записывает в места, указанные в ссылке:

Список ранее выполненных программ собран из следующих источников данных:

  • Ключ реестра: HKEY_CURRENT_USER\Classes\Local Settings\Software\Microsoft\Windows\Shell\MuiCache
  • Ключ реестра: HKEY_CURRENT_USER\Microsoft\Windows\ShellNoRoam\MUICache
  • Ключ реестра: HKEY_CURRENT_USER\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Compatibility Assistant\Persisted
  • Ключ реестра: HKEY_CURRENT_USER\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Compatibility Assistant\Store
  • Папка предварительной загрузки Windows (C: \ Windows \ Prefetch)

Source ExecutedProgramList


Дальнейшее чтение

ДэвидПостилл
источник
Изящный фрагмент PowerShell для извлечения полученной информации был бы хорошим дополнением к этому превосходному ответу.
Питер Мортенсен
@PeterMortensen Спасибо. Это действительно так. К сожалению, я не знаю PowerShell достаточно хорошо, чтобы написать один.
Дэвид Постилл
Аудит ручки дублирования звучит невероятно спам.
user253751
@PeterMortensen Мне удалось написать одну строку, которая дает информацию;)
DavidPostill
@ user20574 Что ты имеешь в виду?
ДэвидПостилл
3

Nirsoft имеет небольшое бесплатное приложение ExecutedProgramList , которое показывает список программ и командных файлов, которые выполняются в вашей системе. Обратите внимание, что он не всегда может показать время последнего запуска приложения из-за ограничений, присущих Windows, и, как упомянул @DavidPostill, он может пропустить переносимые приложения.

Он извлекает информацию из Windows, поэтому не нужно запускать его для составления списка.

DrMoishe Pippik
источник
1
ExecutedProgramListне дает полный список запущенных программ. Например, он не включает какой - либо из портативных программ я в настоящее время работает от моего брелка, например Agent, Notepad++, GSNotesа также почти все Cygwinпрограммы я запускать с момента моего последнего перезапуска. Так что это не очень всеобъемлющее .
DavidPostill
В нем не будет ни одной программы, которая ничего не записывает в места, указанные в ссылке.
Дэвид Постилл
Как это работает? Постоянно ли производится выборка текущих запущенных процессов? Или Windows получает уведомление, когда процессы запускаются и останавливаются?
Питер Мортенсен
@PeterMortensen Смотрите в конце моего ответа, как это работает. И это требует ручного обновления.
DavidPostill
1

История процессов также делает это. Это бесплатная и переносимая база данных процессов.

Это простая портативная .zip загрузка. На сайте загрузки есть руководство о том, как использовать его с видео.

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

Он будет работать на любой версии Windows от XP.

(Я являюсь автором этого программного обеспечения с открытым исходным кодом.)

История процесса
источник