在 Windows Server 2025 安装过程中,确实有部分用户反馈提到,系统要求上传隐私数据(如匿名硬件信息、诊断数据等)。虽然这些数据的上传本身是为了提升用户体验和系统兼容性,但如果你希望禁用或避免这些设置,可以通过修改注册表来实现。


通过 .reg 文件禁用 "允许诊断数据" 设置,可以根据注册表路径和键值来实现。你可以创建一个 .reg 文件,将其导入到注册表中,以禁用诊断数据的发送功能。
创建 .reg 文件的步骤:
- 打开文本编辑器(如 Notepad)。
- 将以下内容复制到文本文件中:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\DataCollection]
"AllowTelemetry"=dword:00000000
解释:
-
注册表路径:
Copy CodeHKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\DataCollection -
"AllowTelemetry":
该项用于控制诊断数据的收集和发送。0表示禁用所有诊断数据收集。1表示收集基本的诊断数据(仅限操作系统和硬件配置)。2表示收集更详细的诊断数据,包括应用程序和使用情况等。3是默认设置,表示收集完整的诊断数据(包括用户活动和操作系统错误等)。
.reg 文件内容说明:
- "AllowTelemetry"=dword:00000000:禁用所有诊断数据的收集。
保存和应用 .reg 文件:
- 将文件保存为 disable_diagnostics.reg(确保文件扩展名为
.reg)。 - 双击
.reg文件,并在弹出的对话框中选择 是,以确认添加此信息到注册表。 - 重启计算机使更改生效。
如果你希望禁用特定的诊断数据级别:
- 你可以根据需求将
"AllowTelemetry"的值设置为1、2或3,以适应不同的诊断数据收集级别。0:禁用所有诊断数据。1:仅基本数据。2:增强型数据。3:完整数据(默认设置)。
参考:
该方法适用于 Windows 10 和 Windows 11 系统。通过修改注册表,可以禁用或调整系统的诊断数据收集行为。
通过 .reg 文件禁用 "允许发送 Windows 诊断数据中的设备名称" 设置,你需要编辑注册表,以控制该策略。你可以创建一个 .reg 文件并通过双击它来导入到注册表中,从而禁用该设置。
创建 .reg 文件的步骤:
- 打开文本编辑器(如 Notepad)。
- 将以下内容复制到文本文件中:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\DataCollection]
"AllowDeviceNameSending"=dword:00000000
- 保存文件时,将文件类型选择为 所有文件,并命名为 disable_device_name_send.reg(确保文件扩展名是
.reg)。
解释:
- 该
.reg文件将禁用 "允许发送 Windows 诊断数据中的设备名称" 设置。 - 注册表路径是:
Copy Code
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\DataCollection - 注册表项 "AllowDeviceNameSending" 设置为
0(表示禁用)。如果你想重新启用该功能,可以将值改为1。
应用 .reg 文件:
- 双击你刚才保存的
.reg文件。 - 系统会提示你确认是否添加该信息到注册表,点击 是 进行确认。
- 完成后,重启计算机使更改生效。
总结:
- 通过这种方法,你可以通过
.reg文件禁用 Windows 10/11 中的设备名称发送功能。
在 Windows Server 2025 安装过程中,确实有部分用户反馈提到,系统要求上传隐私数据(如匿名硬件信息、诊断数据等)。虽然这些数据的上传本身是为了提升用户体验和系统兼容性,但如果你希望禁用或避免这些设置,可以通过修改注册表来实现。
以下是通过注册表禁用隐私数据上传的步骤:
1. 完成安装后禁用隐私数据上传:
步骤 1: 打开注册表编辑器
- 按下 Win + R,在弹出的 运行 窗口中输入
regedit并按回车,打开注册表编辑器。
步骤 2: 导航到相关注册表路径
- 在注册表编辑器中,依次展开以下路径:
Copy Code
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\DataCollection
步骤 3: 创建或修改注册表项
-
如果在
DataCollection键下没有找到名为 "DoNotSendAdditionalData" 的项,请右键点击 DataCollection 文件夹,选择 新建 → DWORD (32-bit) 值,命名为 "DoNotSendAdditionalData"。 -
双击 "DoNotSendAdditionalData",将其值设置为 1 以禁用数据上传。
步骤 4: 禁用其他诊断数据收集(可选)
同样在 DataCollection 路径下,你可以找到或创建以下注册表项来进一步控制诊断数据的上传:
-
"AllowTelemetry":设置为 0,禁用所有类型的诊断数据。
方法:右键点击 DataCollection,选择 新建 → DWORD (32-bit) 值,命名为 "AllowTelemetry",并将其值设置为 0。
步骤 5: 关闭注册表编辑器
- 修改完成后,关闭注册表编辑器。你需要重启计算机使设置生效。
2. 使用组策略禁用隐私数据上传(推荐)
如果你安装了 Windows Server 2025 的 Group Policy Management 功能,可以通过组策略来禁用隐私数据上传:
步骤 1: 打开组策略编辑器
- 按下 Win + R,输入
gpedit.msc并按回车,打开组策略编辑器。
步骤 2: 导航到隐私设置
- 在组策略编辑器中,依次展开以下路径:
Copy Code
计算机配置 → 管理模板 → Windows 组件 → 数据收集和预览构建
步骤 3: 修改设置
- 在右侧窗格中找到并双击 "允许用户选择数据收集级别"。
- 将其设置为 禁用,然后点击 应用。
这样可以彻底禁用系统在安装过程中的隐私数据上传。
通过以上两种方法,你可以禁用 Windows Server 2025 安装过程中收集隐私数据的功能,分别是通过注册表和组策略进行配置。注意,禁用这些设置可能会影响到某些功能(例如,通过数据收集来改善用户体验的功能)。
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\OneSettings]
"DownloadEnabled"=dword:00000000 // 禁用 OneSettings 下载
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\DataCollection]
"AllowTelemetry"=dword:00000000 // 禁用诊断数据收集
"DisableDeletingDiagnosticData"=dword:00000001 // 禁止删除诊断数据
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\ConnectedUserExperienceAndTelemetry]
"CEIPEnable"=dword:00000000 // 禁用连接用户体验和遥测(CEIP)
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Commercial]
"EnableCommercialDataPipe"=dword:00000000 // 禁用商业数据管道
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Diagnostics]
"DataUploadEndpoint"="" // 清空诊断数据上传终结点,禁用上传
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate]
"UpdateCompliance"=dword:00000000 // 禁用更新合规性处理
@echo off
:: 禁用 OneSettings 下载
reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\OneSettings" /v DownloadEnabled /t REG_DWORD /d 0 /f
:: 禁用诊断数据收集
reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\DataCollection" /v AllowTelemetry /t REG_DWORD /d 0 /f
:: 禁止删除诊断数据
reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\DataCollection" /v DisableDeletingDiagnosticData /t REG_DWORD /d 1 /f
:: 禁用连接用户体验和遥测(CEIP)
reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\ConnectedUserExperienceAndTelemetry" /v CEIPEnable /t REG_DWORD /d 0 /f
:: 禁用商业数据管道
reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\Commercial" /v EnableCommercialDataPipe /t REG_DWORD /d 0 /f
:: 清空诊断数据上传终结点,禁用上传
reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\Diagnostics" /v DataUploadEndpoint /t REG_SZ /d "" /f
:: 禁用更新合规性处理
reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate" /v UpdateCompliance /t REG_DWORD /d 0 /f
echo 隐私策略已配置成功!
pause
Windows Server 的遥测机制
1. 遥测服务状态
- 服务名:
DiagTrack(Connected User Experiences and Telemetry) - 在 Server Core 或默认安装中,该服务默认为
Disabled(禁用)
2. 注册表控制项
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\DataCollection
"AllowTelemetry" = dword:00000000 ; 0 = 完全关闭
💡 此设置在 Server 上通常无需手动配置,因默认即为最低级别。
3. 组策略路径(若安装 GUI)
计算机配置 → 管理模板 → Windows 组件 → 数据收集和预览版本
→ “允许遥测” → 设置为“已禁用”或“0 - 安全”
🛡️ 三、如果你仍希望“彻底禁用”(防御性操作)
✅ 方法 1:通过 PowerShell 禁用遥测服务
# 停止并禁用 DiagTrack 服务
Stop-Service DiagTrack -Force
Set-Service DiagTrack -StartupType Disabled
# 禁用另一个相关服务(可选)
Set-Service dmwappushservice -StartupType Disabled
✅ 方法 2:注册表彻底关闭
New-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\DataCollection" `
-Name "AllowTelemetry" -Value 0 -PropertyType DWORD -Force
✅ 方法 3:防火墙阻断遥测域名(终极方案)
# 阻止连接微软遥测服务器
netsh advfirewall firewall add rule name="Block Telemetry" dir=out remoteip=134.170.0.0/16,157.56.0.0/16,204.79.197.0/24 action=block
Get-Service DiagTrack | Select Status, StartType
Stopped 和 Disabled,则遥测已关闭。核心服务禁用(最有效)
1. 禁用遥测与诊断服务
# 停止并禁用 DiagTrack(Connected User Experiences and Telemetry)
Stop-Service DiagTrack -Force
Set-Service DiagTrack -StartupType Disabled
# 禁用 dmwappushservice(WAP Push Message Routing)
Set-Service dmwappushservice -StartupType Disabled
📌 说明:这两个服务是 Windows 向微软发送错误报告、使用统计的主要通道。
✅ 二、注册表强制关闭遥测(即使服务未运行也生效)
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\DataCollection]
"AllowTelemetry"=dword:00000000
"AllowDeviceNameInTelemetry"=dword:00000000
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\AppCompat]
"AICEnabled"=dword:00000000
"DisableInventory"=dword:00000001
💡 此设置将遥测等级强制设为 0(安全),仅允许严重安全事件上报(实际在 Server 上也常为空)。
✅ 三、组策略配置(推荐用于域环境)
计算机配置 → 管理模板 → Windows 组件 → 数据收集和预览版本| 策略 | 设置 |
|---|---|
| 允许遥测 | 已禁用 或 0 - 安全 |
| 关闭 Windows 客户体验改进计划 | 已启用 |
| 关闭应用程序兼容性调查程序 | 已启用 |
⚠️ 若未安装 GUI,可通过LGPO.exe或直接写注册表实现。
✅ 四、防火墙阻断关键境外域名/IP(终极防护)
🔒 关键遥测/更新域名(出站阻断):
*.windowsupdate.com
*.update.microsoft.com
*.ntservicepack.microsoft.com
*.watson.microsoft.com
*.vortex.data.microsoft.com
*.settings-win.data.microsoft.com
*.diagnostics.support.microsoft.com
*.telemetry.microsoft.com
*.mobile.events.data.microsoft.com
*.statsfe2.ws.microsoft.com
🔒 微软 IP 段(示例,建议定期更新):
134.170.0.0/16157.56.0.0/16204.79.197.0/2440.77.0.0/16(Azure 相关)
🛡️ 操作命令(本地防火墙):
# 示例:阻断 telemetry 域名(需先解析 IP,或使用第三方工具)
# 更推荐在网络设备(如防火墙、代理)上统一拦截
💡 注意:完全阻断更新域名会影响 Windows Update。若需打补丁,应通过 WSUS / SCCM / 离线更新包 内部部署。
✅ 五、禁用可选云集成功能(常被忽略!)
| 功能 | 禁用方法 |
|---|---|
| Windows Admin Center (WAC) | 卸载或禁止其连接 Azure |
| Azure Arc | 不安装或卸载 AzureConnectedMachineAgent |
| Defender for Endpoint | 若未使用,禁用相关服务(Sense) |
| OneDrive / Office Online | Server 默认不装,但若手动安装需卸载 |
🔍 检查已安装的云代理:
Get-WindowsFeature | Where Installed -eq $true | Where Name -like "*Azure*"
Get-Service | Where Name -like "*Arc*" -or Name -like "*Sentinel*"
✅ 六、审核当前出站连接(验证是否干净)
# 查看活跃出站连接
Get-NetTCPConnection | Where RemoteAddress -NotLike "127.*" |
Select RemoteAddress, RemotePort, State, OwningProcess |
ForEach-Object {
$proc = Get-Process -Id $_.OwningProcess -ErrorAction SilentlyContinue
[PSCustomObject]@{
RemoteIP = $_.RemoteAddress
Port = $_.RemotePort
Process = $proc.ProcessName
}
}
📌 总结:禁用境外后台传输的“黄金四步”
| 步骤 | 操作 | 必要性 |
|---|---|---|
| 1. 服务禁用 | DiagTrack, dmwappushservice 设为禁用 |
⭐⭐⭐⭐⭐ |
| 2. 注册表锁死 | AllowTelemetry = 0 |
⭐⭐⭐⭐ |
| 3. 防火墙拦截 | 阻断微软遥测/更新域名(内网更新替代) | ⭐⭐⭐⭐⭐ |
| 4. 清理云代理 | 卸载 Azure Arc、WAC 等非必要组件 | ⭐⭐⭐ |
✅ 最终效果:
在严格配置下,Windows Server 不会主动向境外服务器发送任何用户数据、硬件信息或使用日志,符合高安全合规要求。
⚠️ 重要提醒
- Windows Update 仍需处理:建议搭建 WSUS 或使用 离线更新包(如 DISM + .cab 文件),避免直连微软。
- 不要使用“隐私清理工具”:第三方工具可能破坏系统完整性,应通过官方机制配置。
- 定期审计:新安装的角色(如 IIS、.NET)可能引入新连接,需持续监控。
✅ 一、验证本地配置是否生效(配置层)
1. 检查遥测服务状态
# 检查 DiagTrack 和 dmwappushservice 是否已禁用
Get-Service DiagTrack, dmwappushservice | Select Name, Status, StartType
Status = StoppedStartType = Disabled
⚠️ 若StartType为Manual或Automatic,即使当前停止,仍可能被触发启动。
2. 验证注册表遥测策略
Get-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\DataCollection" -Name "AllowTelemetry" -ErrorAction SilentlyContinue
- 返回值为
AllowTelemetry : 0
💡 若路径不存在,说明未通过组策略/注册表强制关闭,系统可能使用默认遥测级别(Server 默认为 2,但实际数据极少)。
3. 确认无云代理残留
# 检查 Azure Arc、Defender 等代理
Get-Service | Where-Object { $_.Name -match 'Arc|Sentinel|HealthService' } | Select Name, Status
# 检查已安装的云相关功能
Get-WindowsFeature | Where-Object { $_.Installed -and $_.Name -like "*Azure*" }
✅ 二、检测实时网络行为(运行层)
1. 查看当前出站连接
# 列出所有非本地回环的 TCP 连接
$connections = Get-NetTCPConnection | Where-Object {
$_.RemoteAddress -ne '127.0.0.1' -and
$_.RemoteAddress -ne '::1' -and
$_.State -eq 'Established'
}
$connections | ForEach-Object {
$proc = Get-Process -Id $_.OwningProcess -ErrorAction SilentlyContinue
[PSCustomObject]@{
RemoteIP = $_.RemoteAddress
RemotePort = $_.RemotePort
ProcessName = $proc?.ProcessName ?? "Unknown"
PID = $_.OwningProcess
}
} | Format-Table -AutoSize
- 连接到
134.170.x.x、157.56.x.x、204.79.x.x等微软 IP; - 进程名为
svchost.exe(承载 DiagTrack)、TiWorker.exe(更新)、WaaSMedicAgent.exe等。
2. 持续监控 24 小时网络活动(推荐)
# 每5分钟记录一次外联,保存到日志
while ($true) {
$log = Get-Date -Format "yyyy-MM-dd HH:mm:ss"
$outbound = Get-NetTCPConnection | Where RemoteAddress -NotMatch "^(127|10|172\.1[6-9]|172\.2[0-9]|172\.3[01]|192\.168)\."
if ($outbound) {
$outbound | ForEach-Object {
"$log - $($_.RemoteAddress):$($_.RemotePort) (PID: $($_.OwningProcess))"
} | Out-File -Append C:\logs\network_audit.log
}
Start-Sleep -Seconds 300
}
📌 建议在新装系统、重启后、打补丁后分别运行,覆盖不同场景。
✅ 三、分析系统日志(审计层)
1. 检查 DiagTrack 是否尝试启动
# 查看系统日志中 DiagTrack 相关事件
Get-WinEvent -LogName System | Where-Object {
$_.ProviderName -eq "Service Control Manager" -and
$_.Message -like "*DiagTrack*"
} | Select TimeCreated, Message
2. 检查遥测任务计划程序
# Microsoft\Windows\Customer Experience Improvement Program
Get-ScheduledTask -TaskPath "\Microsoft\Windows\Customer Experience Improvement Program\" -ErrorAction SilentlyContinue
✅ 四、外部流量验证(终极手段)
方法:在网络边界(防火墙、代理、镜像端口)抓包分析
- 使用 Wireshark / tcpdump 抓取服务器网卡流量;
- 过滤条件:
!ip.src == <内网网段> and !ip.dst == <内网网段> - 检查是否连接以下域名/IP:
vortex.data.microsoft.comsettings-win.data.microsoft.com*.telemetry.microsoft.com- 微软公共 IP 段(如前文所列)
🔒 高安全环境建议:部署 网络DLP 或 流量审计系统,实时告警境外连接。
✅ 五、使用微软官方工具辅助验证
1. Windows Diagnostic Data Viewer(需手动安装)
- 可查看本机收集了哪些诊断数据;
- 在 Server 上通常为空。
2. Privacy Dashboard(在线)
- 访问 https://account.microsoft.com/privacy
- 注意:仅对绑定 Microsoft 账户的设备有效,Server 通常不登录 MS 账户,此方法无效。
📋 检测效果评估表
| 检测项 | 合格标准 | 工具/命令 |
|---|---|---|
| 遥测服务 | DiagTrack 禁用且未运行 |
Get-Service |
| 注册表策略 | AllowTelemetry = 0 |
Get-ItemProperty |
| 实时外联 | 无连接微软遥测IP/域名 | Get-NetTCPConnection |
| 24h 监控 | 日志无异常出站 | 自定义脚本 |
| 系统日志 | 无 DiagTrack 启动记录 | Get-WinEvent |
| 网络抓包 | 无境外数据包 | Wireshark |
最佳实践建议
- 基线固化:将合格配置写入 SCCM / Intune / Ansible 自动化部署;
- 定期巡检:每月运行一次检测脚本;
- 变更联动:安装新角色/更新后,重新验证网络行为;
- 纵深防御:即使主机配置正确,网络层仍应默认阻断境外访问(白名单放行更新源)。
“禁用”不等于“消失”,必须通过“配置 + 行为 + 流量”三层验证才能确认效果。
对于高安全要求的 Windows Server,仅靠注册表和服务禁用是不够的,必须结合网络层拦截与持续监控,才能真正实现“零境外后台传输”。

浙公网安备 33010602011771号