domingo, 25 de enero de 2009

Como saber el SID del usuario en Visual Basic .Net

Cada usuario que tenemos en Windows tiene un SID (un identificador) que hace que el usuario sea único en el sistema. Básicamente, se trata de un número enorme que es el que se almacena, entre otros lugares, en el registro de Windows bajo la rama HKEY_USERS. ¿Es posible conocer el SID del usuario actual desde Visual Basic .Net?

Utilizando la clase System.Security tenemos acceso a información sobre el usuario con el que ejecutamos el programa de .Net. Un pequeño ejemplo:

  Dim UserIdentityInfo As System.Security.Principal.WindowsIdentity
Dim strMsg As String

UserIdentityInfo = System.Security.Principal.WindowsIdentity.GetCurrent()

strMsg = "User Name: " & UserIdentityInfo.Name & vbCrLf

strMsg = strMsg & " Token: " & UserIdentityInfo.Token.ToString() & vbCrLf

strMsg = strMsg & " Authenticated: " & UserIdentityInfo.AuthenticationType & vbCrLf

strMsg = strMsg & " System: " & UserIdentityInfo.IsSystem & vbCrLf

strMsg = strMsg & " Guest: " & UserIdentityInfo.IsGuest & vbCrLf

strMsg = strMsg & " Anonymous: " & UserIdentityInfo.IsAnonymous & vbCrLf
strMsg = strMsg & " SID:" & UserIdentityInfo.User.Value

MessageBox.Show(strMsg)

No hay comentarios: