2008-11-21 77 views
5

有没有一种方法可以确定(.NET优先)当前用户是域用户帐户还是本地用户帐户?确定当前用户是域还是本地用户?

提前 - 我不知道这是运行的域名,所以我不能只查找域\用户名v计算机\用户名。

部分答案可能是从代码中确定DOMAIN或COMPUTER名称。

[编辑]扩大对阿舍的答案代码片段将

private bool isCurrentUserLocalUser() 
{ 
    return Environment.MachineName == Environment.UserDomainName; 
} 
+0

我更改为使用区分大小写的比较的代码,因为Environment.UserDomainName在某些环境中返回小写名称(“一些-PC ')而Environment.MachineName是大写的('SOME-PC') – mistika 2017-03-06 18:31:37

回答

1

可以使用Environment.UserDomainName MSDN文档解释了在各种情况下该属性的确切行为(域/本地帐户)

您可以将此属性与其他属性(如Environment.MachineName)一起使用,以确定正在使用的用户帐户的类型。

注意域帐户是不一定的Active Directory(可以是Novell公司的Netware东西)

+1

THsi不起作用,因为UserDomainName也会为您提供工作组名称,这通常与计算机名称相同。 – 2012-01-12 12:25:57

0

你可以看一下用户全名,要么是<域名> \ <用户名>或<机器名> \ <用户名>分别为域和本地帐户。如果第一部分与域名匹配,那显然是一个域帐户,反之亦然。

+0

如何以编程方式找出域名是什么 - 我怎么知道它的域名而不是特定计算机的NetBIOS名称? – Ryan 2008-11-21 20:58:37

相关问题