我们有一台现有的SBS2011服务器,并希望迁移到新的2012 R2服务器.理想情况下,我们希望在新域中执行此操作 – 1.我们想重新组织OU以删除名为“SBS”的东西(即所有用户不在用户中,他们在SBSUsers中等等). ..)和2.我们想要一个更符合最佳实践的域名(subdomain.ourdomain.com而不是name.local).

我正试图找出进行此迁移的最佳方法.我读过的大多数内容都说通过将新DC添加到现有域,进行升级,让所有内容同步,然后降级旧域来进行迁移.但是,这并没有解决我们关注的任何问题:命名或重组.

我也想过可能是跨森林的东西,但我可以告诉你需要ADMT(2012年不支持),或者可能是付费工具(不是一个可能的选择,因为我们是一个非营利组织并且预算最少为了这).

最后,我可以导出用户并导入它们,但这似乎会涉及到用户,计算机,组等的不同步骤…而且我担心它会有多好.另外,据我所知,如果没有上述工具之一(甚至可能没有!),如果不让所有用户重置密码,我仍然无法做到.

Exchange不是变量(我不认为!),因为我们正在将其迁移到Office 365,并且为了简单起见,暂时不添加SSO,直到其他所有内容都被排序.

是否有一个我缺少的选项可以让我们满足所有标准 – 更改域名和保持标准OU布局而不是SBS,不购买昂贵的第三方工具,对用户帐户/密码没有影响的能力?

Exchange 2007和更新版本阻止您执行 domain rename.因为您说您正在放弃内部部署Exchange,这不是一个因素.这为我认为比任何类型的新林或域的创建更容易的过程打开了大门:

>完成迁移到Office 365并从SBS 2011环境中删除Exchange.
>将临时DC添加到现有域,并将AD(和所有FSMO角色)迁移远离SBS服务器,从而将SBS服务器降级为流程中的域成员. (在此之后,您将有21天时间完成迁移.)
>执行域重命名.
>添加永久性W2K12 R2 DC并降级/移除临时DC.
>根据自己的喜好重命名/移动AD中的OU(GPO等).
>从SBS计算机迁移任何其他功能并停用它.

临时DC不是绝对必要的,但我可能会这样做(因为我很迷信).域重命名听起来很难但没有Exchange它实际上非常简单.如果您有关心在孤立网络上使用虚拟机模拟您的环境并进行尝试(最好使用从生产网络“收集”并放入虚拟环境中的AD的真实副本).

在执行此操作时,您将不得不放弃SBS 2011安装程序创建的默认证书颁发机构. Decommissioning an Enterprise CA也不是那么难,假设你实际上并没有将它用于任何事情. (如果你是,那么无论你采取什么样的迁移策略,你都需要担心.)

当你完成所有工作后,你将拥有一个漂亮的新域名,你的OU看起来就像你想要的那样,所有用户密码都将完好无损,所有域成员计算机都将拥有完整的域信任.

正确计划,测试和执行生产域重命名和迁移可能只需要几个小时即可完成. (显然,当你真正做出真实的事情时,你花在预先计划和测试上的时间将会带来巨大的回报.)

(我还会在新的W2K12R2机器上导出股票,反映旧SBS机器输出的股票,我将SBS机器作为DNS alias添加到新服务器.然后现有的快捷方式,UNC等将“只是”工作“跟踪迁移.”

编辑:

我不知道为什么人们在域名重命名时会如此谨慎.你需要计划出来并有条不紊地执行它,但对我来说这一点都没有.我已经完成了三次生产域重命名并且没有问题(除了在需要更改的嵌入式设备中使用的长期遗忘的FQDN).有两个环境有Exchange 2003,有一个环境没有.一个有一个DC,另外两个有多个DC.我在虚拟机中模拟了前两个(具有Exchange的环境),但第三个我只是在生产网络上运行没有模型(因为它非常简单 – 单个DC,没有Exchange).

这是上面的要点,“执行域名重命名”,分解为步骤.

就微软文章而言,我更喜欢:How Domain Rename Works这篇文章包含了很多多余的背景,但基本步骤都在那里.

对于具有单个DC的单个域林,该过程非常轻松:

>停用任何企业CA根.
>为新域名创建新的AD集成DNS区域.
>将林功能级别设置为Windows 2003或更高版本.
>运行rendom / list以生成林描述文件(Domainlist.xml).
>编辑Domainlist.xml文件以反映新的DNS和NetBIOS域名.
>运行rendom / showforest,以“友好”的方式显示Domainlist.xml文件,并查看输出以确保您进行了正确的编辑.
>运行rendom / upload命令将新域名安装到Active Directory中.此时不会发生重命名 – 您只是为重命名准备AD.在多DC环境中,这将启动将重命名指令复制到所有DC.
>运行rendom / prepare命令以验证是否准备重命名.在多DC环境中,此命令检查每个DC以确保它们都已收到重命名指令.在所有DC都复制了重命名指令之后,才能开始重命名. (有必要几乎同时对所有AD数据库副本进行更改.)一旦执行rendom / prepare,在执行rendom / clean之前,无法将任何新域添加到林或DC到域(请参阅下文) ).
>运行rendom / execute命令执行重命名.这指示DC执行重命名.每个DC将其AD数据库切换到单用户维护模式,执行重命名,然后重新启动回到正常运行状态.
>所有DC完成重命名后,使用相应的旧域名和新域名执行‘Gpfixup’,以将对旧域名的任何引用更新为组策略对象中的新名称.
>更改每个DC because they don’t change automatically上的主DNS后缀.我不知道为什么Microsoft没有自动进行这些更改,但他们没有.进行此更改后,请再次重新启动DC.
>重新启动所有域成员计算机两次.这不必立即完成(我在这种状态下保持了几个星期的域名).域成员计算机将“检测”已执行域重命名,并在这两次重新启动期间自动更新.
>重新启动所有域成员计算机两次后,执行rendom / clean命令以清除AD中的重命名指令,并将域恢复到正常运行状态.
>从其中迁移任何非域成员记录后,从AD中删除旧域的DNS区域.

就像我说的 – 单个域,单个DC环境很简单,因为您不必担心域重命名指令的复制或能够联系所有DC.

副作用:

>您需要认识到域DFS根名称将发生变化.如果您有来自域DFS路径的组策略软件安装,您将看到重新安装软件(因为组策略客户端会认为未安装该软件).>如果您过早地清理域(在所有成员计算机重新启动两次之前),您可能会遇到需要手动取消加入并重新加入域的计算机的状态.>在较大的环境中,当新的DNS区域填充时,您将看到增加的复制流量.

active-directory – 从SBS2011到2012 R2和新域的AD迁移的更多相关文章

  1. css绝对定位如何在不同分辨率下的电脑正常显示定位位置?(一定要看!)

    这篇文章主要介绍了css绝对定位如何在不同分辨率下的电脑正常显示定位位置,本文首先解释了常见的电脑分辨率,为了页面在不同的分辨率下正常显示,要给页面一个安全宽度,再去使用绝对定位,具体操作步骤大家可查看下文的详细讲解,感兴趣的小伙伴们可以参考一下。

  2. ios – Xcode项目在文档大纲中显示为灰色

    我一直在使用iCloud来“同步”我正在从我的笔记本电脑到桌面的Xcode项目.不幸的是,它似乎没有那么好用.我今天在台式机上打开了一个项目,我昨天在笔记本电脑上工作.如果我在桌面上打开文件,则会丢失故事板中的某些按钮和标签.看看文档,我可以看到这些,但它们是灰色的(见图).但是,当我构建文件时,它们在模拟器中显示为正常.知道为什么或如何让它们正常出现?

  3. ios – Xcode 9.2模拟器调试中断;无法附加到进程ID

    iOS模拟器上的Xcode9.2调试对我来说已经彻底破坏了.我花了几个小时研究这个问题并尝试了大量的建议,但没有完全擦除我的硬盘并开始安装新的操作系统.我最终向Apple提交了一个错误.如果有人遇到此问题并有任何建议,请在此处发布.摘要:尝试使用调试可执行文件在调试模式下构建和运行时.模拟器只将应用程序打开到白色屏幕,然后Xcode弹出错误:重现步骤:制作任何项目并尝试在任何模拟器上运行.预期成绩

  4. 在Xcode服务器中找不到代码签名标识

    使用Xcode7B4和Server5B4与Carthage项目.要构建项目,我需要首先构建它的依赖项.所以我使用以下代码向bot添加了BeforeIntegration步骤:自己运行一切都有效.但是当机器人运行时,我得到了这个:CodeSignerror:Nocodesigningidentitiesfound:Novalidsigningidentities(i.e.certificateand

  5. 可可 – NSTimer中的代码可防止自动睡眠

    我在我的应用程序中运行了一个NSTimer,它收集一些数据并定期发送到服务器.在生产中,计时器将每隔几个小时发射一次.我担心干扰自动睡眠.在测试中,计时器和睡眠时间的某些组合完全阻止自动睡眠–显示器休眠,系统保持运行.将我的NSTimer设置为一分钟始终会停止它.一些Mac应用程序因运行时干扰自动睡眠而臭名昭着.什么操作会阻止系统进入睡眠状态?

  6. xcode – 今天OS X上的Widget无法正常工作

    解决方法好的终于找到了问题.我手工编写了我的应用程序,因为我有一个应用程序依赖的复杂框架,需要使用copy/Runscript后构建脚本手工复制它们.无论如何,它似乎至少从Xcode7开始,这不再像预期的那样工作.应用程序的工作原理和协同设计说应用程序已经正确签名,但很明显,幕后发生的事情正在打破代码签名.我最终删除了所有手动代码签名的东西,只需使用Xcode的“复制框架”构建后步骤并选中“登录复制”.它现在终于按预期工作了.

  7. ios – 重命名Xcode项目后出现NSKeyedUnarchiver错误

    解决方法不要更改项目名称.只需更改显示名称即可.它是Info.plist中的“Bundledisplayname”条目.您可能需要添加条目.如果要更改OSX应用程序的显示名称,请参阅thisanswer.

  8. 反应原生 – 如何通过Xcode构建React Native iOS应用程序到设备?

    我试图将AwesomeProject应用程序构建到设备上.构建成功并启动屏幕显示,但后来我看到一个红色的“无法连接到开发服务器”屏幕.它表示“确保节点服务器正在运行–从Reactroot运行”npmstart“.看起来节点服务器已经运行,因为当我做npm启动时,我收到一个EADDRINUSE消息,表示该端口已经在使用.解决方法从设备访问开发服务器您可以使用开发服务器快速迭代设备.要做到这一点,你的

  9. xcode – Mac OSX Lion / X11 / CImg库

    所以我试图将CImg图像编写库并入到我的XCodeproject中但是,库的头文件包含以下包含,XCode给出了此错误警告:我的笔记本电脑正在运行OSXLion10.8.2,显然,苹果拿走了X11的Lion,所以我去了thissite,下载了XQuartz,因为这是AppleSupportpage所说的.所以在安装之后,我重新启动了我的电脑,并尝试运行我的XCode项目,但我仍然得到相同的确切的错

  10. 调试 – iOS设备上的remote console.log()

    我正在开发涉及touchEvent的网络应用程序.如果我可以在我的Mac上远程查看控制台,那么调试它会更容易一些.我可以在iOS设备上使我的MobileSafari将控制台日志存储在系统中的某个位置.我已经越狱了我的iPad.谢谢!

随机推荐

  1. static – 在页面之间共享数据的最佳实践

    我想知道在UWP的页面之间发送像’selectedItem’等变量的最佳做法是什么?创建一个每个页面都知道的静态全局变量类是一个好主意吗?

  2. .net – 为Windows窗体控件提供百分比宽度/高度

    WindowsForm开发的新手,但在Web开发方面经验丰富.有没有办法为Windows窗体控件指定百分比宽度/高度,以便在用户调整窗口大小时扩展/缩小?当窗口调整大小时,可以编写代码来改变控件的宽度/高度,但我希望有更好的方法,比如在HTML/CSS中.在那儿?

  3. 使用Windows Azure查询表存储数据

    我需要使用特定帐户吗?>将应用程序部署到Azure服务后,如何查询数据?GoogleAppEngine有一个数据查看器/查询工具,Azure有类似的东西吗?>您可以看到的sqlExpressintance仅在开发结构中,并且一旦您表示没有等效,所以请小心使用它.>您可以尝试使用Linqpad查询表格.看看JamieThomson的thispost.

  4. windows – SetupDiGetClassDevs是否与文档中的设备实例ID一起使用?

    有没有更好的方法可以使用DBT_DEVICEARRIVAL事件中的数据获取设备的更多信息?您似乎必须指定DIGCF_ALLCLASSES标志以查找与给定设备实例ID匹配的所有类,或者指定ClassGuid并使用DIGCF_DEFAULT标志.这对我有用:带输出:

  5. Windows Live ID是OpenID提供商吗?

    不,WindowsLiveID不是OpenID提供商.他们使用专有协议.自从他们的“测试版”期结束以来,他们从未宣布计划继续它.

  6. 如果我在代码中进行了更改,是否需要重新安装Windows服务?

    我写了一个Windows服务并安装它.现在我对代码进行了一些更改并重新构建了解决方案.我还应该重新安装服务吗?不,只需停止它,替换文件,然后重新启动它.

  7. 带有双引号的字符串回显使用Windows批处理输出文件

    我正在尝试使用Windows批处理文件重写配置文件.我循环遍历文件的行并查找我想要用指定的新行替换的行.我有一个’函数’将行写入文件问题是%Text%是一个嵌入双引号的字符串.然后失败了.可能还有其他角色也会导致失败.如何才能使用配置文件中的所有文本?尝试将所有“在文本中替换为^”.^是转义字符,因此“将被视为常规字符你可以尝试以下方法:其他可能导致错误的字符是:

  8. .net – 将控制台应用程序转换为服务?

    我正在寻找不同的优势/劣势,将我们长期使用的控制台应用程序转换为Windows服务.我们为ActiveMQ使用了一个叫做java服务包装器的东西,我相信人们告诉我你可以用它包装任何东西.这并不是说你应该用它包装任何东西;我们遇到了这个问题.控制台应用程序是一个.NET控制台应用程序,默认情况下会将大量信息记录到控制台,尽管这是可配置的.任何推荐?我们应该在VisualStudio中将其重建为服务吗?我使用“-install”/“-uninstall”开关执行此操作.例如,seehere.

  9. windows – 捕获外部程序的STDOUT和STDERR *同时*它正在执行(Ruby)

    哦,我在Windows上:-(实际上,它比我想象的要简单,这看起来很完美:…是的,它适用于Windows!

  10. windows – 当我试图批量打印变量时,为什么我得到“Echo is on”

    我想要执行一个简单的批处理文件脚本:当我在XP中运行时,它给了我预期的输出,但是当我在Vista或Windows7中运行它时,我在尝试打印值时得到“EchoisOn”.以下是程序的输出:摆脱集合表达式中的空格.等号(=)的两侧可以并且应该没有空格BTW:我通常在@echo关闭的情况下启动所有批处理文件,并以@echo结束它们,所以我可以避免将代码与批处理文件的输出混合.它只是使您的批处理文件输出更好,更清洁.

返回
顶部