Вы просматриваете: Главная > К изучению > Windows 7/8/8.1 — препятствуем сбору данных о пользователе (телеметрии)

Windows 7/8/8.1 — препятствуем сбору данных о пользователе (телеметрии)

После крайних вестей о том, что Windows Update в полу-принудительном порядке поставил пользователям Windows 7/8/8.1 обновления KB3080149 и KB3075249, которые собирают данные телеметрии и отправляют их в M$ — остро почувствовался очередной параноидальный приступ. Передача осуществляется через TCP по порту 443 с использованием SSL.

«Как то не хорошо получается» подумал я и накидал небольшой скрипт который несколько автоматизирует:

  • Удаление хреновых апдейтов и их блокирование/сокрытие (необходим PowerShell с модулем PSWindowsUpdate; ставится автоматически; если рядом (в оной директории) со скриптом находятся файлы unzip.exe и PSWindowsUpdate.zip — используются они, иначе же — они скачиваются);
  • Блокирует некоторые доменные имена средствами файла хостов (есть мнение, что MS его всё таки игнорирует в данном случае);
  • Блокирует запросы к известным на данный момент серверам по IP (как с помощью add route, так и правилом файрвола);
  • Отключает задачи планировщика, которые каким-либо образом связаны с передачей «аналитической» информации (да и не только, полный список смотри в сорце);
  • Останавливает и отключает авто-запуск сервисов, которые отвечают за отправку «диагностических данных»;
  • Отключает отправку отчетов об ошибках в M$;
  • Настраивает Windows Update на «Искать обновления, но решение о скачивании и установки принимается мной».

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

GitHubСкачать v0.2.12

Внимание! При запуске скрипта в пути до него должны отсутствовать как спецсимволы, так и символ ! (коммент). Очень желательно запускать просто из корня системного диска.

Можно так же (если требуется включенный Windows Update с автоматической установкой обновлений) поставить исполнение скрипта в планировщик заданий с интервалом раз в сутки, например (для запуска в свернутом окне команда запуска может иметь вид cmd /c start /min c:\remove_MS_telemetry.cmd -e).

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

Ахтунг! Иногда сокрытие обновлений длится ну очень долго. Причин тому может быть несколько, как и путей решения. Все они довольно подробно изложены на форме мелкософта. Мне удалось воспроизвести проблему, но решить её на данный момент — нет. Как временное решение — запускать скрипт с флагом -d или -disable, для отключения функционала блокирования/сокрытия обновлений.

Changelog

  • Версия 0.2.12 от 01.11.2015:
    • Добавлены обновления 2882822, 3083710 и 3083711
  • Версия 0.2.11 от 19.09.2015:
    • Из списка блокировки убраны хосты diagnostics.support.microsoft.akadns.net и diagnostics.support.microsoft.com, т.к. есть мнение что именно их использует утилита от MS FixIt
  • Версия 0.2.10 от 19.09.2015:
    • Наконец-таки нашел способ значительного сокращения времени выполнения скрипта. Как оказалось всё-таки можно передавать список обновлений для сокрытия обновлений, вместо того чтоб обрабатывать каждое по отдельности. Все кто жаловались на данную проблему — в обязательном порядке обновитесь.
  • Версия 0.2.9 от 17.09.2015:
    • Всё таки добавил обновления «Windows Update Client» под номерами 3065988, 3083325, 3083324, 3075853, 3065987, 3050265, 3050267, 3046480. Ниибическую задержку на стадии сокрытия обновлений решить так и не удалось, а подключать для этого vbs — очень не хочется
    • Обновлен список доменов для блокировки, перечислять все смысла не вижу, проще глянуть diff
    • Добавлено снятие атрибута «Только для чтения» с файла хостов перед добавлением в него записей
  • Версия 0.2.8 от 01.09.2015:
    • Добавлен флаг запуска -d или -disable — который отменяет функционал сокрытия обновлений (применимо как временное решение того, что скрипт на моменте сокрытия обновления очень долго «отрабатывает»)
  • Версия 0.2.7 от 01.09.2015:
    • Из списка хотфиксов, подлежащих удалению убраны KB3050265 - Windows Update Client for Windows 7: June 2015 // WS 2008 R2 SP1, 7 SP1, KB3075853 - Windows Update Client for Windows 8.1 and Windows Server 2012 R2: August 2015 // WS 2012 R2 / 8.1 / RT 8.1 и KB3065987 - Windows Update Client for Windows 7 and Windows Server 2008 R2: July 2015 // WS 2008 R2 SP1 / 7 SP1 / Embedded Standard 7 SP1, так как возможно они являются причиной того, что в исключительных случаях удаление/сокрытие обновлений длятся очень долго. На данный момент такое поведение иногда воспроизводится, причина его до конца не выяснена, а решения предложенные на форме мелкософта — не решают данную проблему.
  • Версия 0.2.6 от 01.09.2015:
    • Исправлена ещё одна небольшая ошибка с некорректным добавлением правила файрвола
    • Добавлена поддержка локальных файлов unzip.exe и самого модуля для PowerShellPSWindowsUpdate.zip. Теперь если они находятся рядом (в оной директории) со скриптом — используются именно они, а иначе — они скачиваются
    • Некоторые другие незначительные изменения и исправления
  • Версия 0.2.5 от 31.08.2015:
    • Исправлена ошибка с добавлением пустого правила файрвола (из-за этого в исключительных ситуациях после работы скрипта «не работал интернет»)
    • Исправлена ошибка с остановкой работы скрипта после автоматической установки модуля для PowerShell
    • Некоторые незначительные изменения и исправления
  • Версия 0.2.4 от 30.08.2015:
    • Добавлено отключение отправки отчетов об ошибках в M$
  • Версия 0.2.3 от 30.08.2015:
    • Реализована автоматическая установка модуля PSWindowsUpdate для PowerShell
    • Добавлена возможность логирования сообщений скрипта (по умолчанию пишутся в файл %имя_скрипта%.log в директории, откуда скрипт был запущен); для отключения этой штуки запускай скрипт с флагом -log или -l
    • Небольшой рефакторинг кода
    • По рекомендации тов. Pavel из блокировки убран адрес 68.232.34.200
  • Версия 0.2.1 от 26.08.2015:
    • Ахрененно объемное обновление
    • Добавлена поддержка отключения (сокрытия) обновлений средствами PowerShell и модуля к нему PSWindowsUpdate
    • Добавлена поддержка блокирования IP ещё и на уровне виндового файрвола
    • Значительно обновлен список IP адресов для блокировки. Большая часть из них взята из доменных имен, которые блокировали в файле hosts (давай MS, игнорируй файл хостов дальше, успехов).
    • Исправлена ошибка с записью в файл хостов — ранее если он не заканчивался пустой строкой — крайняя запись косячилась. Встречалось это крайне редко, но всё же
    • Обновлен список доменных имен
    • Поправлены мелкие ошибки (и конечно же порождены новые)
  • Версия 0.1.9 от 26.08.2015:
    • Поправлена ошибка с ошибочным определением отсутствия прав администратора
  • Версия 0.1.9 от 26.08.2015:
    • Поправлена ошибка с ошибочным определением отсутствия прав администратора
  • Версия 0.1.8 от 25.08.2015:
    • Добавлены некоторые задачи (tasks) подлежащие отключению
    • Добавлен ещё один сервис dmwappushservice + дополнительное отключение телеметрии в Windows 10
  • Версия 0.1.6 от 24.08.2015:
    • Добавлена поддержка альтернативных флагов (более понятных)
    • Незначительные поправки в UI (если это вообще можно назвать UI)
  • Версия 0.1.5 от 24.08.2015:
    • Увеличен таймаут перед выходом до 60 секунд
  • Версия 0.1.4 от 24.08.2015:
    • Добавлена поддержка остановки&отключения сервисов
    • В список сервисов подлежащих отключению внесен Diagtrack
  • Версия 0.1.1 от 24.08.2015:
    • Добавлена поддержка флагов запуска
  • Версия 0.0.9 от 24.08.2015:
    • Добавлена функция отключения автоматического обновления
  • Версия 0.0.7 от 24.08.2015:
    • Добавлена хренова куча новых доменных имен для блокировки
    • Увеличен таймаут перед выходом до 15 секунд
  • Версия 0.0.4 от 24.08.2015:
    • Обновлен список хреновых обновлений
    • Теперь умеем блокировать запросы к определенным IP средствами add route
    • Добавлены наиболее известные адреса для блокировки
    • Так же умеем отключать задачи (tasks)
    • Добавлен список основных задач
    • Незначительно наведена красота в коде
  • Версия 0.0.2 от 24.08.2015:
    • Первый релиз
    • Умеем удалять обновления
    • Умеем блокировать запросы к доменам средствами правки файла hosts

Источник

Метки: , , , , ,


Оставить отзыв