专业的编程技术博客社区

网站首页 > 博客文章 正文

隐私保护新招:禁用微软数据收集服务,保护你的个人信息

baijin 2024-08-08 23:02:15 博客文章 71 ℃ 0 评论

今天突然发现CPU使用过高,电源使用也显示“非常高”,经查竟然是Microsoft Compatibility Telemetry导致的 ,


根据资料介绍:Microsoft Compatibility Telemetry是微软下的一个监测数据收集服务。如果用户加入Microsoft客户反馈改善计划,该服务就会在监测系统异常并收集反馈到微软。一般为了确保系统运行的流畅,建议用户禁止该服务。今天我就把禁用方法分享给大家,可以根据自己情况选用一种即可。

在Windows 10操作系统中(我是这个系统,其它系统可作参考),希望禁用Microsoft Compatibility Telemetry服务以减少资源占用或出于隐私考虑的,按照以下步骤操作:

一、手动禁用:

方法一:通过服务管理器

按下 Win + R 键打开“运行”对话框。

在运行框内输入 services.msc 并按回车键,这将打开“服务”窗口。

在服务列表中找到名为 "Connected User Experiences and Telemetry" 或者 “Diagnostic Tracking Service”(旧版本可能是这个名称)的服务。

双击该服务打开其属性窗口。

在“常规”选项卡中,将“启动类型”设置为“禁用”。

如果该服务当前正在运行,则点击“停止”按钮来立即停止服务。

点击“应用”然后“确定”,保存并关闭属性窗口。


方法二:通过组策略编辑器(仅限专业版、企业版和教育版)

按 Win + R 打开“运行”对话框。

输入 gpedit.msc 并按回车,打开本地组策略编辑器。

导航到 计算机配置 -> 管理模板 -> Windows 组件 -> 数据收集和预览 Builds(或 Windows 数据收集)。

找到类似 “允许遥测” 或 “限制诊断数据级别”的策略,并双击打开。

设置策略为“已启用”,并在提供的选项中选择“基本”或“安全”等级,或者选择完全禁止遥测数据发送。

应用更改并退出组策略编辑器。

请注意,禁用此服务可能会影响系统的某些功能更新和兼容性报告。微软官方并不推荐用户禁用这些服务,因为它们有助于微软收集必要的使用数据以改进产品和服务。在进行此类修改前,请确保您理解这样做可能带来的影响。同时,由于系统更新可能会重置服务设置,因此,在每次重大更新后,您可能需要重新检查和禁用该服务。

我这里直接禁用了。


二、编写代码禁用:

方法一:DOS批处理命令实现:

@echo off

echo 正在停止 Microsoft Compatibility Telemetry 服务...

sc stop Microsoft Compatibility Telemetry >nul 2>&1

if %errorlevel% neq 0 (

echo 停止服务失败!请检查服务名称是否正确。

pause

exit /b

)

echo 正在禁用 Microsoft Compatibility Telemetry 服务...

sc config Microsoft Compatibility Telemetry start= disabled >nul 2>&1

if %errorlevel% neq 0 (

echo 禁用服务失败!请检查您的系统权限。

pause

exit /b

)

echo Microsoft Compatibility Telemetry 服务已成功禁用。

Pause

由于我的已经禁止了,请自行验证。注意检查是否在Windows 10系统上运行,然后检查服务是否存在以及其当前状态。

VBScript实现:

创建一个.vbs文件,例如 disable_telemetry.vbs,内容如下:

Vbscript

Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")

Set colItems = objWMIService.ExecQuery("Select * From Win32_Service Where Name='Connected User Experiences and Telemetry'")

For Each objItem In colItems

If objItem.State <> "Stopped" Then

objItem.StopService()

Do Until objItem.State = "Stopped"

WScript.Sleep 1000 ' 等待1秒(1000毫秒)

Set objItem = GetObject("winmgmts:\\.\root\cimv2:Win32_Service.Name='Connected User Experiences and Telemetry'")

Loop

End If

objItem.ChangeStartMode("Disabled") ' 更改为禁用启动模式

WScript.Echo "Microsoft Compatibility Telemetry 服务已成功禁用。"

Next

执行上述脚本时,请确保以管理员权限运行,因为修改系统服务状态通常需要高级权限。另外,由于Windows更新可能会重置服务设置,因此每次重大更新后可能需要重新检查和禁用该服务。

请注意,服务名称可能因操作系统版本不同而有所差异,如果上述服务名称不适用,请在操作前确认您系统中的实际服务名称。

另外,如果用脚本不能真正停止或者出现错误,请手动按方法中步骤执行。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表