You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

获取Windows PowerShell中指定时间范围内以管理员身份执行的历史命令报告

获取Windows PowerShell中指定时间范围内以管理员身份执行的历史命令报告

别担心,我给你整理了几个适合新手的实用方法,帮你找回那段时间里用管理员身份执行的命令:

方法一:直接查看PowerShell历史文件

管理员模式的PowerShell和普通用户的命令历史是分开存储的,你可以直接找到对应的历史文件查看:

  • 打开文件资源管理器,导航到路径:C:\Users\<你的用户名>\AppData\Roaming\Microsoft\Windows\PowerShell\PSReadLine\ConsoleHost_history.txt
  • 用记事本打开这个文件,里面就是你所有在PowerShell(包括管理员模式)里执行过的命令,默认是按执行时间从早到晚排序的。
  • 如果想快速筛选大概范围内的命令,可以用PowerShell本身来提取,比如取最近的50条:
    Get-Content "C:\Users\<你的用户名>\AppData\Roaming\Microsoft\Windows\PowerShell\PSReadLine\ConsoleHost_history.txt" | Select-Object -Last 50
    
    注意:这个文件没有记录精确的执行时间,如果需要时间戳,得用下面的方法。

方法二:用Sysinternals的Process Monitor(Procmon)追踪

你提到的Sysinternals套件确实是Windows排查问题的神器,Procmon可以精准追踪管理员PowerShell的操作:

  1. 下载Procmon(属于Sysinternals套件,直接从微软官方渠道获取即可,无需安装)
  2. 打开Procmon后,点击顶部的「Filter」按钮,设置过滤规则:
    • 选择「Process Name」→「is」→「powershell.exe」,点击「Add」
    • 再添加一条规则:「User Name」→「is」→「你的管理员用户名」,点击「Add」
    • 最后点击「Apply」,这样就只会显示PowerShell相关的操作记录了
  3. 在日志列表里找到「Command Line」列,这里会显示每条执行的具体命令,同时每条记录都带有精确的时间戳,你可以轻松按时间范围筛选出目标命令。

方法三:通过事件查看器提取日志

Windows自带的事件查看器也会记录PowerShell的执行事件,步骤很简单:

  1. 按下Win+R组合键,输入eventvwr.msc回车,打开事件查看器
  2. 展开左侧的「Windows日志」→「应用程序」
  3. 点击右侧的「筛选当前日志」,在「事件ID」框里输入4104(这个ID对应PowerShell的命令执行日志),然后点击「确定」
  4. 在筛选后的日志里,每条记录的「详细信息」中会包含命令内容、执行时间,以及执行该命令的用户身份(查看「SubjectUserName」字段就能确认是不是管理员身份)

小提醒:如果是刚操作完不久,这些方法都能拿到比较完整的记录;如果间隔时间太长,系统可能会自动清理部分旧日志哦。

备注:内容来源于stack exchange,提问作者ranemirusG

火山引擎 最新活动