Trình quản lý tác vụ hiển thị các chương trình đang chạy - làm cách nào tôi có thể thấy các chương trình đã kết thúc?


16

Làm cách nào để biết chương trình nào đang chạy trên máy tính của tôi ngay cả khi chúng bị dừng ở mức mà Trình quản lý tác vụ không thể hiển thị?

Tôi không sử dụng máy tính một mình và đôi khi nghi ngờ.


4
Nếu quá trình đã kết thúc, nó sẽ không hiển thị trong trình quản lý tác vụ nhưng nó có thể hiển thị trong nhật ký sự kiện hệ thống, xem Trình xem sự kiện.
Moab

7
Nếu bạn thực sự không thể tin tưởng vào những người đang chia sẻ máy tính của mình, thì việc tìm hiểu những gì họ đang chạy có lẽ là quá ít, quá muộn.
Cody Grey

1
Sự trớ trêu của câu hỏi này là ngon. Bạn nói rằng bạn nghi ngờ về những gì người khác làm trên máy tính dùng chung mà bạn sử dụng, nhưng bạn là người cố gắng rình mò những gì mọi người khác đã làm với tài khoản của họ !!
Cuộc đua nhẹ nhàng với Monica

Câu trả lời:


36

Làm cách nào để biết chương trình nào đang chạy khi chúng bị dừng

Theo mặc định, không có nhật ký về những chương trình đã được chạy.

Tuy nhiên, bạn có thể bật Sự kiện theo dõi quá trình trong Nhật ký sự kiện bảo mật của Windows (xem bên dưới để biết hướng dẫn) và thông tin này sẽ có sẵn cho bạn trong tương lai.

Khi các Sự kiện Theo dõi Quá trình được bật, bạn có thể sử dụng các lệnh Powershell sau để kiểm tra các sự kiện:

Quá trình bắt đầu:

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

Dừng quá trình:

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

Các lệnh trên đổ thông tin sự kiện ra màn hình.


Cách sử dụng các sự kiện theo dõi quá trình trong Nhật ký bảo mật của Windows

Trong Windows 2003 / XP, bạn có được các sự kiện này bằng cách kích hoạt chính sách kiểm toán Theo dõi tiến trình.

Trong Windows 7/2008 +, bạn cần kích hoạt Tạo quy trình kiểm toán và, tùy chọn, các danh mục con Chấm dứt quá trình kiểm toán mà bạn sẽ tìm thấy trong Cấu hình chính sách kiểm toán nâng cao trong các đối tượng chính sách nhóm.

Những sự kiện này có giá trị vô cùng vì chúng đưa ra một lộ trình kiểm toán toàn diện mỗi khi bất kỳ sự thực thi nào trên hệ thống được bắt đầu như một quá trình . Bạn thậm chí có thể xác định quá trình chạy trong bao lâu bằng cách liên kết sự kiện tạo quy trình với sự kiện chấm dứt quy trình bằng ID tiến trình được tìm thấy trong cả hai sự kiện. Ví dụ về cả hai sự kiện được hiển thị dưới đây.

nhập mô tả hình ảnh ở đây

Nguồn Cách sử dụng các sự kiện theo dõi quá trình trong Nhật ký bảo mật của Windows


Cách bật Tạo quy trình kiểm toán

  1. Chạy gpedit.msc

  2. Chọn "Cài đặt Windows"> "Cài đặt bảo mật"> "Chính sách cục bộ"> "Chính sách kiểm toán"

    nhập mô tả hình ảnh ở đây

  3. Nhấp chuột phải vào "Theo dõi quá trình kiểm toán" và chọn "Thuộc tính"

  4. Kiểm tra "Thành công" và nhấp vào "OK"

    nhập mô tả hình ảnh ở đây


Theo dõi quá trình kiểm toán là gì

Cài đặt bảo mật này xác định xem HĐH có kiểm tra các sự kiện liên quan đến quy trình như tạo quy trình, chấm dứt quy trình, xử lý sao chép và truy cập đối tượng gián tiếp hay không.

Nếu cài đặt chính sách này được xác định, quản trị viên có thể chỉ định xem chỉ kiểm toán thành công, chỉ thất bại, cả thành công và thất bại hay không kiểm toán tất cả các sự kiện này (nghĩa là không thành công cũng không thất bại).

Nếu kiểm toán thành công được bật, một mục kiểm toán được tạo ra mỗi khi HĐH thực hiện một trong các hoạt động liên quan đến quy trình này.

Nếu kiểm tra Thất bại được bật, một mục kiểm toán được tạo ra mỗi khi HĐH không thực hiện một trong các hoạt động này.

Mặc định: Không kiểm toán

Quan trọng: Để kiểm soát nhiều hơn đối với các chính sách kiểm toán, hãy sử dụng các cài đặt trong nút Cấu hình chính sách kiểm toán nâng cao. Để biết thêm thông tin về Cấu hình chính sách kiểm toán nâng cao, hãy xem http://go.microsoft.com/fwlink/?LinkId=140969 .


Điều gì về ExecutedProgramList từ Nirsoft? Tôi có thể sử dụng nó?

ExecutedProgramList không cung cấp danh sách đầy đủ các chương trình đã được thực thi.

Ví dụ: nó không liệt kê bất kỳ chương trình di động nào tôi đang chạy từ ngón tay cái của mình, ví dụ: Agent, Notepad ++, GSNotes cũng như hầu hết mọi chương trình Cygwin tôi đã chạy kể từ lần khởi động lại cuối cùng.

Nó sẽ không liệt kê bất kỳ chương trình nào không ghi bất cứ điều gì vào các vị trí được đề cập trong liên kết:

Danh sách các chương trình được thực hiện trước đó được thu thập từ các nguồn dữ liệu sau:

  • Mã đăng kí: HKEY_CURRENT_USER\Classes\Local Settings\Software\Microsoft\Windows\Shell\MuiCache
  • Mã đăng kí: HKEY_CURRENT_USER\Microsoft\Windows\ShellNoRoam\MUICache
  • Mã đăng kí: HKEY_CURRENT_USER\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Compatibility Assistant\Persisted
  • Mã đăng kí: HKEY_CURRENT_USER\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Compatibility Assistant\Store
  • Thư mục tải trước Windows (C: \ Windows \ Prefetch)

Nguồn ExecutedProgramList


Đọc thêm


Một đoạn mã PowerShell tiện lợi để trích xuất thông tin kết quả sẽ là một bổ sung hay cho câu trả lời tuyệt vời này.
Peter Mortensen

@PeterMortensen Cảm ơn. Quả thực là như vậy. Thật không may, tôi không biết powershell đủ tốt để viết một.
DavidPostill

Kiểm toán xử lý trùng lặp âm thanh vô cùng spam.
dùng253751

@PeterMortensen Tôi đã quản lý để viết một lớp lót cung cấp thông tin;)
DavidPostill

@ user20574 Ý bạn là gì?
DavidPostill

3

Nirsoft có một ứng dụng nhỏ, miễn phí, ExecutedProgramList , hiển thị danh sách các chương trình và tệp bó thực thi trên hệ thống của bạn. Lưu ý rằng không phải lúc nào cũng có thể hiển thị thời gian ứng dụng bắt đầu lần cuối, do những hạn chế vốn có trong Windows và, như @DavidPostill đã đề cập, nó có thể bỏ lỡ các ứng dụng di động.

Nó lấy thông tin từ Windows, vì vậy không cần phải chạy để biên dịch danh sách của nó.


1
ExecutedProgramListkhông cung cấp một danh sách đầy đủ các chương trình chạy. Ví dụ, nó không liệt kê bất kỳ chương trình portable Tôi hiện đang chạy từ ổ cứng di động của tôi, ví dụ như Agent, Notepad++, GSNotescũng như hầu hết các Cygwinchương trình tôi đã chạy từ khởi động lại cuối cùng của tôi. Vì vậy, nó không phải là toàn diện .
DavidPostill

Nó sẽ không liệt kê bất kỳ chương trình nào không ghi bất cứ điều gì vào các vị trí được đề cập trong liên kết.
DavidPostill

Làm thế nào nó hoạt động? Nó liên tục lấy mẫu các quy trình hiện đang chạy? Hay nó được Windows thông báo khi các tiến trình được bắt đầu và dừng lại?
Peter Mortensen

@PeterMortensen Xem phần cuối câu trả lời của tôi để biết cách hoạt động của nó. Và nó cần làm mới bằng tay.
DavidPostill

1

Lịch sử quá trình cũng làm điều này. Đây là một cơ sở dữ liệu quá trình miễn phí và di động.

Đây là một tải xuống .zip đơn giản. Có một hướng dẫn về cách sử dụng nó với video trên trang web tải xuống.

Miễn là Lịch sử quy trình đang chạy, bạn có thể truy vấn các quy trình đã kết thúc thông qua GUI riêng.

Nó sẽ chạy trên mọi phiên bản Windows từ XP.

(Tôi là tác giả của phần mềm nguồn mở này.)

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.