2009-11-23 55 views

回答

7

您可以將名稱分割在「\」上並檢索第二項。

例如

System.Security.Principal.WindowsIdentity.GetCurrent().Name.Split('\\')[1] 

編輯: 你想使這個安全首先檢查反斜槓的存在 - 如果沒有一個,你只是想取的名字原樣。

+2

如果名稱中沒有「\」(如果機器是*不是域的一部分),該怎麼辦?你的代碼會崩潰.... –

+0

沒錯,我會添加一個註釋來澄清 – AdaTheDev

3

你爲什麼不修剪返回值,直到'\'達到, 下面的代碼做的伎倆

WindowsIdentity current = System.Security.Principal.WindowsIdentity.GetCurrent(); 
if(current!=null) 
{ 
    string name = current.Name; 
    string value = name.Substring(name.IndexOf('\\') + 1); 
}