tis-disable-telemetry
10.3.1-11
Disable Windows Tracking and Telemetry
1459 downloads
See build result See VirusTotal scan

Description
- package : tis-disable-telemetry
- name : Disable Telemetry
- version : 10.3.1-11
- architecture : all
- categories : Security
- maintainer : WAPT Team,Tranquil IT,Jimmy PELÉ,Hübert TOUVET
- locale : all
- target_os : windows
- installed_size :
- impacted_process :
- editor :
- licence :
- signature_date : 2022-08-31T12:02:20.062800
control
package : tis-disable-telemetry
version : 10.3.1-11
architecture : all
section : base
priority : optional
name : Disable Telemetry
categories : Security
maintainer : WAPT Team,Tranquil IT,Jimmy PELÉ,Hübert TOUVET
description : Disable Windows Tracking and Telemetry
depends :
conflicts :
maturity : PROD
locale : all
target_os : windows
min_wapt_version : 2.0
sources :
installed_size :
impacted_process :
description_fr : Désactiver le suivi et la télémétrie de Windows
description_pl : Wyłączenie śledzenia i telemetrii systemu Windows
description_de : Windows-Tracking und Telemetrie deaktivieren
description_es : Desactivar el seguimiento y la telemetría de Windows
description_pt : Desactivar o rastreio e a telemetria do Windows
description_it : Disattivare il tracciamento e la telemetria di Windows
description_nl : Windows-tracering en telemetrie uitschakelen
description_ru : Отключение слежения и телеметрии Windows
audit_schedule :
editor :
keywords : tracking,telemetry,crapware
licence :
homepage :
package_uuid : b5465443-03ff-4c36-8377-a9714dbc4ace
valid_from :
valid_until :
forced_install_on :
changelog :
min_os_version : 6.1
max_os_version :
icon_sha256sum : 9420721210f5d9c50c9e35c9fdbf0a088b30e165df8311c5f2176ce60e122475
signer : Tranquil IT
signer_fingerprint: 8c5127a75392be9cc9afd0dbae1222a673072c308c14d88ab246e23832e8c6bb
signature : gvCCJ54wogLznny9ltQIziyStTKRGhOu8ZVpTTZ1X3gBIEihwgMPRBfaAV5qL0Rfx9HitYhlAnBVWLhHiWbUGqv9E967jdM1+3ZgjtR/HlgUsU7GlGH2zCHjSxSEYMPxz4vD+HS3OFGKxkUtYFVaYSi39wA2OnXZGS9hoLZxUTDqawiik2uk1W3Ty6yjsbNT7CAw2x6He/G4o9yscrNk8og7c3q9YNih2BysqFLSqL/Q4y0HQ0oxuwS5JcN72eb+xjYZqms+Z6qtk7i75Itgva9iLA+hli+iUeuH1Xz6/aHHMsmisMrayKdTZC1Flr6FHi6W000aPZxkBedEX0AKZg==
signature_date : 2022-08-31T12:02:20.062800
signed_attributes : package,version,architecture,section,priority,name,categories,maintainer,description,depends,conflicts,maturity,locale,target_os,min_wapt_version,sources,installed_size,impacted_process,description_fr,description_pl,description_de,description_es,description_pt,description_it,description_nl,description_ru,audit_schedule,editor,keywords,licence,homepage,package_uuid,valid_from,valid_until,forced_install_on,changelog,min_os_version,max_os_version,icon_sha256sum,signer,signer_fingerprint,signature_date,signed_attributes
Setup.py
# -*- coding: utf-8 -*-
from setuphelpers import *
# Usable WAPT package functions: install(), uninstall(), session_setup(), audit(), update_package()
# Declaring global variables - Warnings: 1) WAPT context is only available in package functions; 2) Global variables are not persistent between calls
schtasks_to_disable = [
r"\Microsoft\Windows Live\SOXE\Extractor Definitions Update Task",
r"\Microsoft\Windows\Application Experience\Microsoft Compatibility Appraiser",
r"\Microsoft\Windows\Application Experience\ProgramDataUpdater",
r"\Microsoft\Windows\Application Experience\AitAgent",
r"\Microsoft\Windows\Application Experience\PcaPatchDbTask",
r"\Microsoft\Windows\Customer Experience Improvement Program\Consolidator",
r"\Microsoft\Windows\Customer Experience Improvement Program\KernelCeipTask",
r"\Microsoft\Windows\Customer Experience Improvement Program\UsbCeip",
r"\Microsoft\Windows\UpdateOrchestrator\UpdateAssistant",
r"\Microsoft\Windows\UpdateOrchestrator\UpdateAssistantCalendarRun",
]
services_to_disable = ["WerSvc", "dmwappushservice", "DiagTrack"]
def install():
# Disabling Telemetry Scheduled tasks
for task in schtasks_to_disable:
if task_exists(task):
try:
disable_task(task)
except:
print("Unable to disable the task: %s" % task)
# Disabling Telemetry Services
for service in services_to_disable:
if service_installed(service):
try:
service_disable(service)
except:
print("Unable to disable the service: %s" % service)
# Uninstalling Telemetry Windows KB's
for kb in (
"3112343",
"3083711",
"3083325",
"3080149",
"3075853",
"3075249",
"3072318",
"3068708",
"3065988",
"3064683",
"3058168",
"3050267",
"3044374",
"3035583",
"3022345",
"2976978",
"3021917",
"2990214",
"2952664",
"3081954",
"3150513",
"3139923",
"3173040",
):
run_notfatal("wusa /quiet /norestart /uninstall /kb:%s" % kb, accept_returncodes=[0, 2359303, 87, 112, 3010])
# Disabling Telemetry with registry
registry_setstring(HKEY_LOCAL_MACHINE, r"SOFTWARE\Policies\Microsoft\Windows\DataCollection", "AllowTelemetry", 0, REG_DWORD)
# Disabling Telemetry with files
autologger_file_path = makepath(r"C:\ProgramData\Microsoft\Diagnosis\ETLLogs\AutoLogger\AutoLogger-Diagtrack-Listener.etl")
if isfile(autologger_file_path):
pass
# open(autologger_file_path,'wb').write('') # Permission denied by default
# Uninstalling Microsoft Update Health Tools
for uninstall in installed_softwares(name=r"\bMicrosoft Update Health Tools\b"):
print("Removing: %s (%s)" % (uninstall["name"], uninstall["version"]))
run(uninstall_cmd(uninstall["key"]))
# Removing UpdateAssistant folder
update_assistant_dir = r"C:\Windows\UpdateAssistant"
if isdir(update_assistant_dir):
remove_tree(update_assistant_dir)
if Version(windows_version()) > Version("10.0"):
# Windows 10 only part
pass
else:
# Windows 7 only part
registry_setstring(
HKEY_LOCAL_MACHINE, r"SYSTEM\CurrentControlSet\Control\WMI\AutoLogger\AutoLogger-Diagtrack-Listener", "Start", 0, REG_DWORD
)
registry_setstring(HKEY_LOCAL_MACHINE, r"SYSTEM\ControlSet001\Control\WMI\AutoLogger\AutoLogger-Diagtrack-Listener", "Start", 0, REG_DWORD)
registry_setstring(HKEY_LOCAL_MACHINE, r"SYSTEM\ControlSet002\Control\WMI\AutoLogger\AutoLogger-Diagtrack-Listener", "Start", 0, REG_DWORD)
registry_setstring(
HKEY_LOCAL_MACHINE,
r"SYSTEM\CurrentControlSet\Control\WMI\Autologger\AutoLogger-Diagtrack-Listener\{DD17FA14-CDA6-7191-9B61-37A28F7A10DA}",
"Enabled",
0,
REG_DWORD,
)
registry_setstring(
HKEY_LOCAL_MACHINE,
r"SYSTEM\ControlSet001\Control\WMI\Autologger\AutoLogger-Diagtrack-Listener\{DD17FA14-CDA6-7191-9B61-37A28F7A10DA}",
"Enabled",
0,
REG_DWORD,
)
registry_setstring(
HKEY_LOCAL_MACHINE,
r"SYSTEM\ControlSet002\Control\WMI\Autologger\AutoLogger-Diagtrack-Listener\{DD17FA14-CDA6-7191-9B61-37A28F7A10DA}",
"Enabled",
0,
REG_DWORD,
)
def audit():
# Declaring local variables
result = "OK"
# Auditing the package
for svc in services_to_disable:
if service_installed(svc):
if service_is_running(svc):
print("WARNING: %s is started but should be stopped" % svc)
result = "WARNING"
if service_get_start_mode(svc) != "Disabled":
print("WARNING: %s start mode is NOT disabled" % svc)
result = "WARNING"
if str(registry_readstring(HKEY_LOCAL_MACHINE, r"SOFTWARE\Policies\Microsoft\Windows\DataCollection", "AllowTelemetry")) != "0":
print("ERROR: AllowTelemetry is NOT disabled (often happens after Windows upgrades)")
result = "ERROR"
if result == "OK":
print("OK: Windows Telemetry is well disabled on the system")
else:
print("Force reapplying the package since Telemetry is active...")
WAPT.install(control.package, force=True)
WAPT.write_audit_data_if_changed("disable-telemetry", "audit-status", result, max_count=10, keep_days=365)
return result
def service_disable(service_name):
"""Disabling a service by its service name and stopping it"""
import wmi
c = wmi.WMI()
for service in c.Win32_Service(Name=service_name):
service.ChangeStartMode(StartMode="Disabled")
service.StopService()
def service_change_start_mode(service_name, StartMode):
"""Changing start mode of a service
Usable values: "Boot" "System" "Automatic" "Manual" "Disabled"
Informations: https://msdn.microsoft.com/en-us/library/aa384896(v=vs.85).aspx
"""
import wmi
c = wmi.WMI()
for service in c.Win32_Service(Name=service_name):
service.ChangeStartMode(StartMode=StartMode)
def service_set_start_mode(service_name, StartMode):
"""Changing start mode of a service
Usable values: "Boot" "System" "Automatic" "Manual" "Disabled"
Informations: https://msdn.microsoft.com/en-us/library/aa384896(v=vs.85).aspx
"""
import wmi
c = wmi.WMI()
for service in c.Win32_Service(Name=service_name):
service.ChangeStartMode(StartMode=StartMode)
def service_get_start_mode(service_name):
"""Getting actual start mode of a service
Returned values: "Boot" "System" "Auto" "Manual" "Disabled"
"""
import wmi
s = wmi.WMI()
for service in s.Win32_Service(Name=service_name):
# print(service.State, service.StartMode, service.Name, service.DisplayName)
return service.StartMode
ec75725d959b18e4601a1b98ddaa65a4512712a2ff5a971ab8e176a00eba26be : setup.py
9420721210f5d9c50c9e35c9fdbf0a088b30e165df8311c5f2176ce60e122475 : WAPT/icon.png
a5a97261381e1d0ad46ee15916abec9c2631d0201f5cc50ceb0197a165a0bbbf : WAPT/certificate.crt
3e3a8b8a1f40f89a8914449dd75dad0146675e14b758c472d108725bc7193665 : luti.json
b7a87d82de77dc3e34a66969f598330c896c45f3bef90a12c337341a2a230225 : WAPT/control