我目前正在为一个看起来应该相当简单的项目而费尽心思。
基本上,$employer
有一堆远程站点使用古老的硬件冒充真实服务器,他们正在用真实服务器替换它们。或者,更准确地说,他们正在购买新服务器并让我来替换它们。这些站点通常很小,所以没有什么太复杂的 - 我们基本上只是为所有站点提供文件服务器、打印服务和域控制器/DHCP 服务器。
当然,问题出在执行用户配置文件重定向。我们所有用户的My Documents
目录都重定向到文件服务器,例如:\\[crappy-old-server]\users\%username%
。由于我们试图正确行事,因此我们在新服务器上设置了 DFS,并将其更改为:\\[not-crappy-DFS-root]\[sitename]\users\%username%
。
这部分工作得很好,在迁移文件服务器之后Microsoft 文件服务器迁移工具包, 我们跑命令行将客户端计算机上的共享指向新位置,更改 Active Directory 和组策略中的某些内容(映射驱动器、打印机等),然后结束一天的工作。
然而问题是,当 csccmd 工具移动时一些注册表引用旧服务器,客户端注册表仍然很糟糕,包含坏链接(MRU、Bit Bucket Recycler 路径、打印机、应用程序默认值、挂载点、Shell 文件夹、网络缓存等),结果,用户甚至无法打开开始菜单,否则会出现网络超时,因为某些设置正在查找某些内容\\[crappy-old-server]\users\%username%
而不是\\[not-crappy-DFS-root]\[sitename]\users\%username%
。做几乎任何事情都需要至少 30 秒,这是不可接受的。
为了解决这个问题,我手动在每台客户端计算机上打开 regedit,搜索旧服务器字符串,找到后,删除该项或用新的 DFS 路径替换旧服务器名称。显然,糟透了,我想肯定有更好的方法,因为我当前的解决方案根本无法扩展,而更大规模的用户迁移必须使用更自动化的方法来解决此问题。
那么,有什么更好的方法可以做到这一点而不涉及手动搜索客户端注册表?
答案1
您可以在每个站点中设置一台机器,\\[crappy-old-server]\users
作为独立的 DFS 根目录,作为users
新文件夹的 DFS 链接。假设您还没有名为 的共享,\\[not-crappy-DFS-root]\[sitename]\users
那么您可能能够使用您在每个站点部署的服务器。OptionalNames
users