Мой компьютер находится в домене (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;
}
}
}
Он работает точно так, как я хочу, и возвращает именно имя домена, как я хочу (когда я зарегистрирован как администратор). Если пользователь не является администратором домена, у меня есть исключение Access denied
.
Кто-нибудь знает, как получить домен даже у пользователей, не являющихся владельцами домена?
ПРИМЕЧАНИЕ. Я нашел это решение в Интернете System.Environment.UserDomainName;
, но он только дает мне часть имени домена.
т.е. мой домен: something.domain.com
и UserDomainName
возвращает только something
.