winforms - सी#से पासवर्ड बदलने का प्रयास करते समय पहुँच अस्वीकृत



active-directory access-denied (1)

मैंने एक उपकरण लिखा है जो उपयोगकर्ताओं को अपने एडी-पासवर्ड बदलने की अनुमति देता है यह उपकरण मेरी कंपनियों के डोमेन पर समस्याओं के बिना काम करता है, लेकिन जब यह हमारे ग्राहकों मशीन पर चल रहा है citrix के साथ मुझे निम्न त्रुटि संदेश मिलता है:

सिस्टम। रिफ्लेक्शन। लक्ष्य इन्वोकेशन अपवाद: एक आमंत्रण के लक्ष्य से अपवाद फेंक दिया गया है। ---> System.UnauthorizedAccessException: पहुंच अस्वीकृत है (HRESULT से अपवाद: 0x80070005 (E_ACCESSDENIED)) --- अंतराल अपवाद स्टैक ट्रेस --- सिस्टम पर। डायरेक्टरी सेवाएं। डायरेक्ट्रीइंट्री। इन्वोक (स्ट्रिंग विधिनाम, ऑब्जेक्ट [] एजीआर) सिस्टम पर। डायरेक्टरी सर्विसेज। एसीसी प्रबंधन। एसडीयूटील्स। बदलेंपेजवर्ड ( System.DirectoryServices.AccountManagement.ADStoreCtx.ChangePassword (Authenticable प्रिंसिपल पी, स्ट्रिंग पुराना पासवर्ड, स्ट्रिंग newPassword) पर CitrixPWChangeBackend.ActiveDirectory.ChangePasswordForCurrentUser (स्ट्रिंग पुरानापीव, स्ट्रिंग newPw, बूलियन और त्रुटिउभारत, बूलियन और त्रुटि passwordword स्ट्रिंग और त्रुटि संदेश) पर System.DirectoryServices.AccountManagement.StartCtx.ChangePassword पर स्ट्रिंग पुराना पासवर्ड, स्ट्रिंग newPassword)। )

उस त्रुटि के कारण रेखा है:

UserPrincipal.Current.ChangePassword(oldPw, newPw);

"पुराना पीडब्लू" सही है, बिल्कुल


"जादू" का कारण उस उपयोगकर्ता के लिए एक नीति थी जिसने संपत्ति "UserCannotChangePassword" सच होने के कारण किया। कोई सीट्रिक्स विशिष्ट समस्या नहीं





change-password