防止 Windows 域用户删除其主目录子目录的最佳方法是什么?

防止 Windows 域用户删除其主目录子目录的最佳方法是什么?

我正在使用 Windows Server 2012 R2 域控制器,主要使用 Windows 7 Professional 客户端。

我最近设置了文件夹重定向和用户配置文件漫游,这样每个域用户在网络共享上都有一个文件夹,用于存储他们的用户配置文件和文档。这些用户文件夹的形式如下:

D:\Users\%USERNAME%

在文件服务器上,相应地,

\\MYSERVER\Users\%USERNAME%

在域上。

这些文件夹在用户首次登录时自动生成,包含所有常见的内容,包括“应用程序数据”、“我的文档”、“链接”、“联系人”和“Profile.V2”。

所有这些子文件夹也是在用户首次登录时自动生成的,这是域组策略指定的。具体来说,除“Profile.V2”之外的所有这些子文件夹都是文件夹重定向策略的结果;“Profile.V2”是漫游用户配置文件策略的结果。

为了实现这一切,我已将 NTFS 权限设置为

D:\Users\%USERNAME%

正如微软(现在不记得在哪里了!)和无数其他衍生博客文章所推荐的那样。这些权限是,

Disable Inheritance

Allow - SYSTEM - Full Control - This Folder, Subfolders and Files
Allow - Administrator - Full Control - This Folder, Subfolders and Files

Allow - CREATOR OWNER - Full Control - Subfolders and Files

Allow - MyUserGroup - Special (List Folder / Read Data; Create Folders / Append Data) - This Folder Only

对我来说,这种方法效果很好,但有一个问题。一旦用户登录,并且文件夹结构按指定方式生成,用户自然有权随意删除这些文件夹中的任意一个。这意味着用户可能会意外或出于其他原因删除 - 例如 - “桌面”。这不仅会导致“桌面”文件夹的内容丢失,还会在下次登录时破坏文件夹重定向。

我的问题是,防止用户删除这些顶级用户子文件夹(“桌面”、“联系人”、“Profile.V2”及其它)的最佳方法是什么?我尝试过对父文件夹使用其他权限,但这些权限不可避免地会在用户首次登录时破坏自动文件夹生成。此外,我尝试在用户首次使用脚本登录后以编程方式调整这些子文件夹的权限 - 但我总是达不到目的(使用 Powershell 修改 ACL 被证明是一件令人头疼的事情。)

最佳解决方案是什么?我肯定不是唯一一个遇到这个问题的人!

答案1

将每个配置文件文件夹重定向到单独的共享。因此,桌面文件夹被重定向到 \myserver\usersDesktops\%username%。

Technet 文章

答案2

如果您删除Allow - CREATOR OWNER - Full Control - Subfolders and Files 我怀疑这在当今有点多余,也许这就是他们有权按照您说的做的原因。

而且其他人也是对的,最好将它们分开,因为这样你会有更多的灵活性。

答案3

事实证明,没有简单的方法可以做到这一点。

我采纳了其他发帖人的建议,将漫游配置文件根文件夹(例如“Profile.V2”)和用户主根文件夹(例如“我的文档”等)的位置分开,效果很好。我还隐藏了这些共享,使其无法被网络浏览(通过在共享名称后附加“$”),不知何故,这完全阻止了用户访问他们自己的漫游配置文件文件夹(这非常好)。我必须承认,我发现这种行为令人困惑 - 尽管如此,它还是非常受欢迎的!

我想我不得不接受这样的事实:如果用户删除了自己的桌面文件夹,那么这就是他们自己的损失!幸运的是,我经常备份所有这些共享,所以这应该可以减轻损失。

相关内容