笔记本在办公室约四十秒就能登录,在家却要几分钟,而期间没有人改动过策略。变的是三个看起来相似、实际表现不同的功能之下的网络路径。漫游配置文件加载注册表状态和配置文件文件夹,文件夹重定向把某个 Shell 文件夹指向服务器共享,脱机文件则为符合条件的网络数据保留缓存。三者都会给登录增加时间,而通常只有一个是原因。

三个等待,三个不同的负责人

漫游配置文件让用户设置跟随某个人在各台参与的计算机之间移动,加载发生在会话早期。登录时用户的注册表配置单元和配置文件文件夹被复制或合并,注销时再写回。这项工作是同步的,因此到配置文件共享的慢路径会让人觉得是桌面慢,而不是文件复制慢。

文件夹重定向是另一套机制。它把选定的 Shell 文件夹(文档是常见例子)移到受支持的网络位置并留在那里。这样配置文件可以保持很小,因为数据不在里面,而代价转移到 Shell 或应用访问该文件夹的那一刻。

脱机文件为符合条件的网络文件增加本地缓存和同步。它回答的是另一个问题,即服务器不可达时会怎样,并且当缓存过期时,它可能在登录和注销时花时间同步。把这三者当成一个设置,正是产生一种在一个方向上很慢、在另一个方向上毫无用处的策略的原因。

测量出究竟是谁在等待

先读取配置文件所在位置,以及它是否从服务器路径加载。然后对会话触及的每个共享测量一次目录列表的耗时,因为局域网内毫秒级响应的共享,经过隧道和繁忙的文件服务器可能要花上几秒。

这两个事实比任何策略审计都更快地缩小问题范围,而且收集它们不需要改动任何配置。请在受影响的笔记本上运行,而不是在共享旁边的服务器上运行。

Get-CimInstance Win32_UserProfile | Select-Object LocalPath, Loaded, SID
Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\*' | Select-Object ProfileImagePath
Measure-Command { Get-ChildItem '\\fs01.corp.internal\profiles\a.singh' | Out-Null }

如果配置文件路径是本地的,且只有一个重定向文件夹指向服务器,那么无论服务台工单怎么说,配置文件加载都不是你的等待。如果配置文件路径是远程的,而列表要花几秒,那么登录就是在等那个共享,解决办法在于路径或配置文件大小,而不是桌面本身。按这个顺序读数字,争论通常到此为止。

连接在等待开始之后才出现

从桌面启动的用户隧道要到配置文件加载很久之后才出现,所以它帮不了那个慢的阶段。Windows 会注意到路径不可用,回退到缓存凭据和本地配置文件,会话最终打开。这就是同一台笔记本在家里第一次登录要几分钟、第二次只要几秒的原因,前提是已经有缓存的配置文件。等待是真实的,但它需要的连接在那一刻并不存在。

要修复就得把连接提前,而不是调整配置文件。使用计算机身份验证的计算机隧道或登录前连接会在用户登录之前建立路径,它需要自己的证书生命周期和自己的防火墙规则。缓存凭据是设计的另一半,而且只对以前登录过的账户有效。

测试的是顺序,而不是组件。完全注销,像远程用户那样启动隧道,并测量从凭据提示到可用桌面的登录时间。

把文档放在配置文件之外

配置文件共享不适合存放大型文档集合,Microsoft 的漫游配置文件部署指南正是因此把配置文件存储与重定向文件夹共享分开。一个携带数 GB 文档文件夹的配置文件,每次登录和注销都会很慢,而体积会悄悄增长,直到有人去测量。

把存放数据的文件夹重定向,让配置文件只保留设置。排除可以重建的缓存,例如浏览器缓存和应用程序临时数据,因为传输它们只会增加时间,不会改变用户看得到的任何东西。把邮箱数据和其他应用程序存储放在应用程序支持的位置,而不是放在漫游路径上。

不要让配置文件共享可脱机使用。脱机文件应属于符合条件的数据共享,而双向同步的缓存注册表配置单元,是一份迟早会发生的损坏报告。

宣布修好之前测试全部四种场景

在办公室登录很快,几乎证明不了什么。设计必须经受住办公室访问、通过隧道在家工作、断开连接工作和回到办公室,因为同步冲突正是在第四种情况下出现的。用同一个受控账户和真实应用测量这四种情况,并把数字记下来。

从受影响的会话收集配置文件服务日志和由此产生的策略集,而不是从你的管理工作站收集。

Get-WinEvent -LogName 'Microsoft-Windows-User Profile Service/Operational' -MaxEvents 30
gpresult /r /scope:user
Measure-Command { Get-ChildItem '\\fs01.corp.internal\users\a.singh\Documents' | Out-Null }

把这些时间与办公室基线以及正在传输的数据量做比较。在小配置文件和快速共享下登录仍要一分钟,那不是配置文件问题,下一个要看的地方是组策略处理或等待网络的登录脚本。如果差距在那里,配置文件从来就不是问题。在更改文件夹策略或清除缓存之前,请确认未同步的工作已保存,因为同步与可恢复的备份是两种不同的保证。

相关文章