c# - 如何使用托管代码获取本地计算机上的所有组(无 P/Invoke)
问题描述
所以我一直在寻找这个问题的答案,似乎我遇到的一切都是针对 Active Directory 或类似的东西。对于本地机器,没有这方面的示例。
基本上这里的目标是获取系统中的所有用户组。如果您启动计算机管理,您会看到相同的内容,遍历系统工具 > 本地用户和组 > 组
解决方案
using (PrincipalContext context = new PrincipalContext(ContextType.Machine))
{
using (GroupPrincipal groupPrincipal = new GroupPrincipal(context))
{
groupPrincipal.Name = "*";
PrincipalSearcher principalSearcher = new PrincipalSearcher();
principalSearcher.QueryFilter = groupPrincipal;
PrincipalSearchResult<Principal> groupList = principalSearcher.FindAll();
foreach (Principal group in groupList)
{
// Do something with info
}
}
}
推荐阅读
- c++ - c++11/14/17 等价于 ltoa/itoa 的 C 函数是什么?
- node.js - Running Node.js HTTPS server without providing SSL certificate?
- c# - 如何在c#中分别存储字符串数组的组成部分
- android - Glide - load audio cover art using custom MediaLoader and MetadataRetriever
- sql - 我想在oracle中一个接一个地写多个查询结果
- java - Why it says the file is empty?
- c++ - Logic behind order of memory allocation on run-time stack
- javascript - 如何将数组从php传递给ajax成功函数?
- c# - 如何在顶部导航栏上显示标题名称而不是 xamarin 表单外壳中的汉堡图标
- spring - Spring Feign 不压缩响应