有一个用于创建新用户帐户的脚本,包括主目录。帐户设置工作正常,但是当我尝试在主目录上分配权限时,它会在Set-ACL命令上出错,指定无法找到用户。我们确实有多个域控制器,所以我可以理解一个DC是如何在用户创建时遇到的,但是当我尝试提取perms时,另一个DC,但是在脚本的顶部我使用" Set-ADServerSettings -PreferredServer"指定要与之通话的DC。我期待这个解决问题,但没有快乐。
脚本太大而无法在此处发布,但流程如下:
*加载AD模块
*解析用户信息的CSV文件
*创建用户帐户
*在托管主文件夹的服务器上创建主目录
*在目录-error上设置烫发
设置权限的代码片段是:
# get current permissions of the newly created home folder
$acl = Get-Acl $newHomeFolder
# allow inherited rules from parent folder
$acl.SetAccessRuleProtection($False, $True)
$newAcl = "<domain>\$logonName", "FullControl", "ContainerInherit,ObjectInherit", "None", "Allow"
$objNewAcl = New-Object System.Security.AccessControl.FileSystemAccessRule($newAcl)
$acl.AddAccessRule($objNewAcl)
Set-Acl -Path $newHomeFolder -AclObject $acl
关于我如何解决此问题的任何想法允许设置权限?
答案 0 :(得分:0)
我有一个类似的事情,我正在为一所学校工作。经过多次试验和许多错误后,我来到了这里:
$acl = Get-Acl $newHomeFolder
$inherit = [system.security.accesscontrol.InheritanceFlags]"ObjectInherit",[system.security.accesscontrol.InheritanceFlags]"ContainerInherit"
$propagation = [system.security.accesscontrol.PropagationFlags]"None"
$accessrule = New-Object system.security.AccessControl.FileSystemAccessRule("[domain\$username", "FullControl", $inherit, $propagation, "Allow")
$acl.AddAccessRule($accessrule)
set-acl -aclobject $acl $directory
希望这有帮助。