0

如何通过注册表查看 Windows 中应用使用摄像头、麦克风与位置的详细记录

Windows 系统内置了详细的硬件权限使用记录机制,可精确追踪哪些应用访问了摄像头、麦克风与位置信息,以及每次访问的起止时间与持续时长。与任务栏提示和设置页面不同,注册表中的 ConsentStore 存储了完整的时间戳数据。

ConsentStore 注册表路径与结构

完整的权限使用记录存储于注册表路径 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\CapabilityAccessManager\ConsentStore 下。可通过 Win+R 运行以下命令快速定位:

  • cmd /c reg add “HKCU\Software\Microsoft\Windows\CurrentVersion\Applets\Regedit” /v LastKey /d “Computer\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\CapabilityAccessManager\ConsentStore” /f & regedit

记录数据的存储方式

ConsentStore 下每个文件夹对应一种硬件能力(Webcam、microphone、location 等)。打开任一文件夹,Store 应用以包名存储,桌面应用则归类于 NonPackaged 文件夹下。每个应用条目包含以下关键值:

  • LastUsedTimeStart:上次使用开始时间
  • LastUsedTimeStop:上次使用结束时间
  • LastSetTime:权限授予时间
  • Value:Allow 或 Deny 状态

时间戳格式与转换

注册表中存储的时间戳为 FILETIME 格式(自 1601 年 1 月 1 日起的 100 纳秒间隔计数),呈现为类似 0x1dd217e84c2c69a1 的十六进制值,无法直接阅读。需转换为可读日期时间格式。

PowerShell 自动化脚本

以下脚本可遍历所有权限类型,自动转换时间戳并输出表格,按权限类型与最近使用时间排序:

  • $root = “HKCU:\Software\Microsoft\Windows\CurrentVersion\CapabilityAccessManager\ConsentStore”
  • $results = Get-ChildItem $root | ForEach-Object { $medium = $_.PSChildName Get-ChildItem $_.PSPath -Recurse | ForEach-Object { $props = Get-ItemProperty $_.PSPath -ErrorAction SilentlyContinue if ($props.LastUsedTimeStart -and $props.LastUsedTimeStop -and $props.LastUsedTimeStart -ne 0) { $start = [datetime]::FromFileTimeUtc($props.LastUsedTimeStart).ToLocalTime() $stop = [datetime]::FromFileTimeUtc($props.LastUsedTimeStop).ToLocalTime() $granted = if ($props.LastSetTime) { [datetime]::FromFileTimeUtc($props.LastSetTime).ToLocalTime() } else { $null } [PSCustomObject]@{ Medium = $medium App = $_.PSChildName PermissionGrantedOn = $granted LastUsedStart = $start LastUsedStop = $stop Duration = $stop – $start } } } }
  • $results | Sort-Object Medium, LastUsedStart -Descending | Format-Table Medium, App, PermissionGrantedOn, LastUsedStart, LastUsedStop, Duration -AutoSize

使用注意事项

  • 系统仅保留每个应用的最近一次访问记录,非完整历史日志
  • PermissionGrantedOn 显示权限被授予的时间,而非首次实际使用时间
  • 上述脚本仅查询当前用户账户数据
  • 如需查询系统级权限,将路径中的 HKCU 替换为 HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\CapabilityAccessManager\ConsentStore,并以管理员身份运行 PowerShell

隐私安全建议

通过该方式可发现异常权限使用行为。如发现可疑应用,可卸载该应用或在设置中撤销其对应权限。建议定期检查以确保系统隐私安全。

via Neowin

0 评论
最旧
最新 最多投票
0
希望看到您的想法,请您发表评论x