Мой компьютер находится в домене (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
возвращает только что-то
.