0

在Sharepoint(或任何ASP.NET Web應用程序)中我想要創建AD用戶的功能。我爲此任務使用System.DirectoryServices.AccountManagement,但我陷入困境。這裏是我的代碼:System.DirectoryServices.AccountManagement用於創建新用戶的PrincipalContext模擬

using (var pc = new PrincipalContext(ContextType.Domain,"DOMAIN","administrator","password")) 
{ 
    if (pc.ValidateCredentials("administrator", "password")) 
    { 
     UserPrincipal up = new UserPrincipal(pc, username, password, true); 
     up.Save(); 
    } 
} 

用戶被創建,但它被禁用。我知道我的管理員:密碼對是正確的,因爲「if」語句返回true。還創建過程中,我收到例外:

Exception has been thrown by the target of an invocation. 

我檢查PrincipalContext對象,它連接到域控制器以「管理員」賬戶。什麼可能是這個錯誤和up.Save()函數拋出異常的原因?

+0

這可能更適合Sharepoint堆棧。 http://sharepoint.stackexchange.com – 2013-04-22 15:30:25

+0

此問題適用於所有ASP.NET Web應用程序。 Sharepoint在這裏只是一個關鍵詞 – 2013-04-22 15:55:04

回答

0

你可以嘗試以下方法:

using (var pc = new PrincipalContext(ContextType.Domain,"DOMAIN","administrator","password")) 
      { 
       using (var up = new UserPrincipal(pc)) 
       { 
        up.SamAccountName = textboxUsername.Text; // Username 
        up.SetPassword(textboxPassword.Text); // Password 
        up.Enabled = true; 
        up.ExpirePasswordNow(); 
        up.Save(); 
       } 
      } 

這至少應該確保用戶創建並啓用。讓我知道它是否有效。

+0

nope它是一樣的。這是行不通的。 – 2013-04-23 15:58:38

+0

錯誤是否與上述錯誤相同或是否有新錯誤? – 2013-04-23 15:59:36

+0

是的,錯誤是一樣的 – 2013-04-23 19:19:46

相關問題