Powershell根据SDDL信息替换NTFS权限


支持所有版本。

使用Get-Acl你可以从文件或文件夹以SDDL格式输出它的安全信息(安全描述符):

$FolderToRead = 'C:\folder1'

$securityDescriptor = Get-Acl -Path $FolderToRead
$securityDescriptor.GetSecurityDescriptorSddlForm('All') 

你可以通过管道复制剪切SDDL粘贴到其他脚本:

$FolderToRead = 'C:\folder1'

$securityDescriptor = Get-Acl -Path $FolderToRead
$securityDescriptor.GetSecurityDescriptorSddlForm('All') | clip.exe 

可以这样添加SDDL到其它脚本。例如:

$sddl = 'O:S-1-5-21-2649034417-1209187175-3910605729-1000G:S-1-5-21-2649034417-1209187175-3910605729-513D:(A;ID;FA;;;BA)(A;OICIIOID;GA;;;BA)(A;ID;FA;;;SY)(A;OICIIOID;GA;;;SY)(A;OICIID;0x1200a9;;;BU)(A;ID;0x1301bf;;;AU)(A;OICIIOID;SDGXGWGR;;;AU)'


$FolderToConfigure = 'C:\folder2'

$securityDescriptor = Get-Acl -Path $FolderToConfigure
$securityDescriptor.SetSecurityDescriptorSddlForm($sddl)
Set-Acl -Path $FolderToConfigure -AclObject $securityDescriptor 

通过插入SDDL到脚本,你不再需要用临时文件夹生成一个SDDL,你现在就可以将此安全信息用到别的系统文件对象上了,设置它们的基本权限或改变它们之前的SDDL。
再告诉你,在域的迁移方案你也可以这样用,例如:创造一个新旧SID转换表格,接着用新的SID替换旧的SID,同时克隆他们的安全记录信息到新域的对象。
原文地址:Replacing NTFS Permissions with SDDL Information

本文链接: https://www.pstips.net/replacing-ntfs-permissions-with-sddl-information.html
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处!

发表评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注