前言
在科学上网环境下,Microsoft To Do软件常常出现同步卡住或同步失败的问题。经过探索找到了可用的解决方案如下。
操作
获取SID
首先按Windows+R输入regedit打开注册表,定位到如下地址:
PLAINTEXT
计算机\HKEY_CURRENT_USER\SOFTWARE\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Mappings
通过查找找到ToDo应用的SID,大概率大家的前面几位都是一样的,可以直接按照这个查找:

右键点击重命名,将SID复制下来备用:
PLAINTEXT
S-1-15-2-2537927067-2140208811-1083047336-3825492100-1188134376-3459723148-3131426163免除回环
按Windows+X打开终端,输入如下指令:
POWERSHELL
CheckNetIsolation.exe loopbackexempt -a -p=【你的SID】然后回车执行,即可发现同步成功。
结果

如图可见,完美同步!
解释
以下为AI的解释:
简单来说,这行命令是给 Microsoft To Do 这种“住在沙盒里”的应用开了一扇特许通行门。
在 Windows 系统中,Microsoft To Do 属于 UWP (Universal Windows Platform) 应用。为了安全,微软对这类应用实施了严格的隔离机制。以下是为什么执行该命令后就能同步的深层逻辑:
1. UWP 的“隔离墙”:AppContainer
Windows 为了防止恶意软件通过本地网络攻击系统服务,给所有 UWP 应用套上了一个叫 AppContainer 的“救生圈”。
默认情况下,UWP 应用被禁止访问回环地址(Loopback),即 127.0.0.1。这意味着应用无法与运行在同一台电脑上的其他进程或代理服务器直接通信。
2. 为什么同步会失败?
通常情况下,To Do 应该直接连接微软的服务器。但如果你的网络环境满足以下任一条件,同步就会断开:
使用了代理软件: 很多代理工具(如科学上网工具、公司内网网关)会在本地开一个端口(比如
1080或7890)。流量转发: 当 To Do 尝试联网时,系统会尝试将流量转发到本地的代理端口。
撞墙: 因为“禁止访问回环地址”的限制,To Do 无法把数据发给本地代理,流量在自家门口就被拦死了,导致同步失败。
3. 命令做了什么?
CheckNetIsolation.exe 是 Windows 自带的网络隔离诊断工具。
命令拆解:
loopbackexempt: 操作对象是“回环豁免清单”。
-a: 代表 Add(添加)。
-p=[SID]: 指定特定应用的 SID(安全标识符)。
当你执行这行命令时,你其实是在告诉 Windows:“给 Microsoft To Do 发个特赦令,允许它访问本地回环地址。”
4. 执行后的效果
一旦豁免生效:
Microsoft To Do 的联网请求可以成功发送到本地代理端口。
代理再将请求转发到微软服务器(Outlook/Graph API)。
同步成功。

