NON-командлет Powershell: переместить пользователя в новое подразделение через пространства имен System.DirectoryServices - PullRequest
0 голосов
/ 16 февраля 2012

Я вошел в домен Y, и AD с пользователем, которого я хочу переместить, находится в домене X (сервер Windows 2003 без ADAM)

Как можно переместить пользователя X из подразделения в другое подразделение в том же домене с помощью метода пространств имен System.DirectoryServices?

Вот как далеко я продвинулась:

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

Здесь не указано: UserPrincipal

Ответы [ 2 ]

0 голосов
/ 17 февраля 2012

Вот другое решение:

# MoveObject
$OuDest=[ADSI] "LDAP://mach:389/ou=Commerciaux,dc=societe,dc=fr" 
$objUODest.MoveHere("LDAP://cn=Mickey,ou=Ventes,dc=societe,dc=fr", “cn=Mickey")

И

# Rename
$Ou=[adsi] "LDAP://mach:389/ou=Ventes,dc=societe,dc=fr"
$Ou.MoveHere("LDAP://cn=PetitMickey,ou=Ventes,dc=societe,dc=fr", "cn=PetitMickeyBis")

Если вам нужно авторизоваться:

$OuDest = New-Object System.DirectoryServices.DirectoryEntry ("LDAP://FQDN name or @IP",$User,$password)
0 голосов
/ 16 февраля 2012

Некоторое время мне не приходилось делать это без командлетов QAD или ADAM, так что это непроверено и из памяти, но я думаю что-то вроде:

$root = [adsi]''
$searcher = New-Object System.DirectoryServices.DirectorySearcher($root)
$searcher.Filter = "(&(ObjectClass=User)(Name=SomeUser))"
$userObject = $searcher.FindOne()
$path = $userObject.Properties.ADSPath
$targetOU = [adsi]("LDAP://OU=Target,DC=SomeDomain,DC=com")
$ADUser = [adsi]($path)
$ADUser.PSBase.moveto($targetOU)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...