gpt4 book ai didi

c# - DirectoryEntry.Invoke() 在 "ChangePassword"调用时抛出错误

转载 作者:行者123 更新时间:2023-11-30 13:05:44 36 4
gpt4 key购买 nike

DirectoryEntryObject.Invoke("ChangePassword", new object[] { oldPassword, newPassword } ); 抛出以下错误:

"System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation.
---> System.Runtime.InteropServices.COMException (0x80020005): Type mismatch.
(Exception from HRESULT: 0x80020005 (DISP_E_TYPEMISMATCH))
--- End of inner exception stack trace ---
at System.DirectoryServices.DirectoryEntry.Invoke(String methodName, Object[] args)

这是否与 AD 中的任何设置有关,或者我遗漏了什么?

最佳答案

有一个标题为 Managing User Passwords 的 MSDN 页面其中有一些如何从 C# 调用 ChangePassword 的示例。具体示例显示如下语法:

usr.Invoke("ChangePassword", OldSecurelyStoredPassword, NewSecurelyStoredPassword);

我怀疑这是因为您正在调用它并传入一个对象数组,而不是显式传递两个字符串(您在评论中链接到的文档表明它希望传递两个字符串,一个作为输入参数和一个作为输出参数。试试这个:

var oldPassword = "TheOldPassword";
var newPassword = "TheNewPassword";
DirectoryEntryObject.Invoke("ChangePassword", oldPassword, newPassword);

关于c# - DirectoryEntry.Invoke() 在 "ChangePassword"调用时抛出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3371362/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com