我在使用Powershell并通过cmdlet设置HomeDirectory时遇到了一个奇怪的问题
Set-ADUser -Identity "user" -HomeDirectory "\\fileserver\home$\user"
即使cmdlet正在运行并在AD中设置值,也不会创建文件服务器“\ fileserver \ home $ \ user”上的必要文件夹。
我在初始创作
时也尝试过同样失败New-ADUser -Name "user" -HomeDirectory "\\fileserver\home$\user"
我已经通过UAC在Exchange服务器上启动了Powershell作为域管理员,并通过
导入了模块ActiveDirectoryImport-Module ActiveDirectory
我没有使用带有NetBIOS主机名的UNC路径,而是尝试了FQDN \ fileserver.domain.local \以及ip adrress \ ip \
如果我使用cd命令通过Powershell输入UNC路径,它也可以工作,我也可以创建目录。
cd \\fileserver\home$
mkdir test_dir
但是,目录不会被创建。 如果我正在使用AD GUI,并尝试更改HomeDirectory路径,则将创建该文件夹。
任何提示? 非常感谢 PS:2008R2 x64,Exchange 2010,1x Exchange,1x AD控制器,1x文件服务器
答案 0 :(得分:3)
值得一提的是Hey, Scripting Guy! Blog
以下内容请记住,我们所做的只是编辑Active Directory中的字段。该 外国服务器上的文件系统对该信息一无所知 在Active Directory中呈现。当您在中编辑这些字段时 GUI,用户文件夹和权限作为功能配置 该GUI界面中的代码 - 它们不是Active的功能 目录。
很像Paul建议我认为你只需要自己创建文件夹。该文章中链接的是有关为文件共享设置权限的信息。我想你已经完成了。
NEW-ITEM –path "\\fileserver\home$\user" -type directory -force
答案 1 :(得分:0)
这样做的最佳方法是为所有用户创建主文件夹(如果不存在)。创建一个事件ID为4720的计划任务,以自动执行此操作
连接主文件夹路径和驱动器号。
Get-ADUser -filter * | % { Set-ADUser $_ -HomeDrive "H:" -HomeDirectory ('\\server\home$\' + $_.SamAccountName) }
为每个用户创建主文件夹: -
ForEach( $User in (Get-ADUser -filter * | if( -not ( -HomeDrive "H:" -HomeDirectory ('\\server\home$\' + $_.SamAccountName) )