我在Unix服务器上有一堆用户目录没有附加到活动目录,但是,几乎所有目录都与AD中的用户名相同。我正在将我的文件服务器迁移到绑定到AD的Windows,但权限不会移动。
我需要做的是以某种方式chown
(takeown
)该用户文件夹中的所有目录转到其AD用户。在* nix中,我会做这样的事情:
cd /home
find * --max-depth 0 -exec chown -R {} {} \;
但我似乎无法找到任何与PowerShell相关的东西。我得到了90%的方式,但最终会出现无法分配所有权等的错误。这可能是由SeRestorePrivilege
等引起的,但设置这些似乎也无济于事。< / p>
有没有人有建议,解决方案等?
答案 0 :(得分:1)
文件所有权在Windows中与在Linux / Unix中一样重要,因为Windows ACL比传统的Unix权限更加通用。只需将所有权传递给Administrators组,并向SYSTEM,Administrators组及其目录所在的用户授予完全权限,从而替换现有权限。使用takeown
和icacls
即可。
Get-ChildItem 'D:\home' -Directory | ForEach-Object {
$path = $_.FullName
$user = $_.Name
& takeown /f "$path" /r /a
& icacls "$path" '/grant:r' 'SYSTEM:(OI)(CI)F' 'Administrators:(OI)(CI)F' "DOMAIN\${user}:(OI)(CI)F"
}
根据需要为其他用户/组添加读/写权限。