Feedback

Aktuellen Benutzer ausgeben

Sprache: C#

Gibt den Aktuellen Benutzernamen aus. (string)
using System.Security.Principal;


namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            WindowsIdentity  identity = WindowsIdentity.GetCurrent();
            WindowsPrincipal principal = new WindowsPrincipal (identity);
            Console.WriteLine(principal.Identity.Name);
		}
	}
}
using System.Security.Principal;


namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            WindowsIdentity  identity = WindowsIdentity.GetCurrent();
            WindowsPrincipal principal = new WindowsPrincipal (identity);
            Console.WriteLine(principal.Identity.Name);
		}
	}
}

2 Kommentare

  1. Hi,

    eine Frage wieso diese Lösung oben und nicht diese Variante:
    [code]Console.WriteLine(string.Format(@“{0}{1}“, Environment.UserDomainName, Environment.UserName));[/code]

    … ich frage nur weil ich leider keinen Unterschied kenne und auf Erklärung hoffe bzw. einen Hinweis. 🙂
    Weil für mich ergibt es das gleiche Ergebnis…

  2. Das ergibt auch das gleiche. Die Unterschiede liegen aber darin, dass du das über Environment selbst zusammenbasteln musst, wobei hingegen zur entsprechenden Framework-Klasse für Benutzerinformationen die Methode den gesamten Name zurückgibt. Abgesehen davon ist es ja auch möglich bei der WindowsIdentity ein UserToker zu übergeben bzw. durch Impersonate andere Benutzernamen auslesen zu lassen. Aber für den aktuellen macht es kaum Unterschiede. Im Frameworkt führen viele Wege nach Rom 😉