我知道以下函數以域\用戶名格式返回當前Windows用戶的名稱。如何以username @ domain格式獲取當前windows用戶的名稱?
Convert.ToString(WindowsIdentity.GetCurrent().Name);
但是,如何獲取[email protected]
格式的用戶名?
編輯:
我回應在此編輯爲大家誰也說有相同的基本思想。
從我已經知道的,解析從domain\username
格式的名稱並將其構建爲[email protected]
不安全或建議。我相信這是因爲不能保證這兩個域名在不同格式中是相同的。例如,在我工作的公司中,domain\username
格式的domain
部分基於部署,但在[email protected]
中,它是公司名稱。這是需要DNS查找的事情。
我希望有一個API做了這個DNS查找。我想我應該把這些信息放到我原來的問題中。抱歉。
我在我的應用程序中使用C#。 –
您正在查找的屬性是用戶主體名稱(UPN)。 –
嘗試枚舉WindowsIdentity.GetCurrent()。聲明,可能包含UPN。如果沒有,使用P/Invoke來調用TranslateName函數。 –