2010-04-27 6 views

Respuesta

18
System.Security.Principal.WindowsIdentity.GetCurrent().Name.ToString() 
+3

+1, pero en realidad no necesitarías llamar a 'ToString()' ya que 'Name' ya es de tipo cadena. –

+0

@ 0xA3: Buen punto - creo que me llevé un poco conmigo mismo :-) – codingbadger

10

Puede utilizar la propiedad Environment.UserDomainName para recuperar el dominio y Environment.UserName para recuperar el nombre de usuario:

Dim domainAndUserName As String _ 
    = Environment.UserDomainName & "\\" & Environment.UserName 
+2

Incorrecto. Environment.UserDomainName solo contiene el dominio, no el nombre de usuario. –

+0

@CERIQ: Lo siento, leí mal los documentos y corregí mi respuesta. Es extraño que todavía haya recibido votaciones al alza ... –

+1

Tienes demasiadas barras invertidas allí para VB.NET –

1

si está utilizando ASP.NET puede utilizar

HttpContext.Current.User.Identity.Name; 
1

WindowsIdentity.GetCurrent().Name

2

Environment.UserDomainName contai ns el nombre de dominio/computadora al que se une su cuenta. Environment.UserName contiene solo el nombre de usuario. Para obtener el resultado que busca, necesita concatenar las variables (Environment.UserDomainName & "\\" & Environment.UserName). Sin embargo, esto solo funciona bien en un contexto local, si usa este código en un sitio web, obtendrá el nombre de la cuenta bajo la cual se ejecuta su grupo de aplicaciones. En asp.net, use HttpContext.Current.User.Identity.Name en su lugar.

+0

Antes de unir el nombre de dominio y el nombre de usuario primero compruebe si el nombre de dominio no está vacío en el caso de los usuarios locales. – Alexander

Cuestiones relacionadas