Получить имя домена

Мой компьютер находится в домене (Active Directory), и мне нужно динамически получать доменное имя. Я нашел в Интернете следующий код:

SelectQuery query = new SelectQuery("Win32_ComputerSystem");
using (ManagementObjectSearcher searcher = new ManagementObjectSearcher(query))
{
    foreach (ManagementObject mo in searcher.Get())
    {
        if ((bool)mo["partofdomain"])
        {
            this.Domain = mo["domain"].ToString();
            break;
        }
    }
 }

Он работает именно так, как я хочу, и возвращает именно то имя домена, которое мне нужно (когда я зарегистрирован как администратор). Если пользователь не является администратором домена, у меня есть исключение Доступ запрещен .

Кто-нибудь знает, как получить домен даже с пользователями, не являющимися администраторами домена?

ПРИМЕЧАНИЕ: Я нашел это решение в Интернете System.Environment.UserDomainName; , но оно дает мне только часть имени домена.

Т.е. мой домен: something.domain.com а UserDomainName возвращает только что-то .

38
задан Gareth 29 September 2015 в 13:57
поделиться