在 C++ 中使用 setInfo() 会导致E_ADS_INVALID_USER_OBJECT
Using setInfo() in C++ results in E_ADS_INVALID_USER_OBJECT
我正在尝试使用C++中的setInfo((函数对Windows AD中的用户电子邮件字段进行一些更改。我正在制作一个导出到Windows服务的DLL。但是 setInfo(( 不断返回:
E_ADS_INVALID_USER_OBJECT
如果我将完全相同的代码编译为 EXE 并在命令行中运行它,一切正常。但是当导出 DLL 并调用 setInfo(( 时,它会返回上述错误。这是我代码的一部分:
IADsUser *pUser = NULL;
RESULT hr = CoInitialize(0);
VARIANT var;
hr = ADsGetObject(L"LDAP://CN=Foo Bar,CN=Users,DC=mydomain,DC=com", IID_IADsUser, (void**) &pUser);
//hr = ADsOpenObject(L"LDAP://CN=Foo Bar,CN=Users,DC=mydomain,DC=com", NULL, NULL, ADS_SECURE_AUTHENTICATION, IID_IADsUser, (void**) &pUser);
VariantInit(&var);
V_BSTR(&var) = SysAllocString(L"foobar@email.com");
V_VT(&var) = VT_BSTR;
hr = pUser->Put(CComBSTR("mail"), var);
hr = pUser->SetInfo();
我能够成功与LDAP绑定,绑定也适用于:
ADsOpenObject((
当我在ADsOpenObject中添加域管理员凭据时,setInfo((可以工作..但我不想为此使用用户名/密码。有没有办法在 DLL 中使用 setInfo(( 而不在代码中提供凭据?
此外,IADsUser Get 函数无需提供域管理员的凭据即可工作。是读/写问题吗?任何帮助不胜感激!
如果在绑定到 AD 时未显式提供用户名和密码,Windows 将使用进程的安全上下文进行登录。 对于作为本地系统或网络服务运行的服务,这意味着它使用计算机的 AD 帐户登录。
如果更改 AD 中的权限以授予对计算机帐户的必要访问权限,它将起作用。 (计算机帐户的用户名是附加美元符号的计算机名称。
相关文章:
- 如何解决"invalid conversion from 'char' to 'const char*'"
- 如何处理 c++ 中类实现中的"invalid use of non-static data member"?
- C++ "error: invalid use of void expression"
- 收到错误"invalid use of non-static data member 'stu::n' "
- Poloniex API "Invalid command" c++ libcurl
- C++模板错误:"invalid explicitly-specified argument for template parameter"
- SDL_CreateTextureFromSurface() "Invalid texture"错误?
- C++ "Invalid use of 'this' in non-member function" ,
- 为什么gmp会在这里与"invalid next size"重新定位一起崩溃?
- 继承类时"invalid use of incomplete type ‘class tree_node_t’"
- 为什么我会"Invalid read of size 8"?(瓦尔格林德)
- "fast"或"normal"在"free(): invalid next size (fast)"中是什么意思?
- 如何在Arduino程序中解决"invalid operands of types"?
- 如何'Invalid conversion'和'no match for operator'更正这些 c++ 错误
- 访问函数变体时"Invalid conversion"错误
- 马洛克会在 C++17 年返回"invalid pointer value"吗?
- 出现这种错误的原因是什么"invalid use of non-static data member "
- 指向对象生存期之外的已分配内存的指针是"invalid pointer[s]"还是"pointer[s] to an object"?
- 模板类和'invalid use of incomplete type'错误
- "invalid use of incomplete type" .解决循环依赖关系