Wiem, że poniższa funkcja zwraca bieżącą nazwę użytkownika systemu Windows w formacie domain \ nazwa_użytkownika.Jak uzyskać nazwę bieżącego użytkownika systemu Windows w formacie nazwa_użytkownika @ domena?
Convert.ToString(WindowsIdentity.GetCurrent().Name);
Ale jak mogę uzyskać nazwę użytkownika w formacie [email protected]
?
EDIT:
mam reagować w tej edycji, jak każdy, kto odpowiedział posiada taką samą podstawową ideę.
Z tego, co rozumiem, przetwarzanie nazwy z formatu domain\username
i tworzenie jej jako [email protected]
nie jest bezpieczne ani zalecane. Uważam, że tak jest, ponieważ nie ma gwarancji, że te dwie nazwy domen są takie same w różnych formatach. Na przykład w firmie, w której pracuję, część formatu domain
formatu domain\username
opiera się na wyodrębnianiu, ale w [email protected]
jest to nazwa firmy. Jest to coś, co wymaga wyszukiwania DNS.
Miałem nadzieję, że istnieje interfejs API, który wykonał to wyszukiwanie DNS. Sądzę, że powinienem umieścić te informacje w moim pierwotnym pytaniu. Przepraszam.
Używam C# w mojej aplikacji. –
Właściwość, której szukasz, to główna nazwa użytkownika (UPN). –
Spróbuj wyliczyć WindowsIdentity.GetCurrent(). Żądania, UPN mogą być dołączone. Jeśli nie, użyj P/Invoke, aby wywołać funkcję TranslateName. –