我如何获得当前用户名在。net使用c# ?
当前回答
String myUserName = Environment.UserName
这将为您提供输出- your_user_name
其他回答
使用实际登录用户的System.Windows.Forms.SystemInformation.UserName作为环境。UserName仍然返回当前进程正在使用的帐户。
我从已有的答案中尝试了几种组合,但它们给了我
DefaultAppPool
IIS APPPOOL
IIS APPPOOL\DefaultAppPool
最后我用了
string vUserName = User.Identity.Name;
这给了我实际的用户域用户名。
环境文档。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
推荐文章
- 实体框架核心:在上一个操作完成之前,在此上下文中开始的第二个操作
- 如何为构造函数定制Visual Studio的私有字段生成快捷方式?
- 为什么Visual Studio 2015/2017/2019测试运行器没有发现我的xUnit v2测试
- 如何使用JSON确保字符串是有效的JSON。网
- AppSettings从.config文件中获取值
- 通过HttpClient向REST API发布一个空体
- 如何检查IEnumerable是否为空或空?
- 自动化invokerrequired代码模式
- 没有ListBox。SelectionMode="None",是否有其他方法禁用列表框中的选择?
- 在c#代码中设置WPF文本框的背景颜色
- 在c#中,什么是单子?
- c#和Java中的泛型有什么不同?和模板在c++ ?
- c#线程安全快速(est)计数器
- 如何将此foreach代码转换为Parallel.ForEach?
- 如何在iis7应用程序池中设置。net Framework 4.5版本