概要
文件服务器资源管理器(FSRM)和 Windows 文件存储组件管理配额和屏幕文件类型,以及报告企业环境中的文件服务器使用情况。 这些应用程序可能会受到各种问题的影响,包括权限问题、配置错误和服务故障。 本文提供有关 Windows Server 2016 及更高版本中这些问题的故障排除指南。
故障排除清单
使用此清单进行系统故障排除:
- 澄清问题
- 服务错误、访问拒绝、策略未应用或其他内容吗?
- 收集错误消息、事件 ID 以及受影响的路径、驱动器和用户。
- 建立范围
- 此问题是否影响所有用户或仅影响某些用户?
- 它是否与特定卷、文件夹或文件类型隔离?
- 验证系统运行状况
- 所有关键服务(FSRM、RPC 等)是否都在运行?
- 是否有任何磁盘标记为脏或脱机?
- 最近的 OS 错误、磁盘错误或应用程序错误是否显示在事件查看器中?
- 检查配置
- 验证是否正确配置了文件系统(NTFS)和权限。
- 是否在 FSRM 中正确应用和显示配额、屏幕和策略?
- FSRM 角色或功能是否已安装和更新?
- 尝试复制
- 尝试使用测试帐户或其他方案重现问题,以验证一致性。
- 记录所有已应用的修复
- 维护故障排除期间使用的操作和命令的日志。
常见问题和解决方案
以下部分详细介绍了最常见的故障模式,并提供分步解决方案。
FSRM 控制台不会加载、拒绝访问或服务启动失败
症状
- 尝试打开配额时出现“访问被拒绝”(0x80070005)错误消息。
- FSRM 控制台停止响应。
- FSRM 服务不会启动(“意外错误 0xc00cee22”或“XMLReader::parseURL ... quota.xml, 0xc00cee2d”)。
- 事件日志错误条目指向与 quota.xml 或相关文件权限相关的问题。
决议
-
修复文件权限:
-
停止 FSRM 服务:net stop srmsvc
-
获取所有权并设置权限:
takeown /f "C:\System Volume Information\SRM\quota.xml" icacls "C:\System Volume Information\SRM\quota.xml" /grant administrators:F attrib -s -h "C:\System Volume Information\SRM\quota.xml" -
如果 XML 已损坏,请重命名或删除它(备份后),重启 FSRM,然后重新配置配额。
-
-
修复或重新注册 WMI 存储库:
winmgmt /verifyrepository winmgmt /salvagerepository net stop winmgmt net start winmgmt net stop srmsvc net start srmsvc -
重新注册 srmsvc.dll:
regsvr32 /i srmsvc.dll
配额、屏幕或模板问题
症状
- 配额和文件屏幕不会更新或不可见。
- 策略不会应用或仅影响新用户。
- 出现提示“Update-FsrmAutoQuota”的错误消息,或者无法将配额或筛选器分配给某些卷。
决议
- 检查文件系统类型。 FSRM 仅适用于 NTFS。 使用 ReFS 的卷不能由 FSRM 管理。 将数据移动到 NTFS 以使用 FSRM 功能。
- 正确的配额模板:
- 打开 FSRM,验证模板是否与预期策略匹配。
- 重新应用自动应用配额:使用 Set-FsrmAutoQuota -Path ... -Template ... -UpdateDerived。
- 对于批量软或硬配额转换,请编辑共享模板,然后选择“ 应用于所有派生配额”。
- 修复 PowerShell 或 COM 对象问题:
- 确保脚本使用 64 位 PowerShell。
- 重新安装或重新注册 FSRM 角色或 DLL。
- 文件屏幕截图或阻止:
- 从另一台服务器导出工作文件屏幕,然后重新导入。
- 对于与预期模式不匹配的文件,请重新生成或正确配置文件屏幕组或模板。
访问权限被拒绝、只读错误或文件复制错误
症状
- 对驱动器或文件夹的“拒绝访问”。
- 复制或创建的所有文件都是只读的。
- 由于文件或路径名称长,无法删除或重命名文件。
- PDF 或特定文件类型复制失败,尽管其他类型成功。
决议
-
权限和继承:<FolderPath> /r /d y 和 icacls <FolderPath> /grant administrators:F /t。 对于继承:使用 PowerShell 将 AreAccessRulesProtected 设置为 false。
-
使用 diskpart 清除只读状态:
diskpart list disk select disk <number> attributes disk clear readonly -
长路径:使用 robocopy 或兼容的删除工具。 Windows 资源管理器和默认 DEL 命令具有旧路径长度限制。
-
Zone.Identifier 问题(下载后阻止的文件):取消阻止目录中的所有文件:
dir .\* |Unblock-File
群集、故障转移和文件共享问题
症状
- 节点未加入群集,或者 FSRM 不会在辅助节点上启动。
- 不会显示装入点,或者驱动器大小报告不正确。
- 出现永久性预留错误和群集资源放置问题。
决议
-
群集资源或存储分组:
- 确保群集 IP 和名称资源位于群集核心组下。
- 根据需要移动资源:
<Move-ClusterResource -Name 名称> -Group “群集组”
-
脱机或损坏的群集磁盘:根据需要逐出和还原节点。 在脱机磁盘上运行 CHKDSK /F。
-
装入点的驱动器号:如果需要在资源管理器中可见,请将驱动器号分配给分区。
文件筛选保存和Microsoft Excel 问题(.tmp被阻止)
症状
- 因为被.tmp文件阻止,保存含宏电子表格(.xlsm)失败。
- 事件日志条目:拒绝访问,但不适用于 .xlsm 文件本身。
决议
- 从受影响的共享的相关 FSRM 文件筛选器组中删除 .tmp 扩展名。
- 更改后,请验证是否可以使用临时文件成功保存。
FSRM 服务或角色安装或启动失败
症状
- 尝试安装 FSRM 时显示错误代码“CBS_E_SOURCE_MISSING”。
- 服务失败并生成 .NET 或功能依赖项错误。
决议
-
装载 Windows 安装 ISO 并提供 SxS 路径:
DISM /Online /Enable-Feature /FeatureName:FS-Resource-Manager /All /Source:D:\sources\sxs /LimitAccess
-
安装或修复所需的先决条件(例如 .NET 3.5)。
磁盘扩展、修复或突然空间丢失
症状
- 除非未分配的空间紧邻,否则无法扩展分区。
- 磁盘修复(chkdsk/REPAIR-VOLUME)花费的时间过长或重复。
- 突然磁盘空间损失、高 NTFS 日志或事件日志消耗量。
决议
- 分区扩展:
- 删除或备份相邻驱动器 E 以空间、扩展驱动器 D、重新创建驱动器 E、还原数据。
- 磁盘修复:
- 运行:chkdsk /scan,然后运行 chkdsk /spotfix 进行脱机修复(如果可能)。
- 空间损失
- 使用 WinDirStat 等工具查找大型文件增长。
- 卸载或存档事件日志。
- 启用事件转发并保留最少的本地日志保留期。
Robocopy、备份复制问题(SID、/B、/Z 选项、访问错误)
症状
- 当复制文件时,如果权限中的 SID 无法解析,Robocopy 会失败并返回错误 1317(帐户不存在)。
- /B 或 /ZB 选项无法按预期工作。
决议
- 为了避免复制所有者 SID,请使用 /copy:datsu 而不是 /copy:datsou 运行 Robocopy。
- 确保正在运行的帐户对 /B 或 /ZB 的源和目标具有备份和还原权限。
- 对于 /Z(可重启模式),请验证 OS 版本是否与已知的兼容性和 bug 列表匹配。
常见问题快速参考表
| 症状 | 根源 | 最快修复/命令 | 注释 |
|---|---|---|---|
| FSRM 控制台错误:访问被拒绝 | 对 SRM\quota.xml 的权限 | takeown/icacls/attrib, restart srmsvc | 备份 quota.xml |
| 配额未更新或应用,模板不起作用 | 过时或不匹配的模板 | Set-FsrmAutoQuota、编辑或重新应用模板 | 使用 64 位 PS |
| 无法将配额分配给 ReFS 卷 | FSRM(文件服务器资源管理器)仅限 NTFS | 将数据移动到 NTFS | 不支持 ReFS |
| 尽管有访问权限,但无法保存或复制 .pdf 或 .xlsm | Zone.Identifier 或 .tmp 被阻止 | 迪尔。* | 取消阻止文件、编辑屏幕组、删除.tmp块 |
| FSRM 服务未启动,存在 XML 解析错误。 | 损坏的 quota.xml,未转义“&”符号 | 替换为“&”、执行“takeowner”,重启服务 | |
| 磁盘修复/扩展失败 | 脏标志,未分配空间问题 | chkdsk /spotfix, 删除相邻分区扩展, diskpart 清除只读 | 规划停机时间 |
| 文件屏幕阻止意外扩展 | 模板损坏或意外错误列表 | 从良好的服务器导出和导入,验证模板 | 一致性 |
| 群集故障转移失败,资源脱机 | 资源错位,公关错误 | Move-ClusterResource、chkdsk、修复依赖项 | 查看群集日志 |
| Robocopy 失败并返回 SID 错误、/B 或 /Z 选项不起作用 | 缺少备份或还原权限或无效的 SID | 分配权限,Robocopy /copy:datsu,使用管理员账户 | /Z 中的 Bug (doc) |
| 文件或文件夹被固定为只读状态 | 磁盘或注册表属性 | dDiskpart 属性、注册表 StorageDevicePolicies | 检查供应商驱动程序 |
| 由于路径很长,无法删除或重命名 | Windows 路径限制 | 试用 Robocopy 或第三方工具,在新 OS 上启用 longpath 策略 | OS 限制 |
数据收集
在联系Microsoft支持人员之前,可以收集有关你的问题的以下信息。
- 事件日志: 应用程序、系统、SRMSVC、NTFS 操作和自定义 FSRM 日志。
- **Procmon/Process Monitor 跟踪:**用于分析文件访问错误和第三方驱动程序。
- PowerShell 输出:
- <Get-Acl 文件夹>
- Get-FsrmQuota:Select-Object 路径、大小、使用情况
- Get-FsrmAutoQuota
- DISM 日志: 对于角色或功能安装
- 群集和磁盘部件输出: 如果涉及群集或存储池
- FSRM 导出: dirquota 模板导出等
- Robocopy 日志: /log:<path>
- WinDirStat 磁盘使用情况快照
- 网络跟踪(如果相关): 对于 SMB/连接问题
命令行示例:
# Permissions and ownership
takeown /f "<path>" /r /d y
icacls "<path>" /grant administrators:F /t
# FSRM quota exports
dirquota quota list > quotas.txt
# Unblock alternative data streams
Get-ChildItem -Path <path> -Recurse | Unblock-File