C:\PSTools>psexec.exe -sd \\<Computer Name> C:\ProcessMonitor\procmon64.exe -terminate -quiet
存储和保存事件
有多种方法可用于存储和保存事件。 可以从“文件”菜单中选择“备份文件”。 然后,可以看到两种存储事件的方法:
使用虚拟内存
使用名为 的文件
使用虚拟内存
此方法使用系统的内存来存储文件,直到用户手动保存该文件。
长时间运行进程监视器(由虚拟内存提供支持)可能会导致进程监视器消耗所有可用的系统虚拟内存,这可能导致系统停止响应。
如果开始录制为 虚拟内存支持,则需要在退出进程监视器之前保存录制。
请确保选择“ 所有事件 ”,并将格式设置为 “本机进程监视器格式” (PML) 。 如果录制内容不包含所有事件,则只有显示或突出显示的事件可用于分析,这可能不够。
由文件支持
此方法使用文件来存储录制内容,不需要在退出进程监视器之前手动保存该文件。
如果未定义最大文件大小,则运行进程监视器的时间过长(由文件提供支持)可能会导致进程监视器占用所有可用的系统磁盘空间,这可能导致系统停止响应。
设置进程监视器并开始录制后,需要重现问题。
故障排除示例
以此问题为例;计算器应用程序不起作用。 首先,使用上述任何方法启动进程监视器录制。 然后通过尝试启动应用程序来重现问题。 重现问题后,停止进程监视器录制并保存数据。
若要分析记录的进程监视器跟踪,请使用进程监视器将其打开。 在菜单上的“工具”下选择“进程树”,查看应用程序是否在录制期间启动。
选择“计算器”过程:
若要专注于进程,请右键单击应用程序名称,然后选择“ 添加进程以包括筛选器”。
同样,可以手动为进程 ID 添加筛选器。
退出“进程树”视图或在“进程监视器筛选器”窗口中选择“确定”,查看包含进程的筛选捕获行。 在此示例中, Calculator.exe 进程正在启动。
然后转到进程捕获的末尾,并在进程退出事件之前查找一组线程退出事件。
还可以看到 WerFault.exe的 Process Create 事件。 此时,应用程序已达到不可恢复的条件,并调用了默认错误处理程序。
还应注意到,还会记录一些与应用程序崩溃相关的事件日志。
在这种情况下,应检查以下注册表项对工作计算机的权限,以查看是否存在一些差异。
\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders
在此示例中, 所有应用程序包 都缺少 User Shell 文件夹中的“读取”权限。
也可以使用 PowerShell 或命令提示符执行此操作。
对于工作系统:
对于非工作系统:
如果未发现任何附近可能可疑的权限问题,则始终可以检查任何可疑权限块的整个跟踪。 首先,通过在“筛选器”菜单下选择“ 重置筛选器 ”,删除“计算器”进程的 筛选器 。 然后,从“工具”菜单中选择“计数发生次数”选项。 可以从下拉菜单中选择结果 , 然后选择“ 计数”。
筛选完成后,可以双击“拒绝访问”行以查看筛选的事件:
如果浏览列表,并非所有“拒绝访问”结果都会导致代码失败。
通常,要求“所有访问”的任何内容都会被拒绝,因此你可以将其排除在调查之外。 可以通过筛选包含 Desired Access: All Access 的事件来自动执行此操作,如下所示:
在此示例中,结果如下所示:
为“所有应用程序包”添加适当的权限可同时解决这两个应用程序的这两个问题。
有时无法确定哪些权限更改正在阻止应用程序启动。 进程监视器仅捕获进程活动的某些部分。
如果许多计算机受到同一问题的影响,请从新安装的新计算机启动,并缓慢添加策略,直到应用程序无法再次启动,从而排除故障。
如果只有一台计算机受到影响,请恢复或重置计算机。 如果只有一个用户受到影响,请重新创建用户的配置文件。