2
A
回答
2
我不知道關於.NET,但在Win32中,最簡單的方法是調用IsUserAnAdmin()。如果您需要更多的控制,你可以打開進程令牌與CheckTokenMembership爲每個需要檢查
編輯組檢查:見pinvoke.net爲.NET代碼示例(感謝chopeen)
1
你可以循環組就像我在這個答案做:
Determining members of local groups via C#
閱讀一些後,最簡單的事情將是使用System.DirectoryServices.AccountManagement
命名空間。下面是它如何被使用:
http://www.leastprivilege.com/SystemDirectoryServicesAccountManagement.aspx
樣品:
public static bool IsUserInGroup(string username, string groupname, ContextType type)
{
PrincipalContext context = new PrincipalContext(type);
UserPrincipal user = UserPrincipal.FindByIdentity(
context,
IdentityType.SamAccountName,
username);
GroupPrincipal group = GroupPrincipal.FindByIdentity(
context, groupname);
return user.IsMemberOf(group);
}
2
有一個Win32這個API你可以P/Invoke:IsUserAnAdmin
問題是更復雜的Vista ...看到這blog post。
0
如果你談論的是當前運行的用戶則
using System.Security.Principal;
WindowsIdentity identity = WindowsIdentity.GetCurrent();
WindowsPrincipal wp = new WindowsPrincipal(identity);
if (wp.IsInRole("BUILTIN\Administrators"))
// Is Administrator
else
// Is Not
如果沒有,那麼我預計其可能身份設置爲特定的用戶,但沒有研究如何。
相關問題
- 1. 檢查令牌是否屬於管理員組的成員
- 2. 我如何檢查如果登錄的用戶是管理員或管理員組的成員在javascript
- 3. 如何檢查用戶是否是管理員?
- 4. 如何檢查用戶是否是「管理員」
- 5. 檢查用戶是否是管理員/遊戲管理員[庫MySQLi]
- 6. 檢查用戶是否是特定Facebook羣組的成員
- 7. 如何檢查用戶是否在C#中的域管理員
- 8. 如何檢查當前用戶是管理員組的C#
- 9. 確定是否用戶是組成員
- 10. 檢查用戶是否屬於管理員組 - C#
- 11. 如何檢查用戶是否是Odoo中特定模塊的管理員?
- 12. 如何檢查管理員或用戶是否登錄odoo
- 13. 檢查用戶是否是laravel中的管理員
- 14. 如何檢查現有的用戶帳戶是否在管理員組中?
- 15. 檢查用戶是給定廣告組(ASP Classic)的成員
- 16. WIX:如何區分管理員組和內置管理員的成員
- 17. 檢查用戶是否是管理員(vb)
- 18. 檢查用戶是否是管理員或不在PHP中
- 19. 檢查管理員是否已登錄
- 20. 檢查用戶是否是遠程服務器上本地管理員組的成員
- 21. SQL查詢:給定成員不是成員是什麼組?
- 22. 如何檢查用戶是否是App Engine中的Google Apps域的管理員?
- 23. 如何根據用戶名/域名檢查用戶是管理員組的成員
- 24. 如何檢查用戶是否是該機器上的管理員
- 25. 如何檢查當前用戶是否是Realm SyncUser的管理員?
- 26. 檢查請求的用戶是否具有管理員權限
- 27. 使用before_filter檢查管理員或用戶是否登錄
- 28. Android用戶管理器:檢查用戶是否擁有者(管理員)
- 29. 檢查用戶是否是會員
- 30. 檢查進程用戶是否爲管理員C++
System.DirectoryServices.AccountManagement命名空間是.NET 3.5的新增功能,不是嗎? – 2008-09-10 09:04:21
鏈接文章中的第一句話: 「通過一些新的3.5東西,我偶然發現了一個名爲」System.DirectoryServices.AccountManagement「的新程序集 - 這引起了我的注意。」 – Espo 2008-09-11 05:36:10