Я знаю, что следующая функция возвращает имя текущего пользователя Windows в формате домен\имя пользователя.
Convert.ToString( WindowsIdentity.GetCurrent().Name );
Но как мне получить имя пользователя в формате username@domain
?
РЕДАКТИРОВАТЬ:
Я отвечаю в этом редактировании, поскольку все, кто ответил, имеют одну и ту же основную идею.
Из того, что мне дали понять, разбор имени из формата domain\username
и построение его как username@domain
небезопасен и не рекомендуется. Я считаю, что это так, потому что нет никакой гарантии, что два доменных имени будут одинаковыми в разных форматах. Например, в компании, где я работаю, часть domain
формата domain\username
основана на отделе, а в username@domain
это название компании. Это то, что требует поиска DNS.
Я надеялся, что существует API, который выполняет этот поиск DNS. Думаю, я должен был поместить эту информацию в свой первоначальный вопрос. Извиняюсь.
WindowsIdentity.GetCurrent().Claims
. - person Tony Vitabile   schedule 29.08.2012WindowsIdentity.GetCurrent().Name
- person Cullub   schedule 26.09.2014Environment.UserDomainName
иEnvironment.UserName
- person Pavel Cermak   schedule 29.09.2014