我知道我可以使用 get-acl 复制现有 ACL,然后使用 set-acl 修改它们,但是有没有办法可以创建一个新的空白 ACL,然后添加我需要的内容?例如:
$foo = new-acl
#push some access rules into $foo
set-acl C:\myFolder $foo
答案1
您需要使用.NET 对象:
$emptyACL = New-Object System.Security.AccessControl.DirectorySecurity
注意,我是通过使用 Get-Member 函数查找 TypeName 才找到这一点的:
$ACL = Get-ACL C:\some_directory
$ACL | Get-Member
TypeName: System.Security.AccessControl.DirectorySecurity
Name MemberType Definition
---- ---------- ----------
.........................................................