PowerShell Переместить пользователя в другое подразделение в другом домене с учетными данными без Quest / ADAM / Cmdlets - PullRequest
0 голосов
/ 07 марта 2012

Я использую

[System.DirectoryServices.AccountManagement.UserPrincipal]::FindByIdentity($context, $idtype, $sam)

Как переместить это использование в новое подразделение?

Я пробовал:

...
$user_adspath = $user.Properties.adspath
$user_ou = [ADSI]"$user_adspath"
$user_ou.PSBase.MoveTo("LDAP://$target")

Я получаюОшибка «Общий доступ запрещен».В связи с тем, что мне нужны права.Это работает, хотя.

...
$user.description += " MOVED"
$user.Enabled = $False
$user.Save()

Помните, что это на сервере не-2008 без Quest, ADAM, Командлеты не работают.Единственное, что у меня работает:

"Add-Type -AssemblyName System.DirectoryServices.AccountManagement"

Мне нужно что-то вроде этого:

$user.MoveTo("LDAP://$target")
$user.Save()

Ответы [ 2 ]

0 голосов
/ 08 марта 2012

Разобрался:

[adsi]$dest = New-Object System.DirectoryServices.DirectoryEntry ("LDAP://ou=somwhere,dc=company,dc=local","domain\username","password") 
$user_move = New-Object System.DirectoryServices.DirectoryEntry ("LDAP://cn=user,ou=somehow,dc=company,dc=local","domain\username","password")
$user_move.PSBase.MoveTo($dest)

Взял некоторое время!

0 голосов
/ 07 марта 2012

Вы находитесь на правильном пути. У вас есть разрешения на запись в целевом подразделении? Это должно быть так просто:

[adsi]$OU="LDAP://OU=Disabled Accounts,OU=Employees,DC=mycompany,DC=local"
[adsi]$User="LDAP://CN=Art Deco,OU=Sales,OU=Employees,DC=mycompany,DC=local"
$user.psbase.Moveto($OU)

Вам не нужно загружать какие-либо сборки или использовать что-либо еще.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...