2014-11-01 43 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模塊和任務存在..但我沒有訪問這些等於是我從頭開始編寫這個..

感謝

回答

0

您應該使用在實例屬性與New-AdUser方法:

New-AdUser

使用模板來創建新的對象。爲此,請創建一個新的用戶對象或檢索現有用戶對象的副本,並將Instance參數設置爲此對象。提供給Instance參數的對象用作新對象的模板。您可以通過設置cmdlet參數來覆蓋模板的屬性值。有關示例和更多信息,請參閱此cmdlet的實例參數描述。

-Instance<ADUser>

指定用戶對象的實例作爲一個新的用戶對象要使用的模板。 您可以使用現有用戶對象的實例作爲模板,也可以構造用於模板使用的新用戶對象。您可以使用Windows PowerShell命令行或使用腳本構建新的用戶對象。

  • 方法1:使用現有的用戶對象作爲新對象的模板。要檢索現有用戶對象的實例,請使用諸如Get-ADUser之類的cmdlet。然後將此對象提供給New-ADUser cmdlet的Instance參數以創建新的用戶對象。您可以通過設置適當的參數來覆蓋新對象的屬性值。

  • 方法2:創建一個新的ADUser對象並使用Windows PowerShell命令行界面設置屬性值。然後將此對象傳遞給New-ADUser cmdlet的Instance參數以創建新的Active Directory用戶對象。

一個實例可以在一個support post on Technet,在其中作者可以成功地創建用戶可以看出,但具有新的用戶對象的位置的困難。我認爲你應該閱讀這篇文章,以更好地瞭解新AdUser的方法和用法。

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

+0

正如我在原來的帖子中寫道,我沒有訪問ActiveDirectory的模塊,所以我在尋找如何使用的DirectoryServices做到這一點。 thx – halv 2014-11-01 13:37:57

+0

對不起。我會研究它 – 2014-11-01 15:10:04