Как узнать, какие приложения используют камеру, микрофон и геолокацию в Windows — и как долго

Windows умеет показывать, когда приложение обращается к камере, микрофону или геолокации, но системный индикатор легко пропустить. Более подробные сведения сохраняются в реестре: там можно увидеть, какая программа последней использовала определённую функцию, когда начался и закончился доступ и сколько он продолжался.
Базовая проверка доступна через «Параметры → Конфиденциальность и безопасность → Разрешения приложений». Там можно управлять доступом программ к камере, микрофону, местоположению и другим функциям. Если хочется проверить и другие настройки конфиденциальности Windows, имеет смысл пройтись по этому разделу целиком.
Более подробные данные находятся в разделе реестра HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\CapabilityAccessManager\ConsentStore. Внутри есть отдельные категории, включая webcam, microphone и location.
Приложения Microsoft Store обычно представлены именами пакетов, а обычные desktop-программы можно найти внутри NonPackaged. В записях встречаются значения LastUsedTimeStart, LastUsedTimeStop, LastSetTime и Value. Первые два позволяют определить начало и окончание последней зарегистрированной сессии. Value отражает сохранённое состояние разрешения, например Allow или Deny, но его не стоит воспринимать как единственный показатель фактического доступа приложения.
Главная сложность заключается в формате времени. Значения LastUsedTimeStart и LastUsedTimeStop хранятся в формате FILETIME — количестве 100-наносекундных интервалов с 1 января 1601 года. Преобразовать их в обычные дату и время проще всего через PowerShell.
Как проверить последнее использование камеры и микрофона через PowerShell
Следующий скрипт читает ConsentStore текущего пользователя и выводит последние зарегистрированные обращения к камере, микрофону и геолокации:
$root = 'HKCU:\Software\Microsoft\Windows\CurrentVersion\CapabilityAccessManager\ConsentStore'
'webcam','microphone','location' | ForEach-Object {
$resource = $_
$path = Join-Path $root $resource
if (Test-Path $path) {
Get-ChildItem $path -Recurse -ErrorAction SilentlyContinue | ForEach-Object {
$p = Get-ItemProperty $_.PSPath -ErrorAction SilentlyContinue
if ($p.LastUsedTimeStart -and [int64]$p.LastUsedTimeStart -ne 0) {
$start = [datetime]::FromFileTimeUtc([int64]$p.LastUsedTimeStart).ToLocalTime()
$stop = if ($p.LastUsedTimeStop -and [int64]$p.LastUsedTimeStop -ne 0) {
[datetime]::FromFileTimeUtc([int64]$p.LastUsedTimeStop).ToLocalTime()
} else {
$null
}
[PSCustomObject]@{
Resource = $resource
App = $_.PSChildName
Start = $start
Stop = $stop
Duration = if ($stop) { $stop - $start } else { $null }
}
}
}
}
} | Sort-Object Start -Descending | Format-Table -AutoSizeВ результате можно увидеть тип ресурса, приложение, время начала и окончания последнего зарегистрированного доступа и его продолжительность.
Есть важное ограничение: ConsentStore не является полноценным журналом активности. Windows сохраняет данные о последнем зарегистрированном использовании для конкретной записи приложения, а не историю всех обращений за недели или месяцы. LastSetTime также не стоит считать временем первого использования или первоначальной выдачи разрешения — это время последнего изменения соответствующей записи состояния.
Путь HKCU относится к текущему пользователю. Машинные записи также можно проверить в HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\CapabilityAccessManager\ConsentStore. Для чтения защищённых разделов PowerShell может потребоваться запустить от имени администратора.
Автор исходного материала приводит показательный пример: в его системе EA Sports FC 26 оказался среди приложений, для которых Windows зарегистрировала около 40 минут доступа к микрофону. Почему именно игра обращалась к нему, источник не установил, поэтому сама такая запись не доказывает скрытую запись звука или слежку.
Проверка ConsentStore полезна прежде всего тогда, когда нужно понять, какое приложение недавно получало доступ к чувствительным функциям компьютера. Если программа выглядит подозрительно или камера, микрофон либо геолокация ей не нужны, соответствующие разрешения стоит проверить в настройках Windows.
Источник: Neowin