使用Powershell映射主文件夹将其设置在AD中,但是除此之外别无其他

我想我的Active Directory用户有自己的主文件夹来存储他们的文件,我想通过PowerShell为每个用户帐户设置此。 我已经尝试了几件事情,但它所做的只是将AD中“profile”下的设置更改为homefolder位置,而这似乎并没有显示给用户login时。我试过的一些代码:

SET-ADUSER inggul –HomeDrive 'P:' –HomeDirectory '\\WIN-L372AGVF8AI\NewHome\$Inggul' $users = Get-ADUser -SearchBase "ou=sAdminOU,dc=kossi,dc=local" -Filter * -Properties Department foreach ($user in $users) { Set-ADUser $_.SamAccountName -HomeDrive "Z:" -HomeDirectory "\\WIN-L372AGVF8AI\NewHome\($_.SamAccountName)" } 

如果您已经设置了path并且显示在configuration文件中,但不会映射给用户,那么很可能是访问问题。 除非用户有权访问path,否则不会映射驱动器。 如果有错字或权限不正确,驱动器将不会映射。 如果networking在login时不可用,它也不会映射。 networking不可用的问题在笔记本电脑中很常见,无线连接速度不够快。

另请注意,当您通过AD用户和计算机GUI创build主目录时,它将创build该文件夹(如果需要)并为该用户明确添加权限。 如果您通过PowerShell更改属性,您将需要自己创build和设置权限。 你也可以通过PowerShell来做到这一点。

 $samAccountName = "TUser" $domain = "Contoso" $homePath = "\\Server\Home" ### Create Home Folder New-Item -Path "$homePath\$samAccountName" -ItemType Directory ### Set Permissions on home folder $aclPath = "$homePath\$samAccountName" $acl = Get-Acl $aclPath $identity = "$domain\$samAccountName" $rights = "Modify" $inheritanceFlags = "ContainerInherit, ObjectInherit" $propagationFlags = "None" $accessControlType = "Allow" $rule = New-Object System.Security.AccessControl.FileSystemAccessRule("$identity","$rights","$inheritanceFlags","$propagationFlags","$accessControlType") $acl.AddAccessRule($rule) Set-Acl $aclPath $acl