1

我寫了一個工具,允許用戶更改他們的AD密碼。此工具不會對我的公司域名的問題,但與Citrix客戶機上運行時,我收到以下錯誤信息:嘗試從c改變密碼時拒絕訪問#

System.Reflection.TargetInvocationException:異常已通過調用的目標引發異常。 ---> System.UnauthorizedAccessException:訪問被拒絕。 (來自HRESULT的異常:0x80070005(E_ACCESSDENIED)) ---內部異常堆棧跟蹤--- 在System.DirectoryServices.DirectoryEntry.Invoke(String methodName,Object [] args)末尾 at System.DirectoryServices.AccountManagement.SDSUtils .ChangePassword(德的DirectoryEntry,字符串舊密碼,字符串NEWPASSWORD) 在System.DirectoryServices.AccountManagement.ADStoreCtx.ChangePassword(AuthenticablePrincipal p,字符串舊密碼,字符串NEWPASSWORD) 在CitrixPWChangeBackend.ActiveDirectory.ChangePasswordForCurrentUser(字符串oldPw,字符串newPw,布爾& errorWrongPw ,布爾型& errorPasswordRules,字符串& errorMessage)

導致該錯誤的行是:

UserPrincipal.Current.ChangePassword(oldPw, newPw); 

「oldPW」是正確的,當然

+0

您可以使用同一用戶成功運行該工具,但是已登錄到您客戶機器的控制檯嗎?這樣做可以很好地排除Citrix,因爲訪問被拒絕的異常並不是我希望Citrix環境引入的。 – donovan

+0

同時我發現,用戶的屬性UserCannotChangePassword設置爲true。撕掉管理員頭後,我等待另一個帳戶正確測試我的代碼。 –

+0

謝謝,donovan。原因在於配置方面的預期。 –

回答

3

的「神奇」的原因是該用戶造成財產「UserCannotChangePassword」是真實的政策。 沒有思杰特定的問題。

相關問題