编程语言
首页 > 编程语言> > c#-.NET Core控制台应用程序中的Environment.UserDomainName等效项

c#-.NET Core控制台应用程序中的Environment.UserDomainName等效项

作者:互联网

我需要确定当前登录的Windows用户的域.
我没有在.NET Core中看到Environment.UserDomainName,也找不到任何替代方法.它藏在别处吗?

这不是System.Environment in .NET Core问题的重复,因为我在.NET Core中获取Environment类没有问题.我需要它缺少的特定属性UserDomainName.

解决方法:

不幸的是,Environment.UserDomainName不适用于.NET Core.

但是,.NET Core确实提供了Environment.GetEnvironmentVariable(),它允许您访问环境变量.由于USERDOMAIN环境变量可用于Windows,而HOSTNAME环境变量可用于Linux和Mac,因此如果是Windows,则可以调用Environment.GetEnvironmentVariable(“ USERDOMAIN”),如果是Linux / Mac,则可以调用Environment.GetEnvironmentVariable(“ HOSTNAME”).

本课程可能会有所帮助:

public static class Machine 
{
    public static string User(){
        return Environment.GetEnvironmentVariable("USERNAME") ?? Environment.GetEnvironmentVariable("USER");
    }

    public static string Domain(){
        return Environment.GetEnvironmentVariable("USERDOMAIN") ?? Environment.GetEnvironmentVariable("HOSTNAME");
    }
}

可以轻松获得用户名和域:
Machine.User();或Machine.Domain();

标签:net-core,console-application,c
来源: https://codeday.me/bug/20191026/1936747.html