将对象移动到 Active Directory 中的 OU
Move Object to an OU in Active Directory
我想将一个计算机对象移动到另一个 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"),
"admin@test.com","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
以及许多 Whosebug 问题。
更新:我是运行我在一个域中的应用程序并在另一个域中进行更改,它可能是问题原因
我在同一个域中发布了我的代码,它工作得很好
你在这个方法中有一个额外的括号:
computerObject.MoveTo(new DirectoryEntry("LDAP://OU=someOU,OU=parentOU,DC=test,DC=com"),"admin@test.com","somepassowrd",AuthenticationTypes.Secure));
应该是
computerObject.MoveTo(new DirectoryEntry("LDAP://OU=someOU,OU=parentOU,DC=test,DC=com","admin@test.com", "somepassowrd", AuthenticationTypes.Secure));
这当然可以解释异常,我很惊讶你的调试器没有捕捉到它,除非你是徒手写的,或者你把它误输入了你的问题?
我想将一个计算机对象移动到另一个 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"),
"admin@test.com","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 以及许多 Whosebug 问题。
更新:我是运行我在一个域中的应用程序并在另一个域中进行更改,它可能是问题原因
我在同一个域中发布了我的代码,它工作得很好
你在这个方法中有一个额外的括号:
computerObject.MoveTo(new DirectoryEntry("LDAP://OU=someOU,OU=parentOU,DC=test,DC=com"),"admin@test.com","somepassowrd",AuthenticationTypes.Secure));
应该是
computerObject.MoveTo(new DirectoryEntry("LDAP://OU=someOU,OU=parentOU,DC=test,DC=com","admin@test.com", "somepassowrd", AuthenticationTypes.Secure));
这当然可以解释异常,我很惊讶你的调试器没有捕捉到它,除非你是徒手写的,或者你把它误输入了你的问题?