我注意到,访问 Windows 资源管理器中的任何“最近”列表(在%HOME%\My Recent Documents
和中%APPDATA%\Microsoft\Office\Revcent
),资源管理器都会挂起 - 通常会持续很长时间。
我已经开始在那里挖掘,因为与 DC 的配置文件同步很慢并且有时会失败(但重试时通常有效)。
在本地配置文件文件夹中以及通过服务器上的网络共享访问这些文件夹时,Explorer 会挂起。从 DC 直接访问文件夹并不慢。此外,CCleaner(系统/注册表清理器)在从本地配置文件中删除它们时也没有问题。
这可能与个人资料同步问题有关吗?
客户端操作系统是 XP Pro SP3,DC 是 W2K3 SBS,运行卡巴斯基防病毒软件(但停止它不会改变访问延迟)
答案1
我很难理解你的问题。听起来你是说在 Windows XP 客户端计算机上通过 Explorer 查看这些目录(这些目录可能充满了大量小文件)会导致 Windows XP 客户端上的 Explorer 进程“挂起”。听起来你是说在服务器计算机上通过 Explorer 查看这些目录可以正常工作。我想你猜测客户端上的 shell 扩展导致了“挂起”。我不知道你提到的“清理器”是什么。
虽然 shell 扩展确实有可能导致速度变慢,但我猜你看到的只是 SMB 协议和延迟的一般“糟糕”,乘以这些目录中的文件数量。即使在 LAN 速度的连接上,对于大量文件,SMB 也可能慢的。您看到 Explorer“挂起”,是因为这些目录中有太多文件,而且我怀疑是否有任何行为不当的 shell 扩展在起作用。
配置文件同步不受 shell 扩展的影响,但会受到 SMB 协议的行为以及复制包含大量文件的目录时出现的性能不佳的影响。这就是配置文件同步运行如此缓慢的原因。
我建议部署一个脚本,在每次登录时清除这些目录。如果您不想完全清除它们,可以执行以下操作将它们修剪为最近的项目(在这些示例行中为 25 个):
for /f "usebackq skip=25 delims=" %%f in (`dir /od /s /b "%APPDATA%\Microsoft\Office\Recent"`) do del /q "%%f"
for /f "usebackq skip=25 delims=" %%f in (`dir /od /s /b "%HOMEPATH%\Recent"`) do del /q "%%f"