2008-11-21 119 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

相關問題