我如何获得当前用户名在。net使用c# ?


当前回答

如果你在一个用户网络中,那么用户名将是不同的:

Environment.UserName
- Will Display format : 'Username'

而不是

System.Security.Principal.WindowsIdentity.GetCurrent().Name
- Will Display format : 'NetworkName\Username'

选择您想要的格式。

其他回答

环境文档。UserName似乎有点矛盾:

环境。用户名属性

在同一页上写着:

获取当前登录到Windows操作系统的用户的用户名。

AND

显示启动当前线程的用户名

如果您测试环境。UserName使用RunAs,它会给你RunAs用户帐户名,而不是最初登录Windows的用户。

如果你在一个用户网络中,那么用户名将是不同的:

Environment.UserName
- Will Display format : 'Username'

而不是

System.Security.Principal.WindowsIdentity.GetCurrent().Name
- Will Display format : 'NetworkName\Username'

选择您想要的格式。

String myUserName = Environment.UserName

这将为您提供输出- your_user_name

你可能还想尝试使用:

Environment.UserName;

像这样…:

string j = "Your WindowsXP Account Name is: " + Environment.UserName;

希望这对你有所帮助。

Use:

System.Security.Principal.WindowsIdentity.GetCurrent().Name

这将是登录名。