SYSVOL文件夹是一个共享文件夹,主要用来存储和域相关的数据,包括组策略设置、脚本等。如果域内部署多台域控制器,所有域控制器之间通过FRS或DFS-R服务相互复制,最终所有域控制器之间完成同步。NETLOGON共享文件夹是SYSVOL目录中一个文件夹Scripts的共享名,顾名思义是保存脚本文件。企业管理中部署的管理脚本需要存储在SYSVOL文件夹中,因此SYSVOL文件夹对企业管理的重要性不言而喻。


SYSVOL文件夹简介

SYSVOL文件夹的由来

    在使用“添加角色和功能”向导部署域控制器和额外域控制器过程中,设置到“路径”对话框时,需要管理员设置三个参数,分别是Active Directory数据库、日志以及SYSVOL文件夹的位置,SYSVOL文件夹默认位置“%systemroot%\SYSVOL”。

    默认参数为:

    数据库文件夹:C:\Windows\NTDS

    日志文件文件夹:C:\Windows\NTDS

    SYSVOL文件夹:C:\Windows\SYSVOL


验证SYSVOL文件夹

    域控制器部署成功后,将创建名称为NETLOGON和SYSVOL的共享。SYSVOL文件夹被共享,域内通过安全认证的计算机都可以访问该文件夹。

    1.访问NETLOGON和SYSVOL共享

    例如通过域可能告知其DNS名称访问

    计算机——\\计算机名.域名.com

    登录域控制器后,通过“Net share”命令访问。通过该命令可以查看NETLOGON和SYSVOL文件夹的位置,从而验证NETLOGON共享是SYSVOL目录中文件夹Scripts的共享名。

    ·NETLOGON共享文件夹原始位置:C:\Windows\SYSVOL\sysvol\book.com\SCRIPTS

    ·SYSVOL共享文件夹原始位置:C:\Windows\SYSVOL\sysvol

    2.SYSVOL文件夹结构

    通过tree c:\\windows\sysvol /f命令查看SYSVOL文件夹结构,该命令执行后输出结果如下。

    打开“%systemroot%\sysvol”后,显示SYSVOL文件夹包含的项目

    其中:

    ·domain文件夹:存储策略实体、策略和脚本存储位置

    ·staging areas:交换区域,临时存放多台域控制器之间需要同步的数据。域控制器中的数据(GPO)首先复制该文件夹,然后在域控制器之间相互复制。

    ·staging areas和sysvol是两个挂节点,链接到对应的实体文件夹。同时系统会将“%systemroot%\Sysvol”建立名为“SYSVOL”的共享,“%systemroot%sysvol\book.com\Scripts”建立名为“NETLOGON”的共享。


SYSVOL日常管理

    在日常管理中,SYSVOL主要存储组策略使用的策略和脚本。因此需要域管理员在更新策略、脚本时备份该文件夹,确保SYSVOL异常时的完整恢复。

    提示

    不同域环境中,SYSVOL文件夹的复制服务不同。

    Window Server 2003环境中,默认使用“文件复制服务”。全新的Windows Server 2008以上版本的域环境中,默认使用“分布式文件系统复制服务”。

    最简单的备份方法如下。

    第1步,停止DFS-R分布式文件服务,执行以下命令。

    Net Stop DFSR

    第2步,复制SYSVOL文件夹

    第3步,复制成功后,重新启动DFS-R分布式文件服务,执行以下命令。

    Net Start DFSR


SYSVOL管理实践

    SYSVOL主要应用是组策略相关应用,如果SYSVOL出现问题,组策略将受到影响,组策略又是Acitve Directory管理客户端计算机的管理中枢,因此规划、管理好SYSVOL是域管理员的重要工作。常见的SYSVOL故障主要包括:

    ·NETLOGON和SYSVOL共享丢失

    ·移动SYSVOL文件夹

    ·删除SYSVOL文件夹


NETLOGON和SYSVOL共享丢失

    1.故障现象

    网络中部署的管理策略不生效,例如为每个部门映射的共享文件夹丢失等。客户端计算机访问域控制器(dc.book.com),默认应该显示域控制器发布的SYSVOL和NETLOGON共享文件夹,该故障不显示共享文件夹。

    2.故障分析

    登录域控制器,通过Net Share命令查看域控制器中的共享文件夹,命令执行后,发现SYSVOL和NETLOGON共享文件夹丢失。

    查看“%systemroot%\sysvol”文件夹中的内容,确认文件夹中的数据没有丢失,不是由于删除SYSVOL共享原因造成的故障。

    3.解决方法

    Windows Server 2012中域控制器之间的复制使用DFS-R机制,不使用FRS文件复制机制。因此,NETLOGON和SYSVOL共享

    以域管理员登录域控制器,在命令行提示符下,键入如下命令

    Net stop netlogon

    Net start netlogon

    命令执行后,将重建NETLOGON和SYSVOL共享

    建议重启NETLOGON服务后,重新启动DFS Replication复制服务,因此Windows Server 2012环境中域控制器之间的同步使用DFS-R复制服务。在命令行提示符下,键入如下命令

    net stop "DFS Replication"

    net start "DFS Replication"


移动SYSVOL文件夹

    部署Active Directory前没有仔细规划或者武略SYSVOL(默认部署在“%systemroot%\sysvol”文件夹),在应用时出现磁盘空间已满等问题,需要将SYSVOL迁移到其他位置。

    1.内容复制

    默认情况下SYSVOL文件夹位于%systemroot%\sysvol\“文件夹中,首先将该文件夹复制到目标文件夹中。

    首先停止DFSR服务。在命令行提示符下,键入如下命令。

    Net stop DFSR

    命令执行后,停止DFSR分布式复制服务。

    然后将“%systemroot%\sysvol\”文件夹复制到目标文件夹。

    2.修改注册表Sysvol键值

    打开注册表,定位键HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servics\Netlogon\Parameters,右侧列表中打开“Sysvol”键。默认位置“C:\Windows\SYSVOL\sysvol”

    将该键值设置为新目标文件夹。NETLOGON服务通过该键值作为识别路径,创建Netlogon和Sysvol共享文件夹。

    3.配置DFS复制路径

    运行Adsiedit.msc编辑器,修改DFS-R分布式服务复制使用的路径,主要更新两个参数:msDFSR-RootPath和msDFSR-StagingPath。

    第1步,打开Adsiedit.msc编辑器后——“默认命名上下文”——“dc=book,dc=com”_"OU=Domain Controllers"_"CN=DC(域控制器名称)"——“CN=DC(域控制器名称)”——“CN=DFSR-LocalSettings”——“CN=Domain System Volume”——“CN=SYSVOL subscription”选项

    第2步,右击“CN=Sysvol Subscription”,在弹出的快捷菜单中选择“属性”命令,打开“CN=SYSVOL Subscription”,查看msDFSR-Rootpath和msDFSR-StagingPath属性值。

    msDFSR-RootPath的属性默认值为“C:\Winsows\SYSVOL\domain”,新属性设置为目标文件路径

    msDFSR-StagingPath的属性默认值为“C:\Windows\SYSVOL\staging areas\book.com”。新属性设置为目标文件路径。

    4.创建交换区域挂载点

    挂在点实际是一个链接指针,完成的功能如同为文件夹创建的快捷方式,创建成功后文件夹中图标加入了一个箭头。

    进入目标文件目录,执行以下命令

    mklink /j book.com 目标文件路径

    命里那个执行后,表示复制Sysvol文件夹时,已经就爱那个book.com复制过来,需要管理员手动删除该文件夹,然后新建挂载点。

    删除“E:\SYSVOL\staging areas\book.com”文件夹,重新执行命里那个:

    mklink /j book.com E:\SYSVOL\staging\domain

    命令执行后,成功创建挂载点

    5创建Sysvol挂载点

    提示

    如果SYVOL已从FRS(文件复制服务)迁移到DFS(分布式复制服务)复制,不要执行一下过程,因为不存在挂在点。在这种情况下,暂存区域目录的值为“%systemroot%\SYSVOL_DFSR\staging\domain”。

    进入“E:\sysvol\sysvol”目录,执行如下命令

    Dir

    确认当前目录是否已经创建挂载点

    执行如下命令

    Rd book.com

    命令执行后,如果已经创建挂载点,删除已经创建的挂载点。

    执行如下命令

    mklink /j book.com E:\SySVOL\domain

    命令执行后,创建新的挂在点

    6.重新启动NETLOGON和DFSR服务

    Net stop Netlogon

    Net start NETLOGON

    NEet stop DFSR

    Net start DFSR

    命令执行后,使用“Net share”命令查看SYSVOL和NETLOGON共享文件夹是否迁移成功。


删除SYSVOL文件夹

    管理员误操作时偶尔会遇到有意或无意地删除整个或部分SYSVOL目录或者目录中的文件,或者SYSVOL迁移到其他磁盘,然后误操作将目标磁盘格式化,彻底删除SYSVOL文件夹。

    本例中SYSVOL文件夹迁移到了“E:\SYSVOL”文件夹,管理员由于误操作格式化了E盘,管理员没有备份SYSVOL文件夹。

    1.格式化磁盘

    以域管理员身份登录域控制器,格式化E盘

    格式化完成后,E盘默认没有任何文件夹和文件,执行Dir命令查看E盘中的数据。

    2.关闭DFSR服务

    在命令行提示符下,键入如下命令。

    Net stop dfsr

    命令执行后,关闭分布式复制服务

    3.创建SYSVOL文件夹结构

    第1步,E盘根目录下新建名称为SYSVOL的文件夹。在命令行提示符下,键入如下命令

    md E:\SYSVOL

    第2步,“e:\sysvol”目录下新建文件夹Domain、Staging、Staging areas以及Sysvol。在命令行提示符下,键入如下命令。

    cd SYSVOL

    Md E:\SYSVOL\Domain

    Md E:\SYSVOL\Staging

    Md E:\SYSVOL\staging areas

    Md E:\SYSVOL\sysvol

    命令执行后,通过dir命令查看创建的文件夹结构

    第3步,“E:\SYSVOL\domain”目录下新建两个文件夹:Policies和Scripts。

    Md E:\SYSVOL\domain\Policies

    Md E:\SYSVOL\domain\Scripts

    第4步,“E:\SYSVOL\staging”目录下新建一个文件夹“domain”。在命令行提示符下,键入如下命令

    Md E:\SYSVOL\staging\domain

    4.创建交换区域挂载点

    mklink /j book.com E:\SYSVOL\staging\domain

    5.创建Sysvol挂载点

    mklink /j book.com E:\SYSVOL\domain

    6.启动DFSR服务

    Net start dfsr

    命令执行后,启动分布式复制服务,并完善“e:\sysvol”文件结构。

    7.验证共享文件夹是否创建成功

    Net share

    命令执行后,显示成功创建名称为SYSVOL和NETLOGON的共享文件夹

    8.组策略测试

    共享文件夹创建成功后,通过“组策略管理器”编辑默认策略“Default Domain Policy”时,出现错误。

    解决方法:

    (1)从其他域控制器中策略文件拷贝到该域控制器的“E:\SYSVOL\sysvol\book.com\Policies”文件夹,其中:

    {31B2F340-016D-11D2-945F-00C04FB984F9}是“域安全策略”策略文件;

    {6AC1786C-016F-11D2-945F-00C04FB984F9}是“域控制器安全策略”策略文件

    (2)从备份中还原策略

    (3)重建默认策略。执行“dcgpofix”命令重建默认策略,执行后自定义策略将全部丢失。“dcgpofix”

    进如“E:\SYSVOL\Doamin\Policies”文件夹,使用“tree /f”命令查看默认策略是否创建成功。


迁移Sysvol文件夹复制方式为DFS-R

    如果将Windows Server 2003域控制器升级到Windows Server 2012,迁移后的域控制器之间复制仍然使用文件复制服务(FRS)方式,因此需要将“FRS”服务升级为“DFS-R”服务。


复制机制

    Windows Server 2012中提供DFS-R复制(分布式文件复制)服务。

    DFS-R机制以数据库为单位进行复制,仅复制文件的更改内容,而不是复制整个文件。例如,SYSVOL文件夹中有个1GB的文件,如果更改其中50MB的内容,在Windows Server 2003环境中FRS将复制整个文件(1GB)。而DFS-R仅复制50MB的增量内容,这样能够改善网络和磁盘性能,以及提高效率。需要注意DFS-R只能在Windows Server 2008和Windows Server 2012中复制SYSVOL数据。

    迁移到DFS-R前,建议所有域控制器需要注意以下事项。

    1.使用相同的操作系统。

    2.需要提升DFS-R复制服务的域控制器在线。

    3.域功能级别和林功能级别提升为至少是Windows Server 2008。

    4.在具备PDC角色所在的域控制器中完成DFS-R复制服务切换。

    5.切换过程时间较长,耐心等待。


原域控制器

    原域控制器运行Windows Server 2003 R2操作系统,部署Active Directory服务。Windows Server 2003环境中,域控制器之间的复制默认通过FRS(文件复制服务)完成。该域控制器部署所有FSMO角色,是域的林根服务器。


新域控制器

    新域控制器运行Windows Server 2012操作系统,成功提升为当前域的额外域控制器,由于源域控制器运行Windows Server 2003操作系统,两台域控制器之间的复制通过FRS服务完成,因此新域控制器中自动启用文件复制服务。

    以域管理员身份登录域控制器,将FSMO角色迁移到新域控制器。源域控制器将称为成员服务器。将域控制器功能级别提升为至少Windows Server 2008。


迁移服务

    迁移过程实质为状态切换,分为4个状态,其中第2步和第3步中两种服务状态并存。

    状态更新:“开始”——“准备就绪”——“已重定向”——“已消除”。

    对应服务:FRS(主)——DFS-R——DFS-R(主)——DFS-R(主)

    第1步,以域管理员身份登录新服务器。打开“命令提示符”,键入如下命令

    repadmin /Rep1Sum

    命令执行后,检查域控制器在线和复制状态,如果出现错误以及复制失败的提示,排除错误后才能开始迁移。“启动”状态下,FRS复制服务负责域控制器之间的SYSVOL共享复制,每个域控制器上的SYSVOL共享主复制引擎是FRS。

    第2步,更改复制状态,将复制状态从“开始”更新为“准备就绪”状态

    dfsrmig /SetGlobalState 1

    命令执行后,更新服务器DFS-R的状态为“准备就绪”。

    “准备就绪”状态下,将服务更新状态作为副本迁移到其他域控制器中SYSVOL文件夹。在此阶段,每个域控制器上的SYSVOL共享主复制引擎仍然是FRS复制服务,启动DFS-R复制服务

    第3步,继续更新状态,将复制状态从“准备就绪”更新为“已重定向”状态。

    dfsrmig /SetGlobalState 2

    命令执行后,更新服务器“DFS-R”的更新状态为“已重定向”状态。

    “已重定向”状态,将FRS复制服务转移到DFS-R复制服务。在此阶段,每个域中的域控制器的主复制引擎是DFS复制服务,FRS复制服务仍然运行。

    第4步,将复制状态从“已重定向”更新为“已消除”状态。

    dfsrming /SetGlobalState 3

    命令执行后,更新DFS-R的更新状态为“已消除”状态。在该阶段,FRS复制服务停止运行,DFS-R复制服务作为唯一的复制服务存在,FRS复制服务的状态为“已停止”并且“已禁用”

    在状态切换过程中,使用“dfsrmig /getglobalstate”和“dfsrmig /GetMigrationState”命令检查所有域控制器的状态是否全部更新完成,由于状态更新受网络影响,时间可能会较长。

    至此,域控制器迁移过程完成。在迁移过程中,客户端计算机可以正常登录、接收邮件以及运行业务系统,所有用户没有收到任何影响。