有没有人使用脚本重置主目录目录上的权限? 我正在考虑一些FOR循环和CACLS的组合,以便将一个可inheritance的修改权限添加到使用与文件夹名称相同的域用户名的文件夹中。
我们正在将用户份额从一台服务器迁移到另一台服务器,而现有的共享并不都具有适当的权限设置。 我正在考虑复制所有文件夹而不复制权限,然后通过脚本重置权限,以便只有与文件夹相匹配的用户名才能访问。 然后,我可以重新申请访问其他用户文件夹的用户所需的任何其他权限。
假设你在Windows Server 2003或更新的版本上运行,你将同时拥有TAKEOWN和ICACLS命令。 我还假设,顶级文件夹权限设置得当(即“身份validation用户 – 列出文件夹内容 – 仅此文件夹”,适当的“pipe理员”权限,如果你喜欢他们能够进入用户文件夹等)。
@echo off FOR /D %%i in (*) do ( TAKEOWN /f "%%i" /r /dy ICACLS "%%i" /reset /T ICACLS "%%i" /grant:r "DOMAIN\%%i":(OI)(CI)F rem Unremark this line to set the owner to the user, if you like that rem ICACLS "%%i" /setowner "DOMAIN\%%i" /T )
这将取得所有权,清除所有的权限和恢复inheritance,添加用户瓦特/完全控制权限的目录,然后有select地返回所有权,如果你解除最后一行。
我不得不处理在用户之间共享文件的用户之外的家庭目录的哀悼。 这是一个真正的痛苦。
作为参考,这是我使用的脚本,因为它更适合我们的环境
@ECHO OFF FOR /D %%G IN ("*") DO echo y| cacls "%%G" /T /E /G "DOMAIN\%%G:C"
因为我们只需要授予用户权限。