Телеметрия Windows 11 и Windows 10: что собирает система и как безопасно ограничить

Разбираем, что такое телеметрия Windows, какие диагностические данные она собирает, влияет ли на производительность и как безопасно ограничить лишнее в Windows 11 и Windows 10 без отключения обновлений и важных служб.

Ноутбук с открытым разделом конфиденциальности Windows на спокойном сером рабочем столе

Как отключить телеметрию в Windows 11 и Windows 10

Многие пользователи после установки Windows первым делом ищут инструкции, как полностью отключить телеметрию. Одни считают её шпионажем, другие уверены, что она заметно замедляет компьютер.

На деле всё немного сложнее.

Телеметрия действительно передаёт Microsoft сведения о работе компьютера, но большая часть этих данных связана с диагностикой системы, ошибками, драйверами и обновлениями.

В этой статье разберёмся простыми словами:

  • что такое телеметрия Windows;
  • зачем она нужна Microsoft;
  • какие данные может передавать компьютер;
  • влияет ли телеметрия на производительность;
  • когда её можно ограничить;
  • как отключить необязательную телеметрию вручную;
  • как применить настройки с помощью готового PowerShell-скрипта;
  • как вернуть исходные параметры.

Содержание


Что такое телеметрия Windows

Если объяснить максимально просто, телеметрия — это система сбора технической информации о работе Windows.

Операционная система записывает определённые события и может отправлять их Microsoft.

Например:

  • возникла системная ошибка;
  • зависла программа;
  • появился синий экран;
  • не установилось обновление;
  • перестал работать драйвер;
  • компьютер неожиданно перезагрузился;
  • определённая функция Windows работает нестабильно.

Эти сведения помогают разработчикам понять, какие ошибки чаще всего возникают на разных компьютерах.

Например, после обновления Windows у владельцев определённой модели ноутбука может перестать работать Wi-Fi. Если система получает большое количество похожих отчётов, Microsoft и производитель оборудования могут быстрее обнаружить проблему.

Телеметрия — это не отдельный вирус и не скрытая программа.

Это набор встроенных механизмов Windows, связанных с диагностикой, анализом ошибок и улучшением совместимости.


Какие данные собирает Windows

Основная часть телеметрии состоит из технической информации.

Windows может передавать сведения о следующих компонентах:

  • версии и редакции Windows;
  • модели процессора;
  • объёме оперативной памяти;
  • видеокарте;
  • накопителях;
  • установленных драйверах;
  • ошибках системы;
  • сбоях приложений;
  • результатах установки обновлений;
  • состоянии отдельных компонентов Windows.

Если в настройках разрешены дополнительные диагностические данные, объём передаваемой информации может быть больше.

Например, Windows может собирать сведения о том:

  • какие функции системы используются;
  • как часто запускаются приложения;
  • сколько времени загружается компьютер;
  • на каком этапе произошла ошибка;
  • как система работает с конкретным оборудованием.

Часть параметров можно отключить через раздел конфиденциальности. Однако полностью удалить все диагностические механизмы из обычной Windows нельзя.


Может ли Microsoft читать мои файлы

Телеметрия не предназначена для копирования ваших фотографий, документов, видео и личной переписки.

Но здесь есть важный нюанс.

Если программа аварийно завершилась, Windows может создать дамп памяти. Это технический файл, содержащий информацию о состоянии программы в момент сбоя.

Теоретически в дампе могут оказаться небольшие фрагменты информации, которая находилась в оперативной памяти.

Именно поэтому в корпоративной среде, где обрабатываются конфиденциальные данные, диагностические функции часто ограничивают через групповые политики.

Для обычного домашнего пользователя вероятность передачи целого личного документа через стандартную телеметрию крайне мала.

При этом телеметрию не стоит путать с другими функциями:

  • синхронизацией файлов через OneDrive;
  • историей поиска;
  • синхронизацией параметров учётной записи Microsoft;
  • доступом приложений к камере и микрофону;
  • облачным буфером обмена;
  • персонализированной рекламой.

Это отдельные компоненты, которые настраиваются в других разделах Windows.


Влияет ли телеметрия на производительность

В интернете можно встретить обещания, что после отключения телеметрии компьютер начнёт работать в два раза быстрее.

На практике такого обычно не происходит.

Системы диагностики работают в фоновом режиме и большую часть времени почти не нагружают компьютер.

Телеметрия может использовать:

  • небольшое количество оперативной памяти;
  • минимальную долю процессорного времени;
  • дисковую активность при формировании отчётов;
  • небольшой объём интернет-трафика.

На слабом компьютере с медленным жёстким диском фоновая активность иногда бывает заметна. Но отключение телеметрии всё равно не решит основные проблемы производительности.

Чаще всего Windows тормозит по другим причинам:

  • система установлена на старый HDD;
  • не хватает оперативной памяти;
  • перегревается процессор;
  • в автозагрузке находится слишком много программ;
  • накопитель почти полностью заполнен;
  • установлены проблемные драйверы;
  • на компьютере работает вредоносное ПО.

Поэтому ограничивать телеметрию стоит ради конфиденциальности, а не ради чудесного ускорения компьютера.


Когда имеет смысл ограничить телеметрию

Вы хотите сократить передачу данных

Если для вас важна конфиденциальность, можно отключить дополнительные диагностические данные, рекламный идентификатор и персонализированные рекомендации.

Компьютер используется автономно

На компьютере, который почти не подключается к Интернету, отправка дополнительных диагностических сведений обычно не приносит заметной пользы.

У вас ограниченный интернет-трафик

Телеметрия редко расходует большой объём трафика, но при мобильном или очень ограниченном подключении даже небольшие фоновые передачи могут быть нежелательны.

Компьютер работает в корпоративной сети

В организациях передача диагностических данных часто регулируется внутренними требованиями безопасности.

В этом случае настройки должен определять системный администратор. Самостоятельно менять политики на рабочем компьютере не стоит.

Вы понимаете, какие параметры изменяются

Безопаснее ограничить конкретные функции, чем запускать неизвестный «антишпионский» твикер, меняющий десятки параметров сразу.


Когда лучше ничего не менять

Я бы не рекомендовал глубоко вмешиваться в системные службы, если:

  • вы не понимаете назначение изменяемых параметров;
  • компьютер принадлежит организации;
  • устройство управляется системным администратором;
  • на компьютере используется Microsoft Intune или другое корпоративное управление;
  • для работы важна встроенная диагностика Windows;
  • вы хотите отключить телеметрию только ради ускорения компьютера.

Особенно осторожно следует относиться к сторонним программам, которые обещают отключить «всю слежку» одной кнопкой.

Некоторые из них одновременно:

  • отключают Windows Update;
  • блокируют серверы Microsoft;
  • изменяют файл hosts;
  • удаляют задания планировщика;
  • останавливают системные службы;
  • отключают Microsoft Store;
  • ломают синхронизацию учётной записи;
  • мешают работе Защитника Windows.

В результате пользователь получает не больше конфиденциальности, а нестабильную систему.


Как ограничить телеметрию вручную

Шаг 1. Отключаем дополнительные диагностические данные

Откройте:

Параметры → Конфиденциальность и безопасность → Диагностика и отзывы

Отключите доступные переключатели:

  • отправка необязательных диагностических данных;
  • улучшение рукописного ввода и ввода с клавиатуры;
  • персонализированные возможности;
  • просмотр диагностических данных, если он был включён;

Название некоторых пунктов может немного отличаться в зависимости от версии Windows.

Шаг 2. Отключаем рекламный идентификатор

Перейдите в раздел:

Параметры → Конфиденциальность и безопасность → Общие

Отключите:

  • использование рекламного идентификатора;
  • отслеживание запусков приложений;
  • показ рекомендуемого содержимого;
  • персонализированные предложения.

Шаг 3. Проверяем разрешения приложений

Откройте раздел Конфиденциальность и безопасность и проверьте доступ приложений к:

  • местоположению;
  • камере;
  • микрофону;
  • контактам;
  • календарю;
  • уведомлениям;
  • файловой системе;
  • папкам «Документы», «Изображения» и «Видео».

Не обязательно запрещать всё подряд. Например, программе для видеосвязи потребуется камера и микрофон.

Отключайте только те разрешения, которые приложению явно не нужны.


Готовый PowerShell-скрипт для ограничения телеметрии

Чтобы не менять параметры реестра вручную, можно использовать готовый PowerShell-скрипт.

Он выполняет следующие действия:

  • создаёт резервную копию изменяемых параметров;
  • пытается создать точку восстановления;
  • ограничивает отправку дополнительных диагностических данных;
  • отключает персонализированные рекомендации;
  • отключает рекламный идентификатор;
  • отключает запросы оставить отзыв;
  • ограничивает журнал активности;
  • позволяет восстановить исходные настройки.

Важно: скрипт не отключает Windows Update, Защитник Windows, Microsoft Store и другие важные компоненты. Служба DiagTrack по умолчанию также остаётся включённой.

Код скрипта

#requires -Version 5.1
#requires -RunAsAdministrator

[CmdletBinding()]
param(
    [ValidateSet('Disable', 'Restore')]
    [string]$Action = 'Disable'
)

Set-StrictMode -Version Latest
$ErrorActionPreference = 'Stop'

$WorkDirectory = Join-Path $env:ProgramData 'ITKudashev\TelemetryControl'
$BackupFile = Join-Path $WorkDirectory 'backup.json'
$LogFile = Join-Path $WorkDirectory 'telemetry-control.log'

New-Item -Path $WorkDirectory -ItemType Directory -Force | Out-Null

function Write-Log {
    param(
        [Parameter(Mandatory = $true)]
        [string]$Message,

        [ValidateSet('INFO', 'WARNING', 'ERROR', 'SUCCESS')]
        [string]$Level = 'INFO'
    )

    $timestamp = Get-Date -Format 'yyyy-MM-dd HH:mm:ss'
    $line = '[{0}] [{1}] {2}' -f $timestamp, $Level, $Message

    switch ($Level) {
        'SUCCESS' { Write-Host $line -ForegroundColor Green }
        'WARNING' { Write-Host $line -ForegroundColor Yellow }
        'ERROR'   { Write-Host $line -ForegroundColor Red }
        default   { Write-Host $line }
    }

    Add-Content -Path $LogFile -Value $line -Encoding UTF8
}

function Test-IsAdministrator {
    $identity = [Security.Principal.WindowsIdentity]::GetCurrent()
    $principal = New-Object Security.Principal.WindowsPrincipal($identity)

    return $principal.IsInRole(
        [Security.Principal.WindowsBuiltInRole]::Administrator
    )
}

function Get-RegistryValueBackup {
    param(
        [Parameter(Mandatory = $true)]
        [string]$Path,

        [Parameter(Mandatory = $true)]
        [string]$Name
    )

    $result = [ordered]@{
        Path        = $Path
        Name        = $Name
        ValueExists = $false
        Value       = $null
        Type        = $null
    }

    if (-not (Test-Path -Path $Path)) {
        return [pscustomobject]$result
    }

    try {
        $key = Get-Item -Path $Path -ErrorAction Stop

        if ($key.GetValueNames() -contains $Name) {
            $result.ValueExists = $true
            $result.Value = $key.GetValue(
                $Name,
                $null,
                [Microsoft.Win32.RegistryValueOptions]::DoNotExpandEnvironmentNames
            )
            $result.Type = $key.GetValueKind($Name).ToString()
        }
    }
    catch {
        $message = 'Cannot read {0}\{1}: {2}' -f `
            $Path,
            $Name,
            $_.Exception.Message

        Write-Log -Message $message -Level 'WARNING'
    }

    return [pscustomobject]$result
}

function Set-RegistryDword {
    param(
        [Parameter(Mandatory = $true)]
        [string]$Path,

        [Parameter(Mandatory = $true)]
        [string]$Name,

        [Parameter(Mandatory = $true)]
        [int]$Value
    )

    if (-not (Test-Path -Path $Path)) {
        New-Item -Path $Path -Force | Out-Null
    }

    New-ItemProperty `
        -Path $Path `
        -Name $Name `
        -Value $Value `
        -PropertyType DWord `
        -Force | Out-Null

    Write-Log `
        -Message ('Set {0}\{1} = {2}' -f $Path, $Name, $Value) `
        -Level 'SUCCESS'
}

function Restore-RegistryValue {
    param(
        [Parameter(Mandatory = $true)]
        [pscustomobject]$Backup
    )

    if ($Backup.ValueExists) {
        if (-not (Test-Path -Path $Backup.Path)) {
            New-Item -Path $Backup.Path -Force | Out-Null
        }

        $propertyType = switch ($Backup.Type) {
            'DWord'        { 'DWord' }
            'QWord'        { 'QWord' }
            'String'       { 'String' }
            'ExpandString' { 'ExpandString' }
            'MultiString'  { 'MultiString' }
            'Binary'       { 'Binary' }
            default        { 'String' }
        }

        New-ItemProperty `
            -Path $Backup.Path `
            -Name $Backup.Name `
            -Value $Backup.Value `
            -PropertyType $propertyType `
            -Force | Out-Null

        Write-Log `
            -Message ('Restored {0}\{1}' -f $Backup.Path, $Backup.Name) `
            -Level 'SUCCESS'
    }
    elseif (Test-Path -Path $Backup.Path) {
        Remove-ItemProperty `
            -Path $Backup.Path `
            -Name $Backup.Name `
            -ErrorAction SilentlyContinue

        Write-Log `
            -Message ('Removed created value {0}\{1}' -f $Backup.Path, $Backup.Name)
    }
}

function New-SafeRestorePoint {
    Write-Log -Message 'Trying to create a restore point.'

    try {
        Checkpoint-Computer `
            -Description 'Before telemetry settings change' `
            -RestorePointType 'MODIFY_SETTINGS'

        Write-Log -Message 'Restore point created.' -Level 'SUCCESS'
    }
    catch {
        Write-Log `
            -Message ('Restore point was not created: {0}' -f $_.Exception.Message) `
            -Level 'WARNING'
    }
}

if (-not (Test-IsAdministrator)) {
    throw 'Run PowerShell as Administrator.'
}

$RegistryChanges = @(
    @{
        Path  = 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\DataCollection'
        Name  = 'AllowTelemetry'
        Value = 1
    },
    @{
        Path  = 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\DataCollection'
        Name  = 'AllowTelemetry'
        Value = 1
    },
    @{
        Path  = 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\CloudContent'
        Name  = 'DisableTailoredExperiencesWithDiagnosticData'
        Value = 1
    },
    @{
        Path  = 'HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Privacy'
        Name  = 'TailoredExperiencesWithDiagnosticDataEnabled'
        Value = 0
    },
    @{
        Path  = 'HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\AdvertisingInfo'
        Name  = 'Enabled'
        Value = 0
    },
    @{
        Path  = 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\DataCollection'
        Name  = 'DoNotShowFeedbackNotifications'
        Value = 1
    },
    @{
        Path  = 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\System'
        Name  = 'EnableActivityFeed'
        Value = 0
    },
    @{
        Path  = 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\System'
        Name  = 'PublishUserActivities'
        Value = 0
    },
    @{
        Path  = 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\System'
        Name  = 'UploadUserActivities'
        Value = 0
    }
)

function Disable-TelemetrySettings {
    Write-Log -Message 'Starting telemetry configuration.'

    if (Test-Path -Path $BackupFile) {
        $archiveName = 'backup-{0}.json' -f (Get-Date -Format 'yyyyMMdd-HHmmss')
        $archivePath = Join-Path $WorkDirectory $archiveName

        Copy-Item `
            -Path $BackupFile `
            -Destination $archivePath `
            -Force

        Write-Log -Message ('Previous backup archived: {0}' -f $archivePath)
    }

    $backup = [ordered]@{
        CreatedAt = (Get-Date).ToString('o')
        Computer  = $env:COMPUTERNAME
        Registry  = @()
    }

    foreach ($change in $RegistryChanges) {
        $backup.Registry += Get-RegistryValueBackup `
            -Path $change.Path `
            -Name $change.Name
    }

    $backup |
        ConvertTo-Json -Depth 10 |
        Set-Content -Path $BackupFile -Encoding UTF8

    Write-Log `
        -Message ('Backup saved: {0}' -f $BackupFile) `
        -Level 'SUCCESS'

    New-SafeRestorePoint

    foreach ($change in $RegistryChanges) {
        Set-RegistryDword `
            -Path $change.Path `
            -Name $change.Name `
            -Value $change.Value
    }

    Write-Host ''
    Write-Host 'Settings applied successfully.' -ForegroundColor Green
    Write-Host 'Restart Windows to apply all changes.'
    Write-Host ('Backup: {0}' -f $BackupFile)
    Write-Host ('Log: {0}' -f $LogFile)
}

function Restore-TelemetrySettings {
    Write-Log -Message 'Starting settings restore.'

    if (-not (Test-Path -Path $BackupFile)) {
        throw ('Backup file was not found: {0}' -f $BackupFile)
    }

    $backup = Get-Content `
        -Path $BackupFile `
        -Raw `
        -Encoding UTF8 |
        ConvertFrom-Json

    foreach ($registryBackup in $backup.Registry) {
        Restore-RegistryValue -Backup $registryBackup
    }

    Write-Host ''
    Write-Host 'Settings restored successfully.' -ForegroundColor Green
    Write-Host 'Restart Windows.'
}

try {
    switch ($Action) {
        'Disable' {
            Disable-TelemetrySettings
        }

        'Restore' {
            Restore-TelemetrySettings
        }
    }
}
catch {
    Write-Log -Message $_.Exception.Message -Level 'ERROR'

    Write-Host ''
    Write-Host 'The script stopped with an error.' -ForegroundColor Red
    Write-Host ('Log: {0}' -f $LogFile)

    exit 1
}

Как сохранить скрипт

  1. Откройте Блокнот или Visual Studio Code.
  2. Скопируйте код целиком.
  3. Сохраните файл под именем Windows-Telemetry-Control.ps1.
  4. В поле типа файла выберите Все файлы.
  5. При использовании Visual Studio Code выберите кодировку UTF-8 with BOM.

Русского текста внутри самого скрипта нет. Это сделано специально, чтобы Windows PowerShell 5.1 не испортил символы при неправильной кодировке.

Как проверить скрипт перед запуском

Откройте PowerShell и выполните:

$tokens = $null
$errors = $null

[void][System.Management.Automation.Language.Parser]::ParseFile(
    'G:\Desktop\Windows-Telemetry-Control.ps1',
    [ref]$tokens,
    [ref]$errors
)

$errors

Замените путь на расположение вашего файла.

Если команда ничего не вывела, синтаксических ошибок не найдено.

Как запустить скрипт

Нажмите правой кнопкой мыши по кнопке «Пуск» и откройте:

Терминал (Администратор)

Затем выполните команду:

powershell.exe -NoProfile -ExecutionPolicy Bypass -File "G:\Desktop\Windows-Telemetry-Control.ps1"

Путь G:\Desktop\Windows-Telemetry-Control.ps1 замените на свой.

После завершения работы перезагрузите компьютер.

Где хранится резервная копия

Скрипт сохраняет резервную копию и журнал работы в папке:

C:\ProgramData\ITKudashev\TelemetryControl

Внутри находятся файлы:

  • backup.json — исходные значения параметров;
  • telemetry-control.log — журнал выполнения команд.

Как вернуть исходные настройки

Для восстановления параметров снова откройте Терминал от имени администратора и выполните:

powershell.exe -NoProfile -ExecutionPolicy Bypass -File "G:\Desktop\Windows-Telemetry-Control.ps1" -Action Restore

Скрипт прочитает файл backup.json и вернёт значения, которые использовались до первого запуска.

После восстановления также рекомендуется перезагрузить компьютер.

Не удаляйте папку с резервной копией, пока не убедитесь, что система работает нормально.


Нужно ли отключать службу Connected User Experiences and Telemetry

В списке служб Windows можно найти компонент:

Connected User Experiences and Telemetry

Системное имя службы:

DiagTrack

Многие инструкции советуют остановить её и изменить тип запуска на «Отключена».

Я не рекомендую делать это всем подряд.

DiagTrack связана с диагностикой Windows. Она может использоваться для формирования отчётов о работе системы, обновлениях, совместимости и сбоях.

На домашнем компьютере её отключение обычно не приводит к немедленной поломке Windows. Но на корпоративных устройствах могут перестать корректно работать некоторые системы аналитики и управления.

Поэтому приведённый выше скрипт не отключает DiagTrack. Он только ограничивает необязательные диагностические данные и персонализацию.

Это более осторожный подход.


Что изменится после ограничения телеметрии

После применения настроек:

  • будет ограничена отправка дополнительных диагностических данных;
  • отключится рекламный идентификатор текущего пользователя;
  • уменьшится количество персонализированных рекомендаций;
  • Windows перестанет показывать часть запросов на отправку отзывов;
  • будет ограничена публикация и отправка истории активности.

При этом:

  • Windows Update продолжит работать;
  • Защитник Windows останется включённым;
  • Microsoft Store не будет отключён;
  • системные службы не будут удалены;
  • личные файлы останутся на месте;
  • производительность компьютера, скорее всего, почти не изменится.

На некоторых редакциях Windows отдельные политики могут применяться не полностью. Домашняя редакция Windows обычно предоставляет меньше возможностей управления, чем Pro и Enterprise.


Вывод

Телеметрия Windows — это встроенная система диагностики, которая помогает Microsoft получать сведения об ошибках, сбоях, обновлениях и совместимости оборудования.

Для большинства домашних пользователей она не представляет серьёзной нагрузки на компьютер.

Если для вас важна конфиденциальность, разумнее отключить дополнительные диагностические данные, рекламную персонализацию и ненужные разрешения приложений.

Полностью вырезать системные компоненты, блокировать серверы Microsoft и отключать десятки служб не стоит. Такие действия могут нарушить обновление и диагностику Windows.

Готовый PowerShell-скрипт из этой статьи применяет только ограниченный набор параметров, создаёт резервную копию и позволяет вернуть изменения.

Именно такой подход я считаю более безопасным: сначала ограничиваем лишнее, проверяем работу компьютера и только потом решаем, нужны ли более глубокие изменения.


FAQ

Можно ли полностью отключить телеметрию Windows?

Полностью исключить все диагностические механизмы в обычной домашней Windows нельзя. Можно сократить объём передаваемых данных и отключить дополнительные функции.

Ускорится ли компьютер после отключения телеметрии?

Заметного ускорения обычно не будет. Если компьютер тормозит, лучше проверить накопитель, автозагрузку, температуру, драйверы и количество оперативной памяти.

Безопасно ли запускать скрипт?

Скрипт не удаляет системные компоненты и создаёт резервную копию изменяемых параметров. Но любые команды, запущенные от имени администратора, следует предварительно изучить.

Почему скрипт не отключает DiagTrack?

Отключение системной службы может повлиять на диагностику Windows и корпоративные инструменты управления. Для ограничения необязательной телеметрии достаточно изменить параметры конфиденциальности и политики сбора данных.

Можно ли запустить скрипт в Windows 10?

Да. Скрипт рассчитан на Windows PowerShell 5.1 и подходит для Windows 10 и Windows 11. Доступность отдельных параметров зависит от редакции и версии системы.

Что делать, если после запуска появилась ошибка?

Откройте журнал:

C:\ProgramData\ITKudashev\TelemetryControl\telemetry-control.log

Также проверьте, что PowerShell был запущен от имени администратора.

Как отменить изменения?

Запустите тот же файл с параметром:

-Action Restore

После этого перезагрузите компьютер.

Передаются ли фотографии и документы?

Телеметрия предназначена для технической диагностики, а не для целенаправленного копирования личных файлов. При этом в аварийных дампах теоретически могут присутствовать небольшие фрагменты данных из оперативной памяти.

Стоит ли отключать телеметрию обычному пользователю?

Для большинства пользователей достаточно отключить дополнительные диагностические данные, персонализированные рекомендации и ненужные разрешения приложений. Глубоко вмешиваться в службы Windows без конкретной причины не нужно.

Войдите, чтобы ставить лайки и сохранять статьи Перейти в VK ↗
Обсуждение

Комментарии

Только для участников

Обсуждение доступно после входа

Авторизуйтесь через VK ID, чтобы читать комментарии, отвечать, ставить лайки и сохранять статьи.

Войти через VK ID