Переместить объект в подразделение в Active Directory

Я хочу переместить объект компьютера в другое подразделение. Я подключен к другому домену и всегда получаю исключение типа 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 и множеству вопросов о переполнении стека.

Обновление: я запускаю свое приложение в одном домене и делаю изменения в другом домене, это может быть причиной проблемы

2 ответа

Решение

Я опубликовал свой код в том же домене, и он работал просто отлично

У вас есть лишние скобки в этом методе:

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));

Это, безусловно, объясняет исключение, я удивлен, что отладчик не уловил его, если вы не пишете это от руки, или, возможно, вы неправильно набрали его в своем вопросе?

Другие вопросы по тегам