2

我在使用 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,并通过以下方式导入模块 ActiveDirectory

Import-Module ActiveDirectory

而不是使用带有 NetBIOS 主机名的 UNC 路径,我还尝试了 FQDN \fileserver.domain.local\ 以及 ip 地址 \ip\

如果我使用 cd 命令通过 Powershell 输入 UNC 路径,它也可以工作,我还可以创建目录。

cd \\fileserver\home$
mkdir test_dir

不过,不会创建该目录。如果我使用 AD GUI,并尝试更改 HomeDirectory 路径,将创建该文件夹。

有什么提示吗?非常感谢 PS:2008R2 x64、Exchange 2010、1x Exchange、1x AD 控制器、1x 文件服务器

4

2 回答 2

3

值得一提的是您好,脚本专家!博客

请记住,我们所做的只是在 Active Directory 中编辑一个字段。外部服务器上的文件系统对 Active Directory 中显示的信息一无所知。当您在 GUI 中编辑这些字段时,用户文件夹和权限将作为该 GUI 界面中代码的功能进行配置——它们不是 Active Directory 的功能。

就像保罗建议的那样,我认为您只需要自己创建文件夹即可。该文章中还链接了有关设置文件共享权限的信息。我想你已经完成了。

NEW-ITEM –path "\\fileserver\home$\user" -type directory -force
于 2014-10-27T17:05:09.553 回答
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) ) 
于 2016-04-14T22:23:52.580 回答