On Windows 7 and 8.x too: Completely disable Windows 10 telemetry collection – twm’s blog
Posted by jpluimers on 2020/12/10
From [WayBack] Completely disable Windows 10 telemetry collection – twm’s blog:
So I don’t forget: According to an article in c’t magazine, disabling the “DiagTrack” service (“Connected User Experience and Telemetry”) will completely disable user tracking in Windows 10. They also say that they did not see any negative effects.
Source: [WayBack] Telefonierverbot in c’t 01/2019 page 172 (in German)
I saw at least one system where the service is not shown when you run Services.msc
: it did not list DiagTrack
, nor Connected User Experience and Telemetry
. How awful is that!
The service can also be installed non older Windows versions: [WayBack] Just found DiagTrack running in Services – Tips and Tricks
Sometimes, it gets re-enabled. I think this happens during major Windows updates.
To inspect, stop and disable
Run all commands from the console the below bold commands. The non-bold text was the output on my system. If instead of the cmd.exe
console, you run a PowerShell
console, then remove the bits PowerShell -Command "
and "
at the start and end of each command.
The first command does not require an Administrative (UAC Elevated) command prompt; the last one does.
However, the first command, needs the | Select-Object *
bit as otherwise most of the fields will not be displayed, excluding for instance StartType
.
powershell -Command "Get-Service -Name DiagTrack | Select-Object *" Name : DiagTrack RequiredServices : {RpcSs} CanPauseAndContinue : False CanShutdown : True CanStop : True DisplayName : Connected User Experiences and Telemetry DependentServices : {} MachineName : . ServiceName : DiagTrack ServicesDependedOn : {RpcSs} ServiceHandle : Status : Running ServiceType : Win32OwnProcess StartType : Automatic Site : Container :
On an Administrative command-prompt:
powershell -Command "Set-Service -Name DiagTrack -StartUpType Disabled" powershell -Command "Get-Service -Name DiagTrack | Stop-Service"
Two notes:
- When setting it, it is called
-StartUpType
, but when querying, it isStartType
. Go figure. - You only stop services that have no dependencies via
Set-Service -Name ZZZZZ -Status Stopped
, so this fails:
powershell -Command "Set-Service -Name DiagTrack -Status Stopped" Set-Service : Cannot stop service 'Connected User Experiences and Telemetry (DiagTrack)' because it is dependent on other services. At line:1 char:1 + Set-Service -Name DiagTrack -Status Stopped + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidOperation: (System.ServiceProcess.ServiceController:ServiceController) [Set-Service], ServiceCommandException + FullyQualifiedErrorId : ServiceIsDependentOnNoForce,Microsoft.PowerShell.Commands.SetServiceCommand
So combining a
StartUpType
and aStatus
for this service fails too:powershell -Command "Set-Service -Name DiagTrack -StartUpType Disabled -Status Stopped" Set-Service : Cannot stop service 'Connected User Experiences and Telemetry (DiagTrack)' because it is dependent on other services. At line:1 char:1 + Set-Service -Name DiagTrack -StartUpType Disabled -Status Stopped + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidOperation: (System.ServiceProcess.ServiceController:ServiceController) [Set-Service], ServiceCommandException + FullyQualifiedErrorId : ServiceIsDependentOnNoForce,Microsoft.PowerShell.Commands.SetServiceCommand
Non-PowerShell
You can do parts of this from outside PowerShell, but I could not find out how to query the StartType
without going through WMI (which is usually slow and/or a pain to query).
Start without Administrtor:
sc queryex DiagTrack SERVICE_NAME: DiagTrack TYPE : 10 WIN32_OWN_PROCESS STATE : 4 RUNNING (STOPPABLE, NOT_PAUSABLE, ACCEPTS_PRESHUTDOWN) WIN32_EXIT_CODE : 0 (0x0) SERVICE_EXIT_CODE : 0 (0x0) CHECKPOINT : 0x0 WAIT_HINT : 0x0 PID : 9128 FLAGS :
Now as Administrator:
net stop DiagTrack The Connected User Experiences and Telemetry service is stopping.. The Connected User Experiences and Telemetry service was stopped successfully. sc config DiagTrack start= disabled [SC] ChangeServiceConfig SUCCESS
Related:
- [WayBack] How to execute powershell commands from a batch file? – Stack Overflow
- [WayBack] Get startup type of Windows service using PowerShell – Stack Overflow
- [WayBack] Get-Service
- [WayBack] Set-Service
- [WayBack] powershell – Set-Service: Cannot stop service because it is dependent on other services – Stack Overflow
- [WayBack] Stop-Service
- [WayBack] Disable a Windows service from the command line – Super User
- [WayBack] Telefonierverbot – c’t 01/2019 direkt im heise shop: Windows 10: Telemetrie lahmlegen, Privatsphäre schützen
Via: [WayBack] So I don’t forget: According to an article in c’t magazine, disabling the “DiagTrack” service (“Connected User Experience and Telemetry”) will completel… – Thomas Mueller (dummzeuch) – Google+
–jeroen
Leave a Reply