首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

C# - GroupPrincipal.Getmembers(true)不返回域用户,替代方案是什么?

C#中的GroupPrincipal.GetMembers(true)方法用于获取指定组中的所有成员,包括递归获取子组的成员。然而,有时候该方法可能无法返回域用户,这可能是由于权限问题或其他原因导致的。

替代方案是使用System.DirectoryServices.AccountManagement命名空间中的UserPrincipal.GetAuthorizationGroups()方法来获取域用户。该方法返回用户所属的所有授权组,包括递归获取子组的成员。

以下是一个示例代码:

代码语言:txt
复制
using System.DirectoryServices.AccountManagement;

// 获取域用户的方法
public static List<UserPrincipal> GetDomainUsers()
{
    List<UserPrincipal> domainUsers = new List<UserPrincipal>();

    using (PrincipalContext context = new PrincipalContext(ContextType.Domain))
    {
        UserPrincipal userPrincipal = new UserPrincipal(context);
        PrincipalSearcher searcher = new PrincipalSearcher(userPrincipal);

        foreach (Principal result in searcher.FindAll())
        {
            if (result is UserPrincipal)
            {
                domainUsers.Add((UserPrincipal)result);
            }
        }
    }

    return domainUsers;
}

这个方法使用System.DirectoryServices.AccountManagement命名空间中的PrincipalContext和PrincipalSearcher类来搜索域中的用户。通过遍历搜索结果,将UserPrincipal类型的对象添加到列表中,最后返回该列表。

这种替代方案可以解决GroupPrincipal.GetMembers(true)方法无法返回域用户的问题,并且不依赖于特定的云计算品牌商。

注意:在使用该方法之前,需要确保你的应用程序具有足够的权限来访问域用户信息。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

.NET周报 【7月第1期 2023-07-02】

前段时间有位朋友微信上找到我,说他的程序崩溃了,也没找出是什么原因,然后就让朋友抓一个崩溃的dump让我看看。 老生常谈:值类型 V.S....,部署到 Windows 服务器 IIS 后,postman 可以直接访问到接口并正确返回,这并不意味着任务完成,毕竟接口嘛是要有交互的,最常见的问题莫过于跨了。...瞧上吗?...其他更新的 C# 支持、新用户的新 UI 默认值、每个项目的自定义颜色、可访问性改进、添加的结构视图过滤器和排序、Roslyn(源生成器)改进和模板、远程调试器,例如 ARM32 支持 【英文】Cysharp.../2023/06/27/open-vsx-registry.aspx 关于 Open VSX 注册表,它是 Visual Studio Marketplace 的替代方案

18420

C# 7.3新特性一览

对于方法组转换,那些返回类型与委托的返回类型不一致的候选方法会被从候选集中移除。 泛型约束:枚举、委托和非托管 自C# 2.0引入泛型以来,开发人员就一直在抱怨,无法把一个泛型类型指定为枚举。...这样声明的变量其作用是整个查询子句表达式。 最初增加这些限制只是因为“没有时间”。也许,这些限制缩短了了C# 7之前版本完工所需的测试时间。...栈分配Span 栈分配数组的一个安全替代方案是栈分配Span。消除指针,也就消除了缓冲区溢出的可能性。反过来,这意味着你可以使用它而不必把方法标记为不安全的。...对于方法组转换,那些返回类型与委托的返回类型不一致的候选方法会被从候选集中移除。 泛型约束:枚举、委托和非托管 自C# 2.0引入泛型以来,开发人员就一直在抱怨,无法把一个泛型类型指定为枚举。...栈分配Span 栈分配数组的一个安全替代方案是栈分配Span。消除指针,也就消除了缓冲区溢出的可能性。反过来,这意味着你可以使用它而不必把方法标记为不安全的。

1.2K30
  • 2022年Unity 面试题 |五萬字 二佰道| Unity面试题大全,面试题总结【全网最全,收藏一篇足够面试】

    为何大家都在移动设备上寻求U3D原生GUI的替代方案 46. 请简述如何在不同分辨率下保持UI的一致性 47....GC,避免对ArrayList进行遍历 for语句中初始化变量i的作用,循环体内部可见。...推荐修改由sharedMaterial返回的材质。如果你想修改渲染器的材质,使用material替代。 8. TCP/IP协议栈各个层次及分别的功能?...为何大家都在移动设备上寻求U3D原生GUI的替代方案 不美观,OnGUI很耗费时间,使用不方便 46....推荐修改由sharedMaterial返回的材质。如果你 想修改渲染器的材质,使用material替代。 8. 什么是渲染管道? 是指在显示器上为了显示出图像⽽经过的⼀系列必要 操作。

    23.3K1731

    官宣 .NET 6 RC (Release Candidate) 2

    我们从用户那里听说,将生产站点升级到.NET 6是既“无聊”(非事件)又“令人兴奋”(显著的性能改进)的。不出意外,我们相信RC2将继续保持这种趋势。...在很大程度上,C# 10是对现有概念和功能(如记录和模式)的进一步演变。它还包括一些特性——全局使用和文件作用的命名空间——可以帮助您简化代码并编写更少的样板文件。...WT.mc_id=dev 文件与命名空间声明 文件作用命名空间的声明是C# 10的另一个特性,旨在减少缩进和行数。...此功能的语法如下: namespace Foo; 它是传统三行语法的替代方案: namespace Foo { } 三行语法可以嵌套。单行语法不支持嵌套。每个文件只能有一个文件作用的声明。...新模板中使用了以下语言特性: 异步Main 顶级语句 Target-typed新表达式 global using指令 文件作用命名空间 可空引用类型 我们构建了所有这些功能,因为我们认为它们比之前的替代方案更好

    1.1K10

    C# 方法与参数 常见命名空间汇总 using的使用 main方法参数

    本文主要讲 C# 常见命名空间 using static 指令 && 调用静态方法 嵌套命名空间&&作用 别名 Main() 方法 ---- C# 常见命名空间 命名空间 作用 System...System.IO.Comoression  System.IO.Ports  System.Drawing 用于绘图、进行图像处理 System.Windows.Froms 包含构建用户界面和各类控件的类型...---- 嵌套命名空间&&作用 命名空间也有作用,离开作用的类型将无法使用。但命名空间的引入,不像变量的声明那么“任性”。...----  别名 C# 中,可以使用using指令为命名空间或类型取一个别名,别名将在文件全范围起替代作用。 最常见用途为消除两个同名类型的歧义和缩写名称。...方法中返回状态标识符。

    1.3K40

    2022年Unity面试题分享

    进行遍历 for语句中初始化变量i的作用,循环体内部可见。...知道Ref的深层原理是什么? ref修饰引用参数。参数必须赋值,带回返回值,又进又出 out修饰输出参数。...参数可以赋值,带回返回值之前必须明确赋值, 引用参数和输出参数不会创建新的存储位置 如果ref参数是值类型,原先的值类型数据,会随着方法里的数据改变而改变, 如果ref参数值引用类型,方法里重新赋值后...OnGui性能消耗大,每一次渲染都是一个DrawCall 在手游端都在寻求原生GUI的替代方案 ---- 5、一个场景放置多个carmera并同时处于活动状态,会发生什么 多个Camera渲染画面,...六、Lua语言和Xlua热更(已更新2021.3.8) ---- 1、Lua如何调用C# 三种方式 第一种:官方推荐 第二种:如果Resource文件下的Lua文件,使用Lua的Require函数即可

    4K11

    C#进阶系列——WebApi 接口参数不再困惑:传参详解上

    WebApi系列文章 C#进阶系列——WebApi接口测试工具:WebApiTestClient C#进阶系列——WebApi 跨问题解决方案:CORS C#进阶系列——WebApi身份认证解决方案:...Basic基础认证 C#进阶系列——WebApi接口传参不再困惑:传参详解 C#进阶系列——WebApi接口返回困惑:返回值类型详解 C#进阶系列——WebApi异常处理解决方案 C#进阶系列——WebApi...3、数组作为参数 一般get请求建议将数组作为参数,因为我们知道get请求传递参数的大小是有限制的,最大1024字节,数组里面内容较多时,将其作为参数传递可能会发生参数超限丢失的情况。...WebApi方法最好是加上请求的方式([HttpGet]/[HttpPost]/[HttpPut]/[HttpDelete]),不要偷懒,这样既能防止类似的错误,也有利于方法的维护,别人一看就知道这个方法是什么请求...我们来看看它默认的contentType是什么: ? 为了弄清楚原因,博主查了下http的Content-Type的类型。

    4.8K90

    NullReferenceException,就不应该存在!

    然而从真实用户或其他日志那里收集回来的数据是没有也不可能有这些信息的。...NullReferenceException 的替代方案 既然 NullReferenceException 没能给我们提供足够的信息,那么我们就自己来提供这些信息。...当然,还有一个替代方案,就是在 Console.WriteLine(_value.Length); 之前先对 _value 进行 null 判断。...对待 null,建议的约定 当了解了 NullReferenceException 的缺陷,再了解了其替代方案后,其实我们会发现一个问题: 其实多数时候根本就不应该存在 null null 带来了两个困惑...不要在方法中返回 null。如果你无法根据现有状态完成方法承诺的任务,请抛出具体的异常并给出真实的原因。

    1.1K10

    理解 CORS

    当你看到这个信息,就意味着响应失败了;但你依然能在浏览器开发工具的网络 tab 里看到返回数据 -- 这是什么情况呢?...CORS 机制是为了在认可用户发起的请求的同时,阻止那些恶意 JS;并在以下情况发起的 HTTP 请求时被触发: 一个不同的(比如从 example.com 的站点调用 api.com) 一个不同的子...关于“没那么简单”的请求,一个常见的例子是在请求中加入 cookie 或自定义头部 -- 如果浏览器发送了这样的请求且服务器没有正确响应的话,则只有预检调用会发送(包含额外的头部),而浏览器本应使用的真实的...这种情况下,其唯一合法值就是 true。 ? Access-Control-Allow-Methods 一个逗号分隔的、表示服务器将会支持的 HTTP 请求动词(如 GET, POST)列表。...另外的替代方法是使用 devServer.proxy(假设你用到了 webpack 做开发);或使用一个 CORS-as-a-service 解决方案,比如 https://cors-anywhere.herokuapp.com

    1K20

    Javascript基础回顾 之(一) 类型

    其实null == undefined就是硬性规定,ECMA规定它们做相等性测试的时候要返回true所以他们返回true了。就好像我们在C#里面重写了equlas 方法一样。...好像是译者加上去的,既然typeof(Object) 都返回 function了,为什么还说function不是一种数据类型呢?Object 和 function之间是什么关系呢?   ...那我们在上面所说的复杂类型Object,它又是什么呢?  ?   Object是function,但是 new Object() 则是 object。...那么有人可能会好奇,那么像Date, Regex, Arrary这些是什么类型呢 ?...关于function其实javascript是非常强大的一个功能,作用以及面向对象的一些知识也是和它息息相关的,我们下一篇就来看看作用的问题。谢谢大家的关注!

    40950

    Javascript基础回顾 之(一) 类型

    其实null == undefined就是硬性规定,ECMA规定它们做相等性测试的时候要返回true所以他们返回true了。就好像我们在C#里面重写了equlas 方法一样。...好像是译者加上去的,既然typeof(Object) 都返回 function了,为什么还说function不是一种数据类型呢?Object 和 function之间是什么关系呢?   ...那我们在上面所说的复杂类型Object,它又是什么呢?  ?   Object是function,但是 new Object() 则是 object。...那么有人可能会好奇,那么像Date, Regex, Arrary这些是什么类型呢 ?...关于function其实javascript是非常强大的一个功能,作用以及面向对象的一些知识也是和它息息相关的,我们下一篇就来看看作用的问题。谢谢大家的关注!

    71670

    基于 Data Mesh 构建分布式领域驱动架构的最佳实践

    集中式架构的一个优点是,很容易在不同的数据域中保持一致的用户体验,并确保用户能够将他们的心理模型从一个迁移到另一个。但是,我们的联合架构需要一种完全不同的方法。...然而,由于 XML 已经不再是主流,我们研究了替代方案——特别是目前 Confluent 支持的方案:Avro、JSON 和 Protocol Buffer(Protobuf)。...Saxo 最开始选择了 Avro,虽然情愿,但我们认识到,这会成为主要的推广障碍。...尽管我们确实贡献了一些修复(感谢 Matt Howlett 的支持),但 C# 和 Python 实现还是落后于 JVM,我们觉得,围绕 C# 实现获取支持会分散我们的注意力。...引用 引用(References )可以看成替代标识符,约束相对弱一些。例如,PaymentReference 可能是一个由客户提供的自由格式的文本字段。下面是一个例子: // 用户提供的引用。

    47520

    滴滴前端高频react面试题汇总_2023-02-27

    ⼀个布尔值,true表示会触发重新渲染,false表示不会触发重新渲染,默认返回true,我们通常利⽤此⽣命周期来优化React程序性能; render:更新阶段也会触发此⽣命周期; getSnapshotBeforeUpdate...默认情况下,它返回true。...如果确定在state或props更新后组件不需要在重新渲染,则可以返回false,这是一个提高性能的方法; componentWillUpdate:在shouldComponentUpdate返回true...组件是什么?类是什么?类变编译成什么 组件指的是页面的一部分,本质就是一个类,最本质就是一个构造函数 类编译成构造函数 在React中如何避免不必要的render?...shouldComponentUpdate 来决定是否组件是否重新渲染,如果希望组件重新渲染,返回 false 即可。

    1.2K20

    【案例】HTTP Cookie 的运行机制

    cookie 是什么 HTTP(Hypertext Transfer protocol,超文本传输协议) 有一个很重要的特点: 无状态性:这也就是说每个请求都是独立的,服务器不会记住之前的请求状态。...然后把设置的 cookie 信息通过 HTTP 响应返回给浏览器 浏览器接收到返回的 cookie 信息,并将其保存在内存或者硬盘中。...,然后返回相关的用户信息 一般来说,具有过期时间的 cookie 存储在硬盘中,方便浏览器关闭后仍然保存;而会话 cookie 存储在内存中,随着浏览器关闭而被删除。.../密码,然后设定 username 的 cookie 信息,并返回信息;路由 /api/same_origin_another_request 模拟登陆后,获取指定用户的资源信息(验证是否带上了 cookie...替代方案可有:session, localStorage 等,这里展开探讨。

    30020

    unity c#面试_spring面试题及答案

    引用类型包括:数组,用户定义的类、接口、委托,object,字符串,null类型,类。...2.C#中所有引用类型的基类是什么 C#基类Object 包名System 3.请简述ArrayList和List的主要区别 Unity3d游戏开发过程中很少见ArrayList,都是用的...Unity仅提供携程,让你可以安心订机票 14.Unity3D的协程和C#线程之间的区别是什么? 线程不安全 同一个时刻只有一个coroutinue运行,但线程可以并行执行,所谓多线程。...不考虑长度 18.矩阵相乘的意义及注意点 意义在于向量的变换,旋转,投影,平移 左乘和右乘,不满足交换律(这个答法比较高校书本式,缺少经验的说法) 19.为何大家都在移动设备上寻求U3D原生GUI的替代方案...推荐修改由sharedMaterial返回的材质。如果你想修改渲染器的材质,使用material替代

    1.3K20

    C#复习题 单项选择题

    构造函数可以声明返回类型。 B. 构造函数不可以用private修饰 C. 构造函数必须与类名相同         D. 构造函数不能带参数 25. C#程序的项目和解决方案的关系是( )。...用在方法的定义处,以指明该方法返回任何值的关键字是( ) A. static B. string C. void D. public 29....只有当用户按下回车键时,Read()和ReadLIne()方法才会返回 53. 在C#中定义一个数组,正确的代码为( )。...关于C#语言的基本语法,下列哪些说法是正确的?( ) A. C#语言使用using关键字来引用.NET预定义的命名空间 B. C#语言中使用的名称区分大小写 C....只有当用户按下回车键时,Read()和ReadLIne()方法才会返回 100.

    4.4K20

    u3d 100道面试题(包含答案)

    推荐修改由sharedMaterial返回的材质。如果你想修改渲染器的材质,使用material替代。 十一:请简述ArrayList和List之间的主要区别。...注意:C#中有lock这个关键字,以确保只有一个线程可以在特定时间内访问特定的对象 五十:Unity3D的协程和C#线程之间的区别是什么?...用在只关系方向,不关心大小的时候 五十三:矩阵相乘的意义及注意点 答:用于表示线性变换:旋转、缩放、投影、平移、仿射 注意矩阵的蠕变:误差的积累 五十四:为何大家都在移动设备上寻求U3D原生GUI的替代方案...所以C++专门增加了bool、true、false三个关键字以提供更安全的条件表达式。...七十二:C#的委托是什么?有何用处? 答:委托类似于一种安全的指针引用,在使用它时是当做类来看待而不是一个方法,相当于对一组方法的列表的引用。

    78431

    基于 Data Mesh 构建分布式领域驱动架构的最佳实践

    集中式架构的一个优点是,很容易在不同的数据域中保持一致的用户体验,并确保用户能够将他们的心理模型从一个迁移到另一个。但是,我们的联合架构需要一种完全不同的方法。...然而,由于 XML 已经不再是主流,我们研究了替代方案——特别是目前 Confluent 支持的方案:Avro、JSON 和 Protocol Buffer(Protobuf)。...Saxo 最开始选择了 Avro,虽然情愿,但我们认识到,这会成为主要的推广障碍。...尽管我们确实贡献了一些修复(感谢 Matt Howlett 的支持),但 C# 和 Python 实现还是落后于 JVM,我们觉得,围绕 C# 实现获取支持会分散我们的注意力。...引用 引用(References )可以看成替代标识符,约束相对弱一些。例如,PaymentReference 可能是一个由客户提供的自由格式的文本字段。

    65220

    通俗易懂,什么是.NET?什么是.NET Framework?什么是.NET Core?

    所以就类似于C/C#等这样的高级语言来说是区分平台的,而在于其背后支持的这个 翻译原理 是否能支持其它平台。 什么是托管代码,托管语言,托管模块?...像SqlServer就集成了CLR,可以使用任何 .NET Framework 语言编写存储过程、触发器、用户定义类型、用户定义函数(标量函数和表值函数)以及用户定义的聚合函数。...system.appdomainmanager(v=vs.85).aspx public AppDomainManager DomainManager { get; } 返回的配置信息...在sln中,定义了解决方案的版本及环境,如包含的项目,方案启动项,生成或部署的一些项目配置等,你可以通过修改或重新定义sln来更改你的整个解决方案。...而suo则包含于解决方案建立关联的选项,相当于快照,储存了用户界面的自定义配置、调试器断点、观察窗口设置等这样的东西,它是隐藏文件,可删除但建议不要删除。

    4.6K30
    领券