You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CMD与PowerShell不生成Jump Lists的原因探究及技术问询

Windows Shell工件生成实验:CMD、PowerShell等CLI无Jump Lists生成原因探究

问题与观察

通过CMD或PowerShell执行的标准文件操作(如创建、修改文件/文件夹),不会更新AutomaticDestinations或Recent文件夹,导致这类操作在取证场景下无法通过Jump Lists、Recent文件这类Shell工件被检测到。

实验步骤(Windows 11 Home 25H2 26200.8246)

  • 使用ProcMon监控确认:CMD或PowerShell执行mkdir、echo、New-Item等标准文件操作时,完全不会触发AutomaticDestinations或Recent文件夹的更新。
  • 删除系统中所有*.automaticDestinations-ms文件后,通过CLI创建文件,未触发这类文件的重新初始化。
  • 在PowerShell会话中通过C# P/Invoke手动调用Win32 API SHAddToRecentDocs,使用的签名如下:
public static extern void SHAddToRecentDocs(uint flags, string path);

实验结果

手动调用SHAddToRecentDocs时,ProcMon捕获到powershell.exe与explorer.exe发生交互,后续由explorer.exe负责写入LNK快捷文件和Jump List相关文件。

结论

CLI工具在Jump List和Recent文件夹这类取证工件中处于"不可见"状态,核心原因是它们缺少对shell32.dll的静态依赖,且未执行Shell所需的文件操作通知逻辑。这一结论证实:Jump List条目缺失不能直接等同于无相关文件操作活动发生。

技术问询

是否有人观察到Windows Terminal等现代CLI工具(或特定第三方Shell)会显式调用SHAddToRecentDocs API?

我正在撰写相关主题的论文,欢迎在终稿提交前提供见解或批评意见。


内容的提问来源于stack exchange,提问作者Sakar Joshi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.01 21:08:08