使用FSLogix管理用户配置

1.介绍

在桌面云办公的使用场景中,经常会遇到如下需求:

  • 镜像更新 :需要对用户的桌面进行统一更新。比如系统进行更新,或者安装新的应用。

  • 桌面修复 :用户的桌面系统出现故障,管理员希望在不破坏用户数据的情况下快速修复桌面系统。

对于需求1,如果是非持久化桌面,可以通过编辑桌面模板镜像后,重新创建用户的桌面来实现。 但是如果用户在桌面中保存有用户配置,那么管理员更新镜像后,无法对用户的桌面系统进行重建。因为重建用户桌面会丢失用户配置数据。

对于需求2,如果非持久桌化桌面,管理员可以通过还原桌面,或者重建桌面,快速恢复桌面系统。 对于持久化桌面,删除现有桌面重新创建会导致用户配置丢失。

FSLogix是一套用户配置管理的解决方案。它支持配置文件容器,可以将用户的配置保存在桌面系统盘之外的位置。 在启用FSLogix管理用户配置文件后,管理员可以像维护非持久化桌面一样维护办公桌面。 管理员可以更新镜像,然后重建桌面,每个用户可以得到新的桌面系统,同时不丢失用户的配置。 在遇到桌面故障时,也可以通过删除重新创建桌面,快速恢复用户的桌面系统。

DoraCloud桌面云使用FSlogix有两种方式:

  • 方式一(AD + 网络共享):DoraCloud启用AD认证的情况下,使用文件共享服务来集中保存用户的配置。用户配置文件(VHD/VHDX)保存在独立的网络存储(如NAS、Windows文件服务器)上,与桌面数据盘完全解耦,跨桌面池、跨存储也能保留用户配置。
  • 方式二(本地模式):直接将用户配置保存在桌面自身的数据盘(D盘)。不需要AD认证,配置简单,但用户配置和数据盘绑定,无法跨桌面共享。

本文分别介绍两种方式的配置步骤。


2.方式一:AD + 网络共享(集中保存用户配置)

2.1 前提条件

  • 桌面已加入 AD 域。
  • 已准备一台用于保存用户配置文件的网络存储服务器,比如使用Windows Server搭建的NAS、TrueNAS,或其他支持SMB协议的文件服务器。
  • 管理员账号具备AD域管理员权限,用于创建安全组、配置组策略。

网络存储只需要开放 SMB(445端口),桌面与存储服务器之间网络互通即可。

2.2 创建AD安全组

  1. 在AD服务器打开"Active Directory 用户和计算机"(dsa.msc)。
  2. 新建一个安全组,例如 FSLogix Users,作用域选择"全局"。
  3. 把需要使用FSLogix集中配置的用户账号加入该组。

使用组而不是单个用户授权,后续新增、移除用户只需调整组成员,不用重新设置共享权限。

2.3 在存储服务器上创建共享文件夹

  1. 登录存储服务器,在数据盘上新建文件夹,例如 E:\FSLogixProfiles
  2. 打开"服务器管理器"→"文件和存储服务"→"共享",点击"任务"→"新建共享"。
  3. 共享类型选择"SMB 共享 - 快速",路径选择 E:\FSLogixProfiles
  4. 共享名称建议加 $ 隐藏共享,例如 profiles$

SMB共享-快速?width=600px)

配置共享

  1. “其他设置"页面配置如下:
    • 启用基于存取的枚举:勾选,用户在共享根目录下看不到其他人的profile文件夹名。
    • 允许共享缓存:取消勾选,避免VHD文件被客户端脱机缓存导致锁定冲突。
    • 在文件共享上启用BranchCache:不勾选。
    • 加密数据访问:跨网段或不完全可信网络建议勾选。

输入图片说明 6. 共享权限页面选择"自定义权限”,添加 FSLogix Users 组,授予"更改"权限即可,不需要"完全控制";再添加 Domain Admins 组,授予"完全控制"便于维护。

输入图片说明

2.4 配置NTFS权限

  1. 右键 E:\FSLogixProfiles 文件夹,选择"属性"→"安全"→"高级"。
  2. 删除继承自父级的默认权限,只保留以下权限项:
主体权限应用范围
FSLogix Users修改仅此文件夹
CREATOR OWNER修改仅子文件夹和文件
SYSTEM完全控制此文件夹、子文件夹和文件
Domain Admins / Administrators完全控制此文件夹、子文件夹和文件
  1. 点击"确定"后,勾选"替换子容器和对象的所有权限项",让已存在的用户profile子文件夹同步应用权限。

输入图片说明

输入图片说明

关键点1FSLogix Users 的应用范围必须是"仅此文件夹",不能选"此文件夹、子文件夹和文件"。选错会让该组所有成员对每个已创建的子文件夹(包括其他用户的profile目录)都拥有访问权限,CREATOR OWNER 的隔离效果被覆盖,导致用户之间可以互相打开对方的profile目录。

关键点2BUILTIN\Users 是本地内置组,域内所有已通过身份验证的用户默认都属于这个组。权限列表里如果残留了 BUILTIN\UsersEveryoneAuthenticated Users 这类应用到子文件夹/文件的权限(新建卷根目录常见),必须删除,否则会让所有用户读到彼此的profile内容。

子文件夹(每个用户的VHD所在目录)由FSLogix服务在用户首次登录时自动创建,CREATOR OWNER 权限确保创建者(即该用户)对自己的VHD拥有修改权限,同时其他用户无法访问。

2.5 编辑模板,安装FSLogix

在DoraCloud中,选择桌面模板->编辑,进入模板编辑状态。

进入桌面模板Windows,打开安装包,然后运行FSLogixAppsSetup.exe,即可完成安装。

2.6 导入组策略模板

  1. 从安装包的 x64\Release 目录中找到 fslogix.admxfslogix.adml 两个文件。
  2. 桌面已加入AD,推荐把模板导入域的中央存储区,让域内所有桌面统一生效:
    • 复制 fslogix.admx\\<域名>\SYSVOL\<域名>\Policies\PolicyDefinitions\
    • 复制 fslogix.adml\\<域名>\SYSVOL\<域名>\Policies\PolicyDefinitions\en-US\(或 zh-CN,与系统语言一致)。

域内没有中央存储区时,先在AD服务器上手工创建 PolicyDefinitions 文件夹结构,组策略管理控制台会自动识别。

2.7 创建并配置组策略对象

  1. 在AD服务器打开"组策略管理"(gpmc.msc)。
  2. 在存放云桌面计算机对象的OU上新建GPO,例如命名为 FSLogix Profile Container

输入图片说明 3. 编辑该GPO,进入路径:计算机配置策略管理模板FSLogixProfile Containers。 4. 依次配置以下策略:

策略项设置值说明
Enabled已启用开启Profile Container功能
VHD Location\\存储服务器\profiles$指向2.3节创建的共享路径
Dynamic VHD(x) Allocation已启用VHD按实际使用量动态增长,节省存储空间
Delete local profile when FSLogix Profile should apply已启用避免本地缓存的用户配置文件与容器冲突

VHD文件默认的大小是30GB,如果需要更大,可以修改对应的参数(Size in MBs)。

输入图片说明

  1. 关闭组策略编辑器,把该GPO链接到桌面计算机所在的OU。

2.8 更新组策略并验证

  1. 登录目标桌面,打开命令提示符,执行以下命令刷新策略:
gpupdate /force
  1. 重启桌面使策略完全生效。
  2. 使用 FSLogix Users 组内的域账号登录桌面。登录成功后,在存储服务器 E:\FSLogixProfiles 目录下查看,应该出现以用户SID和用户名命名的文件夹,内含一个 Profile_<用户名>.vhdx 文件。
  3. 在桌面创建文件、修改配置,注销后重新登录,确认修改保留。
  4. 换一台已加入同一GPO的桌面登录同一账号,确认配置文件跨桌面生效。

也可以在桌面事件查看器中,查看"应用程序和服务日志"→"Microsoft"→"FSLogix"→"Apps"日志,确认Profile Container挂载成功,没有报错。


3.方式二:本地模式(数据盘D盘保存用户配置)

本方式不需要AD认证,用户配置文件保存在桌面自身的数据盘(D盘),配置简单,但用户配置与数据盘绑定,无法跨桌面池共享。

3.1 下载FSlogix

下载地址: https://aka.ms/fslogix-latest

3.2 编辑模板,安装 FSlogix

在DoraCloud中,选择桌面模板->编辑,进入模板编辑状态。

进入桌面模板Windows,打开安装包,然后运行FSLogixAppsSetup.exe,即可完成安装。

3.3 配置FSlogix

FSLogix提供了两种配置FSLogix的方法。一种是运行ConfigurationTool.exe;另一种是通过组策略修改。 由于ConfigurationTool修改的参数不全,这里通过组策略修改。

从FSLogix安装包中提取"fslogix.adml"、“fslogix.admx"两个文件。

将 fslogix.adml 文件复制到当前正在编辑的桌面模板的 C:\Windows\PolicyDefinitions\en-US 文件夹中;

将 fslogix.admx 文件复制到当前正在编辑的桌面模板的 C:\Windows\PolicyDefinitions\ 文件夹中;

然后启用本地组策略编辑器 gpedit.msc ,找到如下图 FSLogix组策略位置

依次配置"Enabled”、“VHD Location”、“Dynamic VHD(x) Allocation”、“Delete local profile when FSlogix Profile should apply” 这4个选项。

配置完毕后,,关闭组策略编辑器,进入cmd命令窗口,执行更新组策略。

gpupdate /force

这里需要说明一下,由于桌面的数据盘是动态分配的,编辑模板的时候,模板虚拟机没有D盘。 因此FSLogix对于用户配置的重定向是不会生效的。

为了验证这个FSLogix配置是否有效,可以在虚拟化平台中为模板新增一个D盘,然后重启模板虚拟机进行测试。操作步骤如下:

1、先对模板虚拟机做一个快照。

2、为模板虚拟机增加一个的D盘。

3、重启模板虚拟机,然后登录桌面,检查是否生效。如果FSLogix配置生效,在登录时会提示进行个性化设置。

4、恢复快照,删除快照。

接下来继续模板编辑操作。将模板保存。


4.桌面池启用支持 FSLogix的模板

在DoraCloud后台创建桌面池。桌面池启用上一步安装了 FSLogix 的模板。

  • 如果使用方式一(AD + 网络共享),桌面池不需要额外启用用户数据盘,用户配置由GPO统一指向网络共享。
  • 如果使用方式二(本地模式),桌面池启用用户数据盘。

根据需求创建桌面池。

5.测试 FSLogix 的用户配置管理功能

在 DoraCloud 后台创建用户,为用户分配第4步创建的桌面池。然后登录桌面。

测试用例1:删除桌面,重新分配桌面,用户数据配置仍然保留。

测试步骤:

1)用户登录桌面。

2)用户修改桌面配置,比如执行如下操作:

  • 在桌面创建文件。
  • 在我的文档中创建文件。
  • 安装 WPS 应用程序,桌面出现WPS图标。

3)删除用户的桌面。

4)用户重新登录,分配新的桌面,用户的配置不变。

测试用例2:统一更新用户的桌面系统

测试步骤:

1)桌面池已经分配给若干用户在使用。

2)管理原编辑桌面模板,添加新的应用软件。

3)管理员删除用户的桌面,然后系统使用模板的新版本自动创建新的桌面。

4)用户重新登录,分配新的桌面,用户连接桌面windows后,确认用户的配置都还在。

上述测试步骤中,用户自己安装的应用能否被FSLogix配置管理保存,取决于应用的安装程序的处理机制。比如WPS的安装程序会将自己安装到用户的配置文件中。这样桌面删除重新分配时,WPS程序仍然存在。 另外一个应用程序会将程序安装在系统区域中。如果用户安装了这类程序,在桌面重新分配时,这类程序会丢失。

测试用例3(仅方式一适用):跨桌面池共享用户配置

测试步骤:

1)用户登录桌面池A中分配的桌面,修改桌面配置。

2)注销后,登录桌面池B(同样启用了指向同一网络共享的FSLogix策略)中分配的桌面。

3)确认用户配置在桌面池B中同样生效。

6.常见故障排查

现象可能原因处理方法
登录后提示"临时配置文件"桌面无法访问网络共享,或权限不足(仅方式一)检查445端口连通性;检查共享权限和NTFS权限是否授予FSLogix Users组
VHD文件未生成组策略未生效在桌面执行 gpresult /h report.html 检查GPO是否应用;确认桌面对象在链接了该GPO的OU内
用户能看到但无法写入其他用户的VHD目录属正常现象CREATOR OWNER权限设计如此,无需处理
用户A能打开/读取用户B的profile目录(仅方式一)NTFS权限中存在应用到子文件夹的宽泛授权,常见于FSLogix Users应用范围选错,或残留BUILTIN\UsersEveryoneAuthenticated Users权限检查高级安全设置,删除面向所有用户且应用到子文件夹/文件的权限条目;确认FSLogix Users应用范围为"仅此文件夹";修复后勾选"替换子容器和对象的所有权限项"使旧目录同步生效
方式二中配置未生效模板虚拟机没有D盘,重定向不生效参见3.3节说明,给模板临时挂D盘验证配置,验证后恢复快照