2014-11-01 10 views
-1

Я пытаюсь скопировать существующего пользователя, чтобы новый пользователь с новым именем и т.д ..как я скопировать пользователь объявления через PowerShell

$root = New-Object System.DirectoryServices.DirectorySearcher 
$root.SearchRoot = "LDAP://dc=organization,dc=net" 
$root.Filter = "(&(objectClass=user)(samaccountname=TestUser1))" 
$result = $root.FindOne() 

$test = $result.GetDirectoryEntry() 
$newparent = New-Object System.DirectoryServices.DirectoryEntry($test.Parent) 
$test.CopyTo($newparent,"TestUser2") 

Всякий раз, когда я запускаю код выше, я получаю:

ERROR: Exception calling "CopyTo" with "2" argument(s): "Not implemented 
ERROR: " 
TestDir.ps1 (22): ERROR: At Line: 22 char: 13 
ERROR: + $test.CopyTo <<<< ($newparent,"TestUser2") 
ERROR:  + CategoryInfo   : NotSpecified: (:) [], MethodInvocationException 
ERROR:  + FullyQualifiedErrorId : DotNetMethodException 
ERROR: 

Кто-нибудь знает, в чем проблема? Я знаю, что я пытаюсь добиться в модуле существует ActiveDirectory и Quest .. но у меня нет доступа к этим так поэтому я должен написать это с нуля ..

Благодарности

ответ

0

Вы должны использовать экземпляр атрибута с помощью метода New-AdUser:

New-AdUser

Используйте шаблон для создания нового объекта. Для этого создайте новый пользовательский объект или получите копию существующего объекта пользователя и установите для этого объекта параметр «Экземпляр». Объект, предоставленный параметру Instance, используется в качестве шаблона для нового объекта. Вы можете переопределить значения свойств из шаблона, установив параметры cmdlet. Примеры и дополнительную информацию см. В описании параметра экземпляра для этого командлета.

-Instance<ADUser>

Задает экземпляр объекта пользователя для использования в качестве шаблона для нового объекта пользователя. Вы можете использовать экземпляр существующего объекта пользователя в качестве шаблона или вы можете создать новый пользовательский объект для использования шаблона. Вы можете создать новый пользовательский объект с помощью командной строки Windows PowerShell или с помощью скрипта.

  • Метод 1: Использовать существующий объект пользователя в качестве шаблона для нового объекта. Чтобы получить экземпляр существующего объекта пользователя, используйте командлет, такой как Get-ADUser. Затем предоставите этот объект параметру Instance командлета New-ADUser для создания нового пользовательского объекта. Вы можете переопределить значения свойств нового объекта, установив соответствующие параметры.

  • Способ 2: Создайте новый объект ADUser и задайте значения свойств с помощью интерфейса командной строки Windows PowerShell. Затем передайте этот объект параметру Instance командлета New-ADUser, чтобы создать новый объект пользователя Active Directory.

Пример можно увидеть в support post on Technet, в которой автор может успешно создать пользователя, но испытывает трудности с размещением нового объекта пользователя. Я думаю, вы должны прочитать сообщение для лучшего понимания метода и использования New-AdUser.

New-ADUser -SamAccountName "garyoj" -name "garyoj" -Instance $userinstance -PasswordNotRequire

+0

, как я писал в исходном посте, я не имею доступ к ActiveDirectory модуля, поэтому я ищу, как сделать это с DirectoryServices. thx – halv

+0

Извините. Я рассмотрю его –