Как я могу получить доменное имя машины (если машина действительно присоединена к домену? )?
И, конечно же, если машина не присоединена к домену, функция должна возвращать
null
, или] "."
Примечания:
функцияNetGetJoinInformation
Win32 возвращает устаревшее имя NetBIOS домена (например, AVATOPIA
), а не имя домена (например, avatopia.local
)
переменная среды USERDOMAIN
возвращает домен вошедшего в систему пользователя, который может отличаться от машины; а также возвращает унаследованное NetBIOS-имя домена (например, AVATOPIA
)
переменная среды USERDNSDOMAIN
возвращает доменное имя вошедшего в систему пользователя, которое может отличаться от машины
У Microsoft есть статья в базе знаний Как получить текущие имена пользователей и доменов в Windows NT, Windows 2000 или Windows XP, которая основана на получении токена безопасности пользователя и вызове LookupAccountSid.
АВАТОПИЯ
); а также возвращает домен вошедшего в систему пользователя, который может отличаться от машины.. Я также пытался использовать объект AD для привязки к интерфейсу IADs
домена:
IADs domain;
ADsGetObject("LDAP://rootDES", IDs, out domain);
Проблема с этим подходом заключается в том, что:
Второе обновление :
Просто чтобы было ясно, что я хочу: