域——Server 2016迁移FRS 到DFSR
在SQLServer中迁移数据的几种方法

在SQLServer中迁移数据的⼏种⽅法1.通过⼯具"DTS"的设计器进⾏导⼊或者导出DTS的设计器功能强⼤,⽀持多任务,也是可视化界⾯,容易操作,但知道的⼈⼀般不多,如果只是进⾏SQL Server数据库中部分表的移动,⽤这种⽅法最好,当然,也可以进⾏全部表的移动。
在SQL Server Enterprise Manager中,展开服务器左边的+,选择数据库,右击,选择All tasks/Import Data...(或All tasks/Export Data...),进⼊向导模式,按提⽰⼀步⼀步⾛就⾏了,⾥⾯分得很细,可以灵活的在不同数据源之间复制数据,很⽅便的。
⽽且可以另存成DTS包,如果以后还有相同的复制任务,直接运⾏DTS包就⾏,省时省⼒。
也可以直接打开DTS设计器,⽅法是展开服务器名称下⾯的Data Transformation Services,选Local Packages,在右边的窗⼝中右击,选New Package,就打开了DTS设计器。
值得注意的是:如果源数据库要拷贝的表有外键,注意移动的顺序,有时要分批移动,否则外键主键,索引可能丢失,移动的时候选项旁边的提⽰说的很明⽩,或者⼀次性的复制到⽬标数据库中,再重新建⽴外键,主键,索引。
注释:在建⽴数据库时,建⽴外键,主键,索引的⽂件应该和建表⽂件分开,⽽且⽤的数据⽂件也分开,并分别放在不同的驱动器上,有利于数据库的优化。
2.利⽤"Bcp"⼯具虽然这种⼯具虽然在SQL Server7的版本中不推荐使⽤,但许多数据库管理员仍很喜欢⽤它,尤其是⽤过SQL Server早期版本的⼈。
Bcp有局限性,⾸先它的界⾯不是图形化的,其次它只是在SQL Server的表(视图)与⽂本⽂件之间进⾏复制,但它的优点是性能好,开销⼩,占⽤内存少,速度快。
有兴趣的朋友可以查参考⼿册。
3.直接利⽤备份和恢复⾸先需要对源数据库进⾏完全备份,备份到⼀个设备(device)上,然后把备份⽂件复制到⽬的服务器上(恢复的速度快),进⾏数据库的恢复操作,在恢复的数据库名中填上源数据库的名字(名字必须相同),选择强制型恢复(可以覆盖以前数据库的选项),在选择从设备中进⾏恢复,浏览时选中备份的⽂件就⾏了。
工作组计算机入域后用户文件迅速迁移方法

工作组计算机入域后用户文件迅速迁移方法工作组计算机入域后用户文件迅速迁移方法从工作组加入到域环境时,用户加入域后系统将会重新建立域用户配置文件,文件,原有使用用户配置文件都全部没有了,原有使用用户配置文件都全部没有了,原有使用用户配置文件都全部没有了,需要手工拷贝及设定,需要手工拷贝及设定,需要手工拷贝及设定,相当浪费时相当浪费时间。
间。
moveuser 工具可以帮助我们方便的把本地用户的profile 转移到域用户下面,户下面,对于大量转移有很大的帮助。
对于大量转移有很大的帮助。
对于大量转移有很大的帮助。
转移包含:转移包含:转移包含:桌面、桌面、我的文档、OE 、outlook 等设定、打印机等等。
注:注:这里只探讨用户转移时更快速的实现用户文件、这里只探讨用户转移时更快速的实现用户文件、这里只探讨用户转移时更快速的实现用户文件、配置迁移方式,配置迁移方式,配置迁移方式,对对于域管理不作讨论,因为有可能ADMT3.0有更完善的方法。
有更完善的方法。
(PS:为什么突然提起这个,原因手头有一个域的项目,检查发现实施人员都是人工的每台电脑入域后,由原有用户文件夹查找相应文件后,拷贝至新的域用户文件夹内,感觉太浪费时间。
)MoveUser 官方解释:MoveUser uses the following syntax:moveuser [Domain \]OldUserAccount [Domain \]NewUserAccount [/c:Computer ][/k ] [/y /y ]ParametersOldUserAccountSpecifies a user who has a local profile. Specify domain and usernames in theDomain /User or the user principal name (UPN) format. If Domain is omitted, OldUserAccount is assumed to belong to the domain of the current user. NewUserAccountSpecifies the user who will own theOldUserAccount profile. This account must already exist. Specify domain and user names in theDomain /User or the user principal name (UPN) format. If Domain is omitted, NewUserAccount is assumed to belong to the domain of the current user./c:ComputerSpecifies a remote computer on which to make the changes. If omitted, the local computer is assumed. Use this parameter to move the user profile to a new computer./kSpecifies that OldUserAccount resides in the local database of thecomputer and should not be deleted after the profile is moved. 保留本机帐户。
windows-server-2016无域配置故障转移群集帮助文档

windows-server-2016无域配置故障(gùzhàng)转移群集帮助文档windows-server-2016无域配置故障(gùzhàng)转移群集帮助文档准备(zhǔnbèi)工作软件(ruǎn jiàn)准备(1) SQL Server 2016(2) Windows Server 2016 DataCe nter 64位(3) VMware-workstation 12 Pro操作系统(cāo zuò xì tǒnɡ):都是Windows Server 2016 DataCenter (只有(zhǐyǒu)Windows Server 2016 才能(cáinéng)无域配置集群)计算机名node1:WIN-VF232HI2UR6node2:WIN-1MCR65603IJIP规划计算机Node1(WIN-VF232HI2UR6)Node2(WIN-1MCR65603IJ)集群虚拟IPIP192.168.0.171192.168.0.172192.168.0.170第一(dìyī)步:安装故障转移集(所有(suǒyǒu)节点均需要此操作)第二步:添加(tiān jiā)DNS后缀(hòuzhuì)(所有(suǒyǒu)节点均需要此操作,且后缀需一致)第三步:所有(suǒyǒu)节点(jié diǎn)上以管理员方式运行Powershell,然后执行以下(yǐxià)命令new-itemproperty -path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System -Name LocalAccountTokenFilterPolicy -Value 1或者(huòzhě)也可以(kěyǐ)手动添加此注册表项(项名:LocalAccountTokenFilterPolicy,DWEORD(32位)值,值为1)HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System第四步:添加用户名,名称(míngchēng)、密码均要一致,且隶属于Administrators第五步:添加节点(jié diǎn)映射(注意要把集群名以及(yǐjí)虚拟IP加上)C:\Windows\System32\drivers\etc\host第六步:允许应用(yìngyòng)通过防火墙第七步:在其中(qízhōng)一个节点(jié diǎn)上以管理员方式运行Powershell,然后(ránhòu)执行以下命令创建(chuàngjiàn)集群命令:New-Cluster –Name <Cluster Name> -Node <Nodes to Cluster> -–StaticAddress<Cluster IP> -AdministrativeAccessPoint DNS说明(shuōmíng):windows server 2016创建故障不支持图文界面操作,只能通过PowerSehll创建示例:New-Cluster –Name SQLAlwayOn -Node WIN-VF232HI2UR6,WIN-1MCR65603IJ –StaticAddress 192.168.0.170 -AdministrativeAccessPoint DNS--获取(huòqǔ)集群名Get-Cluster--群集详情(xiángqíng)Get-ClusterResource搞定(ɡǎo dìnɡ),故障转移群集配置OK现在可以(kěyǐ)到“故障转移群集管理器”中查看群集内容总结(1)windows-server-2016无域配置故障转移群集帮助文档。
Windows server 域控制器 迁移 操作主机

Windows域迁移方法1:新DC安装系统,配置IP DNS指向老DC (新DC可以加入现有域,也可以不加)2:提升新DC为辅助域控制器后重启3:重启完成后,安装DNS服务.然后等老DC的DNS信息同步到新DC的DNS上)4:将新DC设置为GC,然后等新/旧DC同步,这要看你的网络环境了.5:同步完成之后,就可以传送FSMO角色这是最重要的一步.(用ntdsutil来把旧DC上的FSMO五种角色转移到新DC 上,转移用到命令transfer )整个过程见下方.6:老DC降级 重启 然后退域。
关机7:新DC改IP,把自己的IP地址改为DNS地址(做这一步就是为了让客户感觉不到更换了服务器,也省了到下面去改DNS 地址)8:清理DNS记录,把以前所有旧DC的信息全部删除掉.A:然后利用ntdsutil命令删除掉所有旧DC的信息,B:用adsiedit.msc删除没有用的信息.C:进入活动目录站点与服务删除相应的站点和服务.D:在主域控器的dsa.msc的domain controller里删除没有用的旧DC9:旧DC拔掉网线,重装系统.10:到此基本就完成了.AD的五种操作主机的作用及转移方法Active Directory 定义了五种操作主机角色(又称FSMO):1.架构主机 schema master2..域命名主机domain naming master3.相对标识号 (RID) 主机 RID master4.主域控制器模拟器 (PDCE)5.基础结构主机 infrastructure master转移办法:转移RID\PDC\结构主机:Windows 界面:1. 打开 Active Directory 用户和计算机。
2. 在控制台树中,右键单击“Active Directory 用户和计算机”,然后单击“连接到域控制器”。
3. 在“输入另一个域控制器的名称”中,键入要担任主机角色的域控制器的名称。
ServerR部署域控额外域控及FSMO角色转移和夺取

S e r v e r2012R2部署域控、额外域控及F S M O角色转移和夺取网络环境:2012R2+DHCP操作系统:WindowsServer2012R2Standard网卡信息:IP:192.168.100.1/242012R2+DHCP操作系统:WindowsServer2012R2Standard网卡信息:IP:192.168.100.2/24DHCP配置如下:网关:无,配置2台服务器为DHCP故障转移一、主域的安装及配置配置网卡信息,如下图打开服务器管理器,点击添加角色和功能如下图选择安装类型:基于角色或基于功能的安装,如下图池中仅一台主机,保持默认此图是在未更改主机名时截取的,更改后的截图找不到了,拿来顶替,如下图选择AD域服务并添加功能,如下图功能不做添加,不选择直接下一步,跳转到添加ADDS域服务向导,如下图确认安装所选内容,点击安装,如下图正在安装域服务器,如下图安装完毕,点击关闭,如下图点击服务器管理器上方的小旗子查看提示内容,选择将此服务器提示为域控制器,如下图因为这是此域中第一个域,选择添加新林并输入根域名信息,如下图选择域控制器林和域功能级别并设置DSRM密码,如下图出现DNS敬告,因为没有安装DNS,忽略,直接下一步,如下图NETBIOS设置,保持默认,直接下一步,如下图17指定ADDS数据库、日志文件和SYSVOL存放的位置,如下图配置选项查看,可检查是否有问题,有问题点击上一步返回,否则直接下一步,如下图AD域服务器部署前先决条件检查,检查通过后,点击安装,如下图正在配置域服务,配置完成后会自动重启;如下图重启后,登录AD服务器,配置DNS反向查找区域,没有反向查找区域时,nslookup解析会出现问题,如下图DNS反向查找区域配置向导,如下图在区域类型中选择主要区域,如下图设置传送作用域,如下图设置反向查找IP类型,如下图输入反向查找区域名称,如下图指定反响查找更新类型,如下图完成DNS反向查找区域建立,如下图在DNS反向查找区域中查看记录,如下图二、上面设置已经完成主域的部署,接下来,部署额外域控;2012R2DC2网卡信息配置如下图将2012R2DC2加入ITPro域中,如下图输入有权限加入域的用户凭据,如下图成功加入域,如下图加入域后,重启;在服务器管理器中,点击添加角色和功能,如下图安装类型选择基于角色或基于功能的安装,如下图选择2012R2DC2,点击下一步,如下图在服务器角色中选择AD域服务,点击下一步,如下图功能添加保持默认,直接下一步跳转到ADDS域服务向导,如下图安装摘要,检查安装角色是否正确,没有问题点击安装;如下图安装完成后,点击右上方小旗子,显示提示内容,选择将此服务器提升为域控制器,如下图在部署配置中选择奖域控制器添加到现有域,如下图在上图中点击更改,弹出部署操作凭据,验证通过后点击一下步,如下图指定域控功能和站点信息并输入DSRM密码,如下图DNS因为没有安装,提示警告,可以忽略,点击下一步,如下图如果勾选“从媒体路径安装”,是离线部署;我们选择从域控制器在线复制ActiveDirectory数据,复制源于“任何域控制器”,这里只有一个域,多域需选择指定域;如下图指定ADDS数据库、日志文件和SYSVOL的位置,如下图检查额外域控配置,确认无误后点下一步,如下图先决条件检查,通过后点击安装,如下图额外域控配置完成后会自动重启,重启后登录额外域控,配置网卡DNS为本机IP,只有这样DNS才会和主域DNS同步,这是实现DNS和AD冗余的关键,网卡设置后,两台服务器AD和DNS才会相互复制,如下图在2012R2DC2中查看DNS,已同步2012R2DC1中记录,如下图三、DHCP配置,在2012R2DC1中,在添加角色和功能中选额添加DHCP角色,如下图添加功能保持默认,直接下一步转到DHCP向导和注意事项,点击下一步,如下图正在安装DHCP服务器,如下图DHCP服务器安装完成,如下图DHCP安装完成后在服务器管理器界面,点右上方小旗子,在显示的内容中选择配置DHCP配置DHCP授权,如下图DHCP配置完成摘要,如下图如上步骤,在2012R2DC2中安装DHCP角色并授权;授权时只需点击右上方小旗子,在显示的内容中配置DHCP 并授权,为配置DHCP故障转移做准备,不做具体配置;如果没有授权,备用DHCP不会启用在服务器管理器中,点击工具选择DHCP调出DHCP服务器,如下图在IPv4选项下配置作用域,点击下一步,如下图新建作用域的IP地址范围,点击下一步,如下图设置DHCP作用域IP排除范围,点击下一步,如下图设置DHCP租约,点击下一步,如下图配置DHCP选项,选择后点击下一步,如下图配置域名及DNS,配置后点击下一步,如下图配置WINS服务器,这里是测试,不做配置,直接下一步,如下图激活作用域配置,点击下一步,如下图完成作用域配置,点击完成,如下图在2012DC1上右键刚建立的作用域,点击,配置故障转移,如下图配置故障转移向导,直接下一步,如下图指定伙伴服务器,点击添加服务器,在弹出的添加服务器中查找服务器并添加,点击下一步,如下图配置故障转移关系-负载均衡,测试要实现的是主DHCP宕机后,客户端IP不变化,这里不做设置,如下图本次测试将DHCP配置为热备用服务器,备用服务器设置为待机,当主DHCP宕机,备用DHCP会提供服务;如下图故障转移摘要,确认无误后,点击完成,如下图故障转移关系完成,如下图登录2012R2DC2,查看故障转移关系,服务器为待机有关DHCP故障转移关系可参考:到此有关AD、DNS和DHCP冗余已经设置完成;接下来验证下主域宕机的情况下,客户端能否登陆域及DHCP故障转移是否实现下图是主域在线客户端登录的相关信息,可以看到FSMO角色在2012R2DC1上,用户登录域为2012R2DC1,主机获取的IP地址为1,DHCP服务器地址为1接下来我们禁用2012R2DC1的网卡模拟服务器宕机,重启客户端登录服务器,下图中可以看到FSMO角色没有变化,客户端IP地址也没有变化,登录域变成了2012R2DC2,DHCP服务器变成了从主域宕机前和宕机后客户端的两个截图表明,AD额外域控及DHCP已实现;在客户端中查看域中FSMO角色位置,详见四、接下来针对域服务器的FSMO五中主机角色做转移下面分别介绍使用MMC控制台、命令行和PowerShell转移FSMO角色1、使用MMC控制台转移FSMO角色首先在2012R2DC1中查询FSMO角色,打开Powershell输入netdomqueryFSMO,从图中可以看到五中角色都在2012R2DC1上在2012R2DC1上,打开AD用户和计算机,更改连接的域控制器,如下图选择要连接的域控制器,由于2012DC1不能转移到自身,所以状态为不可用,如下图在ITPro上右键选择操作主机,如下图操作主机显示可以转移三个角色,分别是RID、PDC和基础结构,切换选项卡转移各主机角色,如下图打开AD域和信任关系,连接到2012R2DC2,右键AD域和信任关系,选择操作主机,如下图更改域命名主机,操作和前面3个主机角色相同;如下图架构主机的更改需注册组件,PS中操作如下图打开MMC控制台在添加删除管理单元中添加AD架构并打开,如下图在打开的AD架构中先连接到2012R2DC2,然后更改架构主机,如下图完成后,查询FSMO角色的位置,现在已经成功将FSMO角色从2012R2DC1转移到2012R2DC2上,如下图2、命令行转移FSMO角色,转移命令如下NtdsutilRolesConnectionsConnecttoServer<DC>QuitTransferDomainnamingmasterTransferinfrastructuremasterTransferPDCTransferRIDmasterTransferSchemamaster在刚才通过MMC控制台已经将FSMO角色转移到2012R2DC2,这次通过命令行将FSMO角色转移到2012R2DC1在PS中操作如下图,命令由红线标示在PS中复制粘贴命令,在弹出的对话框中点击“是”,如下图如下图所示,五种角色均转移完成转移完成后在PS中查看到现在FSMO角色已经转移到2012R2DC1中,如图3、使用PowerShell转移FSMO角色刚才通过命令行将FSMO角色转移到了2012R2DC1中,现在通过PowerShell命令将FSMO角色转移到2012R2DC2;操作命令Move-ADDirectoryServerOperationMasterRole-Identity"2012R2DC2"-OperationMasterRole0,1,2,3,4;在Powershell中可输入OperationMasterRole的值PDCEmulatoror0,RIDMasteror1,InfrastructureMasteror2,SchemaMasteror3,DomainNamingMasteror4图中提示是否转移,这里要转移五种角色,选择A,按回车键现在在PS中查询,已经将FSMO角色转移到2012R2DC2上有关powerShell命令可参考:五、接下来针对域服务器的FSMO五中主机角色做夺取使用命令行及PowerShell命令夺取1、使用命令行夺取FSMO角色NtdsutilRolesConnectionsConnecttoServer<DC>QuitSeizeDomainnamingmasterSeizeinfrastructuremasterSeizePDCSeizeRIDmasterSeizeSchemamaster上步通过PS已经将FSMO角色转移到2012R2DC2中,现在将FSMO五种角色夺取到2012R2DC2上;先关闭2012R2DC2,ping主机已不在线,下面输入操作命令在进行强制夺取时首先会进行安装传送在PS中复制粘贴各主机角色夺取命令然后执行,夺取完成后验证FSMO各主机角色位置,如图,已经成功将FSMO角色夺取到2012R2DC1上2、使用PowerShell命令夺取FSMO角色上步通过命令行夺取了FSMO角色,夺取后2012R2DC2已不可用;在虚拟机上通过快照恢复到夺取前状态;先查询FSMO角色位置,FSMO角色在2012R2DC2上,关闭主机;如图使用Powershell命令夺取FSMO角色,操作命令:Move-ADDirectoryServerOperationMasterRole-Identity"2012R2DC1"-OperationMasterRole0,1,2,3,4–Force;在Powershell中可输入OperationMasterRole的值PDCEmulatoror0,RIDMasteror1,InfrastructureMasteror2,SchemaMasteror3,DomainNamingMasteror4转移过程有点长,转移后检查FSMO角色的位置,现在已成功将FSMO角色转移到2012R2DC1中有关夺取的PowerShell命令参考:3、在夺取后需对宕机服务器信息进行清理,DNS记录、DC元数据和站点信息清理宕机服务器命令如下信息清理涉及命令如下NtdsutilMetadatacleanupConnectionsConnecttoDomain<DC>QuitSelectoperationtargetListsitesSelectsite<ID>ListDomaininsiteSelectDomainIDListserversforDomaininsiteSelectserver<ID>QuitRemoveselectedserver在操作过程中如果出现如下信息,命令输入错误;需返回上一步或重头开始正常的信息如下命令行中操作如下,只要不出错,命令可以简写,命令用红线标示,如下图弹出删除对话框,点击是,命令用红线标示,如下图元数据清理成功,如下图清除元数据后,打开DNS服务,在正向和反向查找区域中删除有关2012R2DC2的记录;如下图最后打开AD站点和服务,删除默认站点——Servers下的2012R2DC2,如下图删除后,重启Server2012R2DC1.至此清理宕机服务器的数据已经完成;附:在客户端查询FSMO角色脚本将下面代码复制到文本中,将后缀改为vbs,然后在客户端执行即可SetobjRootDSE=GetObjectrootDSE"Dimtext'SchemaMasterSetobjSchema=GetObject&objRootDSE.Get"schemaNamingContext"strSchemaMaster=objSchema.Get"fSMORoleOwner"SetobjNtds=GetObject&strSchemaMasterSetobjComputer=GetObjectobjNtds.Parenttext="Forest-wideSchemaMasterFSMO:"&&vbCrLfSetobjNtds=NothingSetobjComputer=Nothing'DomainNamingMasterSetobjPartitions=GetObject&_objRootDSE.Get"configurationNamingContext"strDomainNamingMaster=objPartitions.Get"fSMORoleOwner"SetobjNtds=GetObject&strDomainNamingMasterSetobjComputer=GetObjectobjNtds.Parenttext=text&"Forest-wideDomainNamingMasterFSMO:"&&vbCrLfSetobjNtds=NothingSetobjComputer=Nothing'PDCEmulatorSetobjDomain=GetObject&objRootDSE.Get"defaultNamingContext"strPdcEmulator=objDomain.Get"fSMORoleOwner"SetobjNtds=GetObject&strPdcEmulatorSetobjComputer=GetObjectobjNtds.Parenttext=text&"Domain'sPDCEmulatorFSMO:"&&vbCrLf SetobjNtds=NothingSetobjComputer=Nothing'RIDMasterSetobjRidManager=GetObjectManager$,CN=System,"&_objRootDSE.Get"defaultNamingContext"strRidMaster=objRidManager.Get"fSMORoleOwner"SetobjNtds=GetObject&strRidMasterSetobjComputer=GetObjectobjNtds.Parenttext=text&"Domain'sRIDMasterFSMO:"&&vbCrLfSetobjNtds=NothingSetobjComputer=Nothing'InfrastructureMasterSetobjInfrastructure=GetObject&_objRootDSE.Get"defaultNamingContext"strInfrastructureMaster=objInfrastructure.Get"fSMORoleOwner" SetobjNtds=GetObject&strInfrastructureMasterSetobjComputer=GetObjectobjNtds.Parenttext=text&"Domain'sInfrastructureMasterFSMO:"&&vbCrLf WScript.Echotext。
WINDOWS2016故障转移群集(图文教程)

WINDOWS2016故障转移群集(图⽂教程)WIN2016故障转移群集准备⼯作:主机名IP域名所有主机配置主机信息修改好主机名IP DNS为本机IP (以单台主机A为例)互相ping测试连通性(以单台主机A为例)所有主机安装⾓⾊功能 DNS和故障转移群集(以单台主机A为例)所有主机配置DNS解析记录并测试解析新建正向查找区域NET新建反向查找区域新建正向查找区域记录默认已⽣成本机记录新建反向查找记录(我们新建正向记录勾选了PTR指针默认已经新建了B/C主机的反向记录)现在只需新建⼀条本机的PTR记录测试解析A主机配置故障转移群集 B/C主机连接到群集指定虚拟IP192.168.0.88主机A创建群集TEST主机B/C连接到群集TEST主机B(192.168.0.25)查看群集当前在⽤主机为哪台(⽹卡应有88IP)所有主机安装IIS 80端⼝为默认⽹页访问测试关闭掉在⽤主机(⽹卡有88的主机同时只会有⼀台) 查看在⽤主机被选为了哪台 192.168.0.88:80是否还可以打开(使⽤⽹络中其他主机来打开⽹页)关闭掉A主机后 B主机拥有了88IP ⽹页依然可以打开继续关闭B主机此时C主机拥有了88IP ⽹页依然可以打开参考:注:经后期测试建议不要将群集所有主机全部宕机否则会出现问题进阶:以上内容为群集搭建及群集中某主机宕机后恢复业务的情况下⾯记录⼀种主机没有宕机 IIS站点挂掉⽆法提供服务的情况新建⽂本⽂档修改为IIS.vbs 内容如下(虚线内内容)注意修改⽹站和应⽤程序池名称(默认⽆需修改) '<begin script sample>'This script provides high availability for IIS websites'By default, it monitors the "Default Web Site" and "DefaultAppPool"'To monitor another web site, change the SITE_NAME below'To monitor another application pool, change the APP_POOL_NAME below'More thorough and application-specific health monitoring logic can be added to the script if neededOption ExplicitDIM SITE_NAMEDIM APP_POOL_NAMEDim START_WEB_SITEDim START_APP_POOLDim SITES_SECTION_NAMEDim APPLICATION_POOLS_SECTION_NAMEDim CONFIG_APPHOST_ROOTDim STOP_WEB_SITE'Note:'Replace this with the site and application pool you want to configure high availability for'Make sure that the same web site and application pool in the script exist on all cluster nodes. Note that the names are case-sensitive. SITE_NAME = "Default Web Site" '⽹站名称APP_POOL_NAME = "DefaultAppPool" '应⽤程序池名START_WEB_SITE = 0START_APP_POOL = 0STOP_WEB_SITE = 1SITES_SECTION_NAME = "system.applicationHost/sites"APPLICATION_POOLS_SECTION_NAME = "system.applicationHost/applicationPools"CONFIG_APPHOST_ROOT = "MACHINE/WEBROOT/APPHOST"'Helper script functions'Find the index of the website on this nodeFunction FindSiteIndex(collection, siteName)Dim iFindSiteIndex = -1For i = 0 To (CInt(collection.Count) - 1)If collection.Item(i).GetPropertyByName("name").Value = siteName ThenFindSiteIndex = iExit ForEnd IfNextEnd Function'Find the index of the application pool on this nodeFunction FindAppPoolIndex(collection, appPoolName)Dim iFindAppPoolIndex = -1For i = 0 To (CInt(collection.Count) - 1)If collection.Item(i).GetPropertyByName("name").Value = appPoolName ThenFindAppPoolIndex = iExit ForEnd IfNextEnd Function'Get the state of the websiteFunction GetWebSiteState(adminManager, siteName)Dim sitesSection, sitesSectionCollection, siteSection, index, siteMethods, startMethod, executeMethodSet sitesSection = adminManager.GetAdminSection(SITES_SECTION_NAME, CONFIG_APPHOST_ROOT)Set sitesSectionCollection = sitesSection.Collectionindex = FindSiteIndex(sitesSectionCollection, siteName)If index = -1 ThenGetWebSiteState = -1End IfSet siteSection = sitesSectionCollection(index)GetWebSiteState = siteSection.GetPropertyByName("state").ValueEnd Function'Get the state of the ApplicationPoolFunction GetAppPoolState(adminManager, appPool)Dim configSection, index, appPoolStateset configSection = adminManager.GetAdminSection(APPLICATION_POOLS_SECTION_NAME, CONFIG_APPHOST_ROOT) index = FindAppPoolIndex(configSection.Collection, appPool)If index = -1 ThenGetAppPoolState = -1End IfGetAppPoolState = configSection.Collection.Item(index).GetPropertyByName("state").ValueEnd Function'Start the w3svc service on this nodeFunction StartW3SVC()Dim objWmiProviderDim objServiceDim strServiceStateDim response'Check to see if the service is runningset objWmiProvider = GetObject("winmgmts:/root/cimv2")set objService = objWmiProvider.get("win32_service='w3svc'")strServiceState = objService.stateIf ucase(strServiceState) = "RUNNING" ThenStartW3SVC = TrueElse'If the service is not running, try to start itresponse = objService.StartService()'response = 0 or 10 indicates that the request to start was acceptedIf ( response <> 0 ) and ( response <> 10 ) ThenStartW3SVC = FalseElseStartW3SVC = TrueEnd IfEnd IfEnd Function'Start the application pool for the websiteFunction StartAppPool()Dim ahwriter, appPoolsSection, appPoolsCollection, index, appPool, appPoolMethods, startMethod, callStartMethodSet ahwriter = CreateObject("Microsoft.ApplicationHost.WritableAdminManager")Set appPoolsSection = ahwriter.GetAdminSection(APPLICATION_POOLS_SECTION_NAME, CONFIG_APPHOST_ROOT) Set appPoolsCollection = appPoolsSection.Collectionindex = FindAppPoolIndex(appPoolsCollection, APP_POOL_NAME)Set appPool = appPoolsCollection.Item(index)'See if it is already startedIf appPool.GetPropertyByName("state").Value = 1 ThenStartAppPool = TrueExit FunctionEnd If'Try To start the application poolSet appPoolMethods = appPool.MethodsSet startMethod = appPoolMethods.Item(START_APP_POOL)Set callStartMethod = startMethod.CreateInstance()callStartMethod.Execute()'If started return true, otherwise return falseIf appPool.GetPropertyByName("state").Value = 1 ThenStartAppPool = TrueElseStartAppPool = FalseEnd IfEnd Function'Start the websiteFunction StartWebSite()Dim ahwriter, sitesSection, sitesSectionCollection, siteSection, index, siteMethods, startMethod, executeMethodSet ahwriter = CreateObject("Microsoft.ApplicationHost.WritableAdminManager")Set sitesSection = ahwriter.GetAdminSection(SITES_SECTION_NAME, CONFIG_APPHOST_ROOT)Set sitesSectionCollection = sitesSection.Collectionindex = FindSiteIndex(sitesSectionCollection, SITE_NAME)Set siteSection = sitesSectionCollection(index)if siteSection.GetPropertyByName("state").Value = 1 Then'Site is already startedStartWebSite = TrueExit FunctionEnd If'Try to start siteSet siteMethods = siteSection.MethodsSet startMethod = siteMethods.Item(START_WEB_SITE)Set executeMethod = startMethod.CreateInstance()executeMethod.Execute()'Check to see if the site started, if not return falseIf siteSection.GetPropertyByName("state").Value = 1 ThenStartWebSite = TrueElseStartWebSite = FalseEnd IfEnd Function'Stop the websiteFunction StopWebSite()Dim ahwriter, sitesSection, sitesSectionCollection, siteSection, index, siteMethods, startMethod, executeMethod, autoStartProperty Set ahwriter = CreateObject("Microsoft.ApplicationHost.WritableAdminManager")Set sitesSection = ahwriter.GetAdminSection(SITES_SECTION_NAME, CONFIG_APPHOST_ROOT)Set sitesSectionCollection = sitesSection.Collectionindex = FindSiteIndex(sitesSectionCollection, SITE_NAME)Set siteSection = sitesSectionCollection(index)'Stop the siteSet siteMethods = siteSection.MethodsSet startMethod = siteMethods.Item(STOP_WEB_SITE)Set executeMethod = startMethod.CreateInstance()executeMethod.Execute()End Function'Cluster resource entry points. More details here:'/en-us/library/aa372846(VS.85).aspx'Cluster resource Online entry point'Make sure the website and the application pool are startedFunction Online( )Dim bOnline'Make sure w3svc is startedbOnline = StartW3SVC()If bOnline <> True ThenResource.LogInformation "The resource failed to come online because w3svc could not be started."Online = FalseExit FunctionEnd If'Make sure the application pool is startedbOnline = StartAppPool()If bOnline <> True ThenResource.LogInformation "The resource failed to come online because the application pool could not be started." Online = FalseExit FunctionEnd If'Make sure the website is startedbOnline = StartWebSite()If bOnline <> True ThenResource.LogInformation "The resource failed to come online because the web site could not be started."Online = FalseExit FunctionEnd IfOnline = trueEnd Function'Cluster resource offline entry point'Stop the websiteFunction Offline( )StopWebSite()Offline = trueEnd Function'Cluster resource LooksAlive entry point'Check for the health of the website and the application poolFunction LooksAlive( )Dim adminManager, appPoolState, configSection, i, appPoolName, appPool, indexi = 0Set adminManager = CreateObject("Microsoft.ApplicationHost.AdminManager")appPoolState = -1'Get the state of the websiteif GetWebSiteState(adminManager, SITE_NAME) <> 1 ThenResource.LogInformation "The resource failed because the " & SITE_NAME & " web site is not started."LooksAlive = falseExit FunctionEnd If'Get the state of the Application Poolif GetAppPoolState(adminManager, APP_POOL_NAME) <> 1 ThenResource.LogInformation "The resource failed because Application Pool " & APP_POOL_NAME & " is not started." LooksAlive = falseExit Functionend if' Web site and Application Pool state are valid return trueLooksAlive = trueEnd Function'Cluster resource IsAlive entry point'Do the same health checks as LooksAlive'If a more thorough than what we do in LooksAlive is required, this should be performed hereFunction IsAlive()IsAlive = LooksAliveEnd Function'Cluster resource Open entry pointFunction Open()Open = trueEnd Function'Cluster resource Close entry pointFunction Close()Close = trueEnd Function'Cluster resource Terminate entry pointFunction Terminate()Terminate = trueEnd Function'<end script sample>将⽂件复制到所有群集主机的相同⽬录下如:C:\Windows\System32\inetsrv主机A打开故障转移群集管理器连接到群集TEST配置IIS故障转移此时我们在群集下⾓⾊列表⾥可以看到IIS故障转移群集⾓⾊查看⼀下WINC(192.168.0.26)主机的⽹卡情况现在我们模拟WINC主机IIS⽹页服务挂掉/端⼝⽆法访问打开WINC主机IIS管理器展开⽹页停⽌默认⽹站主机A上查看群集⾓⾊已经⾃动切换到WINB提供web服务查看WINB主机⽹卡信息 99IP已⾃动切换到WINB 我们打开的是WINB的⽹页同理我们关闭WINB的IIS⽹站 99⼜会切换到WINA 访问依然不受影响⾄此我们实现了主机在⾮宕机情况下 IIS站点挂掉后切换主机提供服务的情况注:1、本测试中99IP对应的不是整个IIS服务只是⼀个站点(默认站点)2、⽤户上传的附件需要⼀个群集共⽤的存储介质⽬前还未解决待完善参考:到此这篇关于WINDOWS2016故障转移群集(图⽂教程)的⽂章就介绍到这了,更多相关WINS2016故障转移群集内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!。
2016域控dns条件转发

2016域控dns条件转发2016域控DNS条件转发在2016年的域控制器(Domain Controller)中,DNS(Domain Name System)条件转发是一项非常重要的功能。
通过配置条件转发,可以实现域控制器将无法解析的域名请求转发给其他DNS服务器进行解析,从而提高域名解析的效率和准确性。
本文将详细介绍2016域控DNS条件转发的配置方法和注意事项。
一、什么是DNS条件转发DNS条件转发是指在域控制器中配置一个条件,当本地DNS服务器无法解析某个域名时,将该域名的解析请求转发给其他指定的DNS 服务器进行解析。
通过条件转发,可以避免域控制器频繁向根域名服务器发送解析请求,提高解析的效率。
二、配置DNS条件转发的步骤1. 登录域控制器的管理界面,打开DNS管理器。
2. 在DNS管理器中,展开域名服务器,右键点击服务器名称,选择“属性”。
3. 在属性窗口中,点击“转发”选项卡。
4. 点击“添加”按钮,输入要转发的DNS服务器的IP地址,点击“确定”。
5. 在“重新启动服务”对话框中,点击“是”确认重启DNS服务。
三、注意事项1. 配置DNS条件转发时,需要确保所添加的转发服务器是可靠、可访问的,否则可能导致域名解析失败。
2. 需要定期检查转发服务器的可用性,及时更新转发服务器的IP 地址。
3. 在配置DNS条件转发之前,应先确保本地DNS服务器的缓存已清空,以避免转发请求被误导。
4. 配置DNS条件转发后,需要定期监控域名解析的性能和准确性,及时调整转发策略以提高效率。
四、常见问题及解决方法1. 为什么要配置DNS条件转发?配置DNS条件转发可以提高域名解析的效率和准确性,减少对根域名服务器的依赖,提升用户访问网站的速度和稳定性。
2. 如何选择合适的转发服务器?选择合适的转发服务器需要考虑服务器的稳定性、可靠性和响应速度。
建议选择离本地DNS服务器较近的、网络性能较好的DNS服务器作为转发服务器。
Windows2016域用户帐户的导出导入

Windows 2000/03域用户帐户的导出/导入2010-11-22 21:47:53| 分类:服务器 | 标签:帐户域 ad 用户 dc |字号大中小订阅作为网管,有时我们需要批量地向AD域中添加用户帐户,这些用户帐户既有一些相同的属性,又有一些不同属性。
如果逐个添加、设置的话,十分地麻烦。
一般来说,如果不超过10个,我们可利用AD用户帐户复制来实现。
如果再多的话,我们就应该考虑使用csvde.exe或ldifde.exe来减轻我们的工作量了。
一、AD用户帐户复制 1、在“AD域和计算机”中建一个作为样板的用户,如S1。
2、设置相关需要的选项,如所属的用户组、登录时间、用户下次登录时需更改密码等。
3、在S1上/右键/复制,输入名字和口令。
说明: 1、只有AD域用户帐户才可以复制,对于本地用户帐户无此功能。
2、帐户复制可将在样板用户帐户设置的大多数属性带过来。
具体如下:二、比较csvde与ldifde三、以csvde.exe 为例说明:域用户帐户的导出/导入 操作步骤如下:1、 在“AD 域和计算机”中建一个用户,如S1。
2、 设置相关需要的选项,如所属的用户组、登录时间、用户下次登录时需更改密码等。
3、在DC 上,开始/运行:cmd4、 键入:csvde –f demo.csv说明: (1)不要试图将这个文件导回,来验证是否好使。
因为这个文件中的好多字段在导入时是不允许用的,如:ObjectGUID 、objectSID 、pwdLastSet 和 samAccountType 等属性。
我们导出这个文件目的只是为了查看相应的字段名是什么,其值应该怎么写,出错信息如下: (2)可通过-d –r 参数指定导出范围和对象类型。
例如: -d “ou=test,dc=mcse,dc=com” 或 -d “cn=users,dc=mcse,dc=com” -r “< Objectclass=user>”5、 以上面的文件为参考基础,创建自己的my.csv ,并利用复制、粘贴、修改得到多条记录。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
域——Server 2016迁移FRS 到DFSR
22:20:27
问题背景
原只有一台域控制器是server 2016。
新搭建一台server 2016辅助域控制器,过程顺利,组策略都能正常使用。
后来通过ntdsutil工具夺取五个角色将新的域控设置为主域控制器。
设置完成之后组策略打不开了,GPO文件全没有了。
检查原域控制器,组策略一切正常。
也就是说sysvol不同步了。
Sysvol文件夹里面没有任何GPO信息,没有同步过来
AD DS报NtFrs警告
Sysvol共享正常
FRS 迁移到DFSR概述
Update June 20, 2017: It is done; Windows Server 2016 RS1 is the last version that will allow FRS - RS 3 no longer includes the binaries.(微软官方论坛的声明)
其实我是用的这个server 2016还是支持FRS的,至于为啥不同步sysvol应该是另有他因。
旧版Windows Server(2000/2003)使用FRS复制同步SYSVOL。
从Windows Server 2008开始,Microsoft决定使用分布式文件系统复制(DFSR),如域功能级别(DFL)设置为Windows Server 2008级别,域复制SYSVOL文件夹通过DFSR 进行复制。
但是,如果客户未将DFL提升到至少Windows Server 2008域功能级别,DC域控之间复制仍然使用旧的FRS来复制SYSVOL。
与FRS相比,DFSR更加可靠和可扩展。
它解决了FRS多年来一直存在几个问题。
如果你想使用DFSR,我们该怎么办?您可以将FRS复制迁移到DFSR,也可以创建一个新域,将DFL至少是Windows Server 2008域功能级别。
正如您在上面的错误消息中所看到的,由于FRS已被弃用,您必须将域配置为从FRS迁移到DFSR。
通常迁移方式有三种:
•Quick Migration (AD 域状态未知,可回滚操作)
•Express Migration (AD域状态健康,可回滚操作)
•Hyper Migration (AD域状态健康,不可回滚操作)
当我们不清楚所有DC域控制器,AD和SYSVOL健康状况的情况下,可以使用Quick Migration 。
如果您了解AD环境的运行状况和状态,则可以使用“Express Migration”或“Hyper Migration”。
两者之间的唯一区别是否希望能够回滚。
Express Migration将允许您回滚,遇到故障的Active Directory 以防出现问题。
FRS 到DFSR 迁移时间
在应用变更中,很多客户担心迁移时间。
根据我的经验,这个过程较为简单。
在少于五台DC域控的较小网络上,完成迁移所需的时间约5分钟。
在较大的网络上,它可能需要更长的时间,从几个小时到几个小时不等。
在极少数情况下,甚至可能需要几天时间。
在迁移前建议提前做好迁移计划评估。
FRS 迁移到DFSR步骤
任何变更,都会存在一定风险,建议从FRS迁移到DFSR迁移变更前,对AD 域控进行备份,并阅读迁移指南向导
SYSVOL文件夹权限
DFSR迁移取决于SYSVOL本身必须已经共享,检查所有域控制器的最简单方法是使用Dcdiag.exe命令:
1.迁移准备阶段
通过以下命令准备进度:Dfsrmig /setglobalstate 1。
系统创建了SYSVOL_DFSR文件夹。
现在需要等待PDC上此AD值同步到所有域控制器上,Prepared状态并更新AD,最后将该值复制回PDC。
使用以下命令查看进度:Dfsrmig /getmigrationstate。
注: 可以通过AD复制命令和DFSR轮询来加速此处理
2.迁移重定向阶段
现在,您将迁移到重定向状态,其中FRS和DFSR都在复制它们自己的SYSVOL副本,但DFSR副本会安装SYSVOL和Netlogon共享。
检测迁移进度:Dfsrmig /getmigrationstate。
3.迁移Eliminated 阶段
最后,迁移到Eliminated状态,其中DFSR正在复制SYSVOL并删除FRS。
现在,等待PDC上此AD值同步到所有域控制器上,并更新AD,最后将该值复制回PDC。
使用以下命令查看进度:Dfsrmig /getmigrationstate。
当所有DC准备就绪后,输出将如下所示:
迁移已完成
Sysvol文件夹已经没有了,只剩下sysvol_DFSR了
事件查看器的记录关于“Express Migration”和“Hyper Migration” 迁移操作步骤可以参考“Quick Migration”。