我有一个新的启动脚本,它在 Powershell 2.0 中运行良好,但我必须升级到 Powershell 3.0 才能让一些 SQL 工作正常。然而,这破坏了我的脚本中使用 Set-Acl 的所有部分。使用 powershell 2.0 不是一个选项。有没有人找到解决这个问题的方法:我的代码:
#Set home directory permissions
$inherit = [system.security.accesscontrol.InheritanceFlags]"ContainerInherit, ObjectInherit
$propagation = [system.security.accesscontrol.PropagationFlags]"None"
$acl = Get-Acl $newfolder
$accessrule = New-Object system.security.AccessControl.FileSystemAccessRule("$username", "FullControl", $inherit, $propagation, "Allow")
$acl.AddAccessRule($accessrule)
set-acl -aclobject $acl $newfolder
write-host permissions set
#Set home folder owner
$acl = Get-Acl $newfolder;
$domain = "mydomain"
$sid = New-Object System.Security.Principal.NTAccount("$domain\$username");
$acl.SetOwner($sid);
Set-Acl $newfolder $acl;
write-host owner set