Creationdate 上的 WMIC 查询以查找旧进程

WMIC Query on Creationdate to find old processes

我正在尝试提取有关 1 天前在我的 Windows 10 PC 上启动的进程的信息。我在 Creationdate 字段上没有成功匹配。

wmic process where "Creationdate < $((Get-Date).AddDays(-1).ToShortDateString().toString())" get processid

错误:说明 = 查询无效

wmic process where "Creationdate < 20200906012615" get processid

错误:说明 = 查询无效

如果可能的话,我确实需要使用 WMIC。

已更新

我需要的完整查询示例:

WMIC PROCESS WHERE "commandline LIKE '%_900\`"%' AND commandline LIKE '%data-dir%' AND Creationdate < 20200906012615" CALL TERMINATE

这是我最初评论的一行 示例,已扩展以包含您提供的过滤条件:

$d=get-date -hour 0 -minute 0 -second 0;gcim win32_process -f "commandline like '%_900`"' and commandline like '%data-dir%' and creationdate<'$d'"|icim -m terminate

我会像这样在 powershell 中做,我认为这是最简单的方法。 Get-ciminstance 实际上输出创建日期的日期时间对象,不像 get-wmiobject。 wmic 中的“进程”是 win32_process class.

的别名
get-ciminstance win32_process | 
  where { $_.creationdate -lt (get-date).AddDays(-1) -and 
  $_.commandline -like '*svchost*' } | 
  remove-ciminstance -whatif

您必须将“.000000-300”附加到 CreationDate 过滤器。

你的情况:

WMIC PROCESS WHERE“命令行像'%_900`”%'和命令行像'%data-dir%'和创建日期<'20200906012615.000000-300'”....