Аут как администратор - PullRequest
       12

Аут как администратор

1 голос
/ 14 января 2011

Я сделал приложение, которое в основном проходит через всех активных пользователей в сети через DirectoryEntry, где я могу получить имя пользователя каждого компьютера (логин), это делается DE.UserName (DirectoryEntry).

Хорошо, пока все хорошо, теперь с моей проблемой; всякий раз, когда я пытаюсь получить его пароль, выдается исключение, в котором говорится, что мне нужны права администратора, чтобы получить пароль для каждого подключенного компьютера.

Я не владелец сети, поэтому мне интересно, есть ли способ авторизации в качестве администратора или изменения вашей группы на Администратора, или каким-либо образом обойти это, чтобы я мог получить доступ к его паролю?

Код:

 DirectoryEntry computers = new DirectoryEntry("WinNT://JBVAS");//The domain
        IEnumerator enumerator = computers.Children.GetEnumerator();
        while(enumerator.MoveNext())
        {
            DirectoryEntry entry = enumerator.Current as DirectoryEntry;
            Console.WriteLine("Username: {0}{1}Password: {2}",
                entry.Username, Environment.NewLine, entry.Password);
        }

1 Ответ

1 голос
/ 14 января 2011

Вы можете использовать олицетворение, чтобы ваш код (временный) выполнялся под привилегированным пользователем.

Несколько лет назад я написал простой в использовании класс подражания, вы можете найти его на CodeProject.com .

Примером может быть:

using ( new Impersonator( "myUsername", "myDomainname", "myPassword" ) )
{
   // code that executes under the new context
}

Поместите код Active Directory, которому требуются права администратора, в блок использования.

...