Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Powershell WMIC查询Creationdate以查找旧进程_Powershell_Wmic - Fatal编程技术网

Powershell WMIC查询Creationdate以查找旧进程

Powershell WMIC查询Creationdate以查找旧进程,powershell,wmic,Powershell,Wmic,我正在尝试获取1天前在我的Windows 10 PC上启动的进程的信息。我在Creationdate字段上没有成功匹配 wmic进程,其中“Creationdate

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

wmic进程,其中“Creationdate<$((获取日期).AddDays(-1).ToSortDateString().toString())”获取进程ID

错误:Description=无效查询

wmic流程,其中“Creationdate<20200906012615”获取流程ID

错误:Description=无效查询

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

更新

我需要的完整查询示例如下:

WMIC过程,其中“类似命令行“%”的“%”和类似命令行“%data dir%”的“%data dir%”和Creationdate<20200906012615”调用终止

$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

$d=get date-hour 0-minute 0-second 0;gcim win32_process-f“commandline like“%\u 900`”,commandline like“%data dir%”和creationdate我会在powershell中这样做,我认为这是最简单的方法。get-cimpinstance实际上为creationdate输出datetime对象,而不是get-wmiobject。”process“在wmic中,是win32_进程类的别名

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

必须将“.000000-300”附加到CreationDate筛选器

就你而言:


WMIC进程,其中“命令行类似“%”900`“%”,命令行类似“%data dir%”和Creationdate<'20200906012615.000000-300'”。

您能解释一下为什么需要使用它吗?
gcim win32_进程|?{$\ Creationdate-lt(get date-hour 0-minute 00-second 00)}|选择-exp-processid
。或Get-Process cmdlet…
gps |?{$\u.starttime-lt(Get-date-hour 0-minute 00-second 00)}|select-exp id
WMIC是必需的,因为我已经简化了我的情况,因此,查询很复杂,但只有Creationdate部分不起作用。我还在查询过程中的命令行参数。请提供完整的wmi查询,因为只需进行wmi查询并格式化输出,您应该没有理由可以这样做不要将
Get-CimInstance
Win32_Process
一起使用,或者可能使用
Get-Process
来执行相同的任务。我甚至建议,由于WMIC的筛选条件和格式选项有限,其他方法将允许更好、更快或更准确的选项和结果,(特别是当您需要以正确的格式构建
CreationDate
字符串,以便在
WHERE
子句中使用它时)。您的代码执行,但是CreationDate似乎没有达到我预期的效果,或者不是很精确。为了更快地测试,我使用了:
$d=(get date).AddSeconds(-30);gcim win32_process-f”像“%$U 900`”这样的命令行和像“%data dir%”这样的命令行以及creationdate>“$d”| icim-m terminate
,以及早于30秒的进程被终止。有没有办法使用StartTime?我知道这在我的系统中是准确的。是否可以像我更新的问题中那样在命令行上添加一个like筛选器?