如何通过 Powershell 授予用户对文件夹的 NTFS 权限

Don*_*Don 5 powershell permissions active-directory

我正在尝试构建一个脚本,该脚本将为我们的文件服务器上的新用户创建一个文件夹。然后从该文件夹中删除继承的权限并重新添加特定的权限。我成功添加了文件夹(如果我在脚本中给它一个静态条目),授予域管理员权限,删除继承等......但我让它使用我设置为用户的变量时遇到问题。我不希望每次都有一个静态用户,我希望能够运行这个脚本,让它问我一个用户名,然后它出去创建文件夹,然后给同一个用户完全权限基于我提供的用户名的文件夹。我可以使用 Smithd 作为用户,如下所示:

New-Item \\fileserver\home$\Smithd – 类型目录

但是不能让它像这样引用用户:

New-Item \\fileserver\home$\$username – 类型目录

这是我所拥有的:

创建一个新文件夹并设置 NTFS 权限。

$username = read-host -prompt "Enter User Name"

New-Item \\\fileserver\home$\$username –Type Directory

Get-Acl \\\fileserver\home$\$username  

$acl = Get-Acl \\\fileserver\home$\$username

$acl.SetAccessRuleProtection($True, $False)

$rule = New-Object System.Security.AccessControl.FileSystemAccessRule("Administrators","FullControl", "ContainerInherit, ObjectInherit", "None", "Allow")
$acl.AddAccessRule($rule)

$rule = New-Object System.Security.AccessControl.FileSystemAccessRule("Domain\Domain Admins","FullControl", "ContainerInherit, ObjectInherit", "None", "Allow")
$acl.AddAccessRule($rule)

$rule = New-Object System.Security.AccessControl.FileSystemAccessRule("Domain\"+$username,"FullControl", "ContainerInherit, ObjectInherit", "None", "Allow")
$acl.AddAccessRule($rule)

Set-Acl \\\fileserver\home$\$username $acl
Run Code Online (Sandbox Code Playgroud)

我尝试了几种方法来让它工作,但没有运气。欢迎任何想法或建议,谢谢。