将对象移至 Active Directory 中的 OU

问题描述 投票:0回答:3

我想将计算机对象移动到另一个 OU 我已连接到另一个域,但我总是收到 ComException 类型的异常

"A referral was returned from the server"
并且该对象永远不会移动!

        try
        {
            //I get the exception here
            computerObject.MoveTo(new DirectoryEntry("LDAP://OU=someOU,OU=parentOU,DC=test,DC=com"));
            computerObject.CommitChanges();
        }
        catch (InvalidOperationException inOp)
        {
            //log 
        }
        catch (COMException comEx)
        {
            //log 
        }

        //joinPath.Close();
        finally
        {
            computerObject.Close();
        }

为了进行故障排除,我稍微更改了代码,但它再次不起作用。

computerObject.MoveTo(new DirectoryEntry("LDAP://OU=someOU,OU=parentOU,DC=test,DC=com"),
                      "[email protected]","somepassowrd",AuthenticationTypes.Secure));

新异常的类型为 ComException

"Logon failure: unknown user name or bad password."
我检查了活动目录中是否存在 OU 并且我有足够的权限。

我在这里关注了 Microsoft 文档 https://msdn.microsoft.com/en-us/library/ms180856(v=vs.90).aspx 以及许多 stackoverflow 问题。

更新:我正在一个域中运行我的应用程序并在另一个域中进行更改,这可能是问题的原因

c# active-directory ldap directoryservices ou
3个回答
0
投票

我在同一个域中发布了我的代码,它工作得很好


0
投票

此方法中有一个额外的括号:

computerObject.MoveTo(new DirectoryEntry("LDAP://OU=someOU,OU=parentOU,DC=test,DC=com"),"[email protected]","somepassowrd",AuthenticationTypes.Secure));

应该是

computerObject.MoveTo(new DirectoryEntry("LDAP://OU=someOU,OU=parentOU,DC=test,DC=com","[email protected]", "somepassowrd", AuthenticationTypes.Secure));

这肯定会解释这个异常,我很惊讶你的调试器没有捕获它,除非你徒手编写它,或者你可能在你的问题中错误地输入了它?


0
投票

当我尝试移动从另一个域连接的 OU 时,我遇到了同样的问题。将 FQDN 从域添加到路径有帮助:

"LDAP://domainFqdn/OU=someOU,OU=parentOU,DC=test,DC=com"
© www.soinside.com 2019 - 2024. All rights reserved.