Powershell 2.0 で正常に動作する新しいスターター スクリプトがありますが、SQL を動作させるために Powershell 3.0 にアップグレードする必要がありました。ただし、これにより、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