OneNote无法登录,提示错误0x800713AB

今天在使用微软OneNote录入笔记时无意间发现有内容缺失,而这部分内容是之前在其他设备上录入的,系未完成同步所致。自动同步失效似乎是由于账户登录问题导致的,在OneNote 2016中提示【OneNote需要密码才能同步此笔记本】,而在OneNote for Windows 10中直接提示【已脱机保存(需要登录)】【若要同步此笔记本,请登录OneNote】。

于是点击提示文本进行登录,但是并没有要求输入密码的对话框出现,而是在等待一小会后重新弹出上述提示,并且反复尝试数次依旧如此。之后又进入菜单项手动同步,但在一小段延迟后提示失败,显示网络笔记本不可用;而之后在手动同步窗口中再次点击【立刻同步】按钮,其并未出现任何延迟、卡顿、或者加载进度动画,而是原样显示不可用字样。

考虑到点击提示文本并未如预期弹出密码输入窗口,以及在之后点击【立刻同步】按钮时没有任何进行联网验证的迹象,我怀疑在其验证逻辑中,在某一先于和服务器进行实际通信的步骤中,已经在本地认定用户登录和内容同步不可进行,因而提前否认和终结了同步请求,致使没有出现根据服务端验证结果会弹出的密码窗口,亦未在点击按钮后出现由网络通信造成的应有延迟。

但仅靠这样的推测并无法定位和解决问题;根据经验,一般而言,这类问题是在本地预校验用户凭据或者验证网络连通性时出现了意外所导致的误判。瞄了一眼右下角托盘区的网络图标,其不知何故,当前显示为【无法连接到Internet】的状态,所以优先考虑网络连通性问题。但在当时,我通过一番简单验证后,不得不暂时先排除网络连通性的可能:

  1. 其他应用程序都是可以正常上网的,说明网络是联通的

  2. 游戏也可以正常联机,说明路由表是正确的(并且通过route PRINT验证了这一点;之前出现过双网卡路由表错误导致应用正常上网但是游戏无法进入对局)

  3. 又查看了同为UWP应用的邮件应用,其收发和浏览功能也都是正常的,说明UWP应用的联网路径是可用的(UWP应用默认运行于沙箱中,不允许其流量由经外部的操作系统,因而联网路径可能会和普通程序有所不同,详见...),并且我还额外编辑了Loopback-Exemption条例允许OneNote的网络流量通过外部系统,但是未见效果,从而排除了联网路径差异的关系

  4. 此外,在允许OneNote流量由经沙箱外系统后,我还启用了全局网络代理来检验微软服务器临时不可连接的可能性,但是并未见效。

至此,我不得不暂时搁置网络问题,而是转而向用户凭据入手。如果是本地凭据受污染或者相关的状态机出错,通常注销后重新登录即可解决,亦即触发一次重置。然而,在注销OneNote账户后,就再也无法登录了——OneNote 2016的报错提示已经不记得了,但OneNote For Windows 10在打开应用后立刻提示错误码0x800713AB,此外就没有任何可以用于定位错误的提示内容了,更不会弹出用户登录界面。这下可好,不但无法把缺失的内容同步过来,反倒因为账户登出后无法重新登录,连本地的内容都没法查看了。不过既然都考虑到用户凭据了,索性就验证到底了。以【OneNote 账户无法登录】等关键词进行查找,可以搜到一些零散的网页,如微软社区上的回答微软技术支持页面;内容也都大同小异,大致有如下几种可供尝试的做法:

  1. 在【凭据管理器】中清除带有OneNote或Office等字样的凭据,但并没有效果;

  2. 使用DISM工具检测系统文件是否存在损坏。由于之前系统意外断电关机过几次,存在文件损坏的可能,遂运行Dism /Online /Cleanup-Image /ScanHealth进行扫描,但提示没有错误;

  3. 更改DNS。尝试换用DNS(包括DNS over HTTPS以确保未受污染),并用nslookup命令进行跟踪检查,但未见异常;

  4. 新建一个账户进行尝试。感觉好麻烦而且要是之后一直得这么做也不是个办法,就先搁置在一边。

  5. 重装OneNote。考虑到还有一部分本机未上传同步的内容,为了避免可能的数据丢失,还是不试了。

在考虑重装OneNote的时候,想到去微软应用商店查看OneNote For Windows 10的最新版本,期望可以用更新代替重装来尝试解决问题。 然而发现应用商店竟然也无法打开了;此外,反馈中心等应用也无法使用,提示相同的错误代码0x800713AB。显然,这已经不是OneNote本身的问题了,而应该是UWP应用在进行登录验证时遇到的公共问题。但于此同时,Microsoft TO-DO、邮件等一众UWP应用却依然正常运作,一时间又对问题定位造成了混淆。简单搜索了一下出现的错误代码,但是结果网页甚少,并且没有针对性的回答。

只能重新思考。目前为止,唯一存在异常的地方是托盘区的网络状态指示器提示【无法连接到Internet】;并且对应的网络适配器也有一致的提示,如图所示(Ethernet1 2接入内网,可以忽略其状态;只需关注Ethernet0 2)。

遂启用网络疑难解答以查找问题,但是却提示未检测到任何问题

<img src="C:UsersDappurOneDrive - shanghaitech.edu.cn文本随笔locate-issue.png" style="zoom:67%;" />

这就令人啼笑皆非了:明明提示着【无法连接到Internet】【无Internet访问权限】的问题,结果一通排查下来的结果却又是没有问题。假如是提示有问题但找不到原因也就算了,但硬说没问题的话,这网络状态指示器和网络疑难解答对于连通性的判断难不成走的是两套不同的逻辑?但结合目前的信息来看,似乎也只有这一种解释。而更匪夷所思的是,既然网络状态指示器的显示和包含OneNote在内的UWP应用的登录验证判定一致,难不成这两者反倒共享了一部分判断逻辑?考虑到UWP应用默认的沙箱环境甚至和系统网络是相隔离的,而状态指示器又是一个比较独立的模块并且甚至可以被单独禁用,看似毫无关联二者,竟然有着一致的表现,实在是令人费解。

暂且放下对Windows 10中代码复用和执行逻辑的批判。需要先抓紧解决问题。

既然疑难解答不能定位到网络状态指示器的问题,那考虑手动排查。通过查找资料?redirectedfrom=MSDN#BKMK_Overview)得知,网络状态指示器(NCSI)是在计算机网络发生更改时,通过尝试访问http://www.msftncsi.com/ncsi.txt和解析dns.msftncsi.com来进行判断的。那么就涉及到两处可供排查的环节:

  1. 状态指示器没有正确捕获网络变更(本应在系统启动时触发)。我通过禁用和重新启用所有的网络适配器来再次触发网络变更事件,然而指示器状态未见变化;

  2. 两处网址不可用。但是浏览器可以正确下载ncsi.txt的内容,并且dns.msftncsi.com的DNS解析追踪和结果也都正确。

根据微软的文档说明,NCSI的判断条件只有如上二者。但是在条件均成立的情况下,竟然依旧提示不可联网,实在是难以理解。更令人好气的是,NCSI竟然不会在事件管理器中记录日志,也就无从进一步分析其运行状态。顺便翻阅了一遍事件管理器中的其他日志,并未找到有价值的线索。

再次想对Windows 10批判一波。再次权且搁置了。我还赶着录入和整理笔记内容啊。

无奈,目前手上仍握有的将将可用的线索,仅剩下值为0x800713AB的错误码这一条了。以该错误码为关键词,顺带着【win10 你似乎没有连接到internet】等字样,在搜索引擎中翻来倒去地交叉查找,终于在某一个相关的微软社区问答中得到了答复,大意为:社区回答者对此错误码并不知情,想要获取其具体含义,请前往专业用户板块咨询工程师。

所以社区回答者除了建议重启、重置、重装系统外,就只会把问题丢给工程师了么?

甚至开始失去批判Windows 10的兴趣了。

继续在搜索引擎中翻箱倒柜地查找,经过漫长的时间后,终于在百度中搜索到了一个中文问答页面,看到回答的第一句话,我就定位到了问题所在:0x800713AB表示:此操作无法使用群集网络。虽然集群网络这个术语听着很生硬,但大概是和我使用了双网卡有关;毕竟在集群环境下,节点通常会处于多个网段内。尝试禁用了内网网卡适配器,不一会儿后网络状态指示器就恢复了正常,各UWP应用也可以正常进入并正确弹出登录窗口。之后经过试验发现,需要外网网卡先于内网网卡被启用,系统才会不出问题。而操作系统正常启动的时候,并不会去特意控制网卡的启用顺序,从而触发了这个问题。而之前在排查网络状态指示器时重启各网络适配器,也没有按照该顺序进行,因此没有纠正该问题(幸亏那时候没恰好纠正,否则可能会误判原因,真相就可能因此被掩盖了)。

至于网卡启用顺序会造成什么不同,从而影响NCSI的显示和UWP的登录,在经过多次试验和检查后依然不得而知。以及,但凡微软在某个文档页面能对0x800713AB给出一个如上文所述的简短解释,我也不用花费数小时跌跌撞撞地勉强得到答案。

哎,Windows 10……

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:《OneNote无法登录,提示错误0x800713AB》https://dappur.tech/blog/8/