2016-05-13 50 views
1

這裏更改密碼被拒絕是代碼:訪問時,我在AD從Azure中

PrincipalContext oPrincipalContext = new PrincipalContext(ContextType.Domain, "domain.com", "DC=domain,DC=com", "login", "password"); 
var user = UserPrincipal.FindByIdentity(oPrincipalContext, IdentityType.SamAccountName, userName); 
user.SetPassword(newPass); 

對於本地主機部署它工作得很好,但是當我嘗試運行在Azure中的Web應用程序的代碼我收到以下錯誤

Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED) 

它有什麼問題?如何從Azure Web App中重置AD中的用戶密碼?

回答

1

如果您沒有使用Web應用程序和本地域的虛擬網絡將它們合併到一個網絡中,則可能會出現此問題。 Tutorial。這將把你的資源放到一個VPN中,問題應該消失。

+0

我忘了寫我正在使用VPN,一切都在AD正常工作。只有SetPassword導致錯誤。 –

+0

@сергейтамбовцев好,很好。嘗試使用ChangePassword而不是SetPassword?並查看[that](https://consultrikin.wordpress.com/2014/02/20/ad-change-password-c-access-is-denied-exception-from-hresult-0x80070005-e_accessdenied/) - 可能是很有幫助。 –

+0

ChangePassword不是我所需要的。管理員不知道舊密碼。我會盡量使鏈接指令 –