Powershell HomeDirectory не создан в файловой системе файлового сервера

У меня странная проблема с использованием Powershell и установкой HomeDirectory через командлет

Set-ADUser -Identity "user" -HomeDirectory "\\fileserver\home$\user"

Несмотря на то, что командлет работает и устанавливает значения в AD, необходимая папка на файловом сервере "\fileserver\home$\user" не будет создана.

Я также безуспешно пробовал то же самое с первоначальным созданием

New-ADUser -Name "user" -HomeDirectory "\\fileserver\home$\user"

Я запустил Powershell на сервере Exchange как администратор домена через UAC и импортировал модуль ActiveDirectory через

Import-Module ActiveDirectory

Вместо использования UNC-пути с именами хостов NetBIOS я также попробовал полное доменное имя \fileserver.domain.local\, а также IP-адрес \ip\

Если я использую команду cd для ввода UNC-пути через Powershell, это также работает, я также могу создавать каталоги.

cd \\fileserver\home$
mkdir test_dir

Тем не менее, каталог не будет создан. Если я использую графический интерфейс AD и пытаюсь изменить путь к HomeDirectory, папка будет создана.

Любые подсказки? Большое спасибо PS: 2008R2 x64, Exchange 2010, 1x Exchange, 1x контроллер AD, 1x файловый сервер


person millhaus    schedule 27.10.2014    source источник
comment
Выдает какие-нибудь ошибки? Вы запускаете это из сеанса PowerShell с повышенными правами?   -  person Kohlbrr    schedule 27.10.2014
comment
Я столкнулся с той же проблемой на одном из моих клиентов и в итоге создал папки в powershell.   -  person Paul    schedule 27.10.2014
comment
Нет, никаких ошибок не выдает. Я последую за процедурой создания домашнего каталога, включая ACL, спасибо!   -  person millhaus    schedule 28.10.2014


Ответы (2)


Стоит упомянуть следующее из Эй, сценарист! Блог

Помните, все, что мы сделали, это отредактировали поле в Active Directory. Файловая система на внешнем сервере не имеет ни малейшего представления об информации, представленной в Active Directory. Когда вы редактируете эти поля в графическом интерфейсе, папка пользователя и разрешения предоставляются как функция кода в этом интерфейсе графического интерфейса, а не как функция Active Directory.

Как и предложил Пол, я думаю, вам просто нужно создать папку самостоятельно. В этой статье также есть информация о настройке разрешений для файлового ресурса. Я полагаю, вы уже это сделали.

NEW-ITEM –path "\\fileserver\home$\user" -type directory -force
person Matt    schedule 27.10.2014
comment
Другим вариантом может быть автоматическое создание отсутствующей домашней папки с помощью сценария входа в систему (при условии, что разрешения на общий ресурс пользователя позволяют пользователям создавать папки). - person Ansgar Wiechers; 27.10.2014
comment
Спасибо за подсказки, я собираюсь создать папку и установить правильные ACL для пользователя. - person millhaus; 28.10.2014

Это лучший способ сделать это — создать домашнюю папку для всех пользователей, если она не существует. Создайте задачу расписания с идентификатором события 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) ) 
person DisplayName    schedule 14.04.2016