- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试在 C# .NET 网络应用程序中创建广告组。该应用程序在具有创建组的用户权限的应用程序池中运行。如果我在以该用户身份登录后尝试创建一个组,它工作正常,但不是来自网络应用程序。这是相关代码:
Log.debug("Testing group creation (apptest).");
PrincipalContext gpc = new PrincipalContext(ContextType.Domain, "FOO", "OU=Groups,OU=Foo,OU=Bar,OU=Baz,DC=corp,DC=edu");
GroupPrincipal gp = new GroupPrincipal(gpc, "apptest");
gp.Description = "test";
gp.IsSecurityGroup = true;
gp.GroupScope = GroupScope.Global;
gp.Save();
Log.debug("Group created successfully.");
使用运行它的用户/应用程序池,我可以很好地查找组和用户。我可以枚举“组”OU 并查看其中的其他组。
如果我尝试使用上面的 OU 字符串,我在调用 gp.Save() 时得到“访问被拒绝”,这让我想知道这是否是一个问题,因为它作为 webapp 或与之相关的东西运行,因为它有效手动。或者我没有正确设置 GroupPrincipal 对象。
如果我尝试在 OU 字符串前面加上 CN=apptest,我会在创建 GroupPrincipal 时得到“服务器上没有这样的对象”,这让我认为上面的原始字符串可能是正确的。
理论上这段代码是否正确?
我发现的几乎所有示例都使用了 LDAP 和目录的东西,我不想使用,也不应该使用(团队想要使用更新的东西)。其他示例没有创建组。
更新:尝试Save(gpc)
也不起作用,并且不存在具有该名称的组。
最佳答案
这是一篇非常古老的帖子,但我自己也在寻找答案,对我有用的是完全按照帖子中指定的方式进行操作,但主体上下文的创建方式除外。这就是我创建主体上下文的方式:
new PrincipalContext(ContextType.Domain, serverName, userWithAccess, userWithAccessPassword);
我没有检查它是否适用于 4.5,因为我不需要它。
关于c# - 如何在 C# .NET 4.5 中使用 GroupPrincipal 创建 AD 组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21338711/
我正在尝试重命名一个组。我的代码如下所示 PrincipalContext context = new PrincipalContext(ContextType.Machine); GroupPrin
我需要按以下格式列出特定本地组中的所有用户:“域\用户名”。我可以为组提取 GroupPrincipal 对象的集合,但我不知道如何以所需格式获取用户。 GroupPrincipal 没有属性域。 以
在我们的环境中有两个 AD 域:DomainA 和 DomainB。有一种从 DomainB 到 DomainA 的信任方式。 我们正在使用以下代码从域中的服务器列出来自域 A 的 AD 组的所有用户
我使用 查询特定域中的所有安全组 PrincipalSearchResult results = ps.FindAll(); 其中 ps 是 PrincipalSearcher。 然后我需要迭代结果(
我有一个函数可以检查一个组是否是一个组的成员。我有 2 个函数变体,都没有按预期工作: public bool IsGroupGroupMember(GroupPrincipal gp, GroupP
我正在尝试按组名获取所有用户并将其显示在 Sharepoint Web 部件中。 adGroupName 类似 = "CompanyGroup"。 GroupPrincipal grp = Group
因此,我正在尝试通过递归枚举 AD 组成员资格来取得进展。目前我有... PrincipalContext ctx = new PrincipalContext(ContextType.Domain,
我正在尝试使用 GroupPrincipal(System.DirectoryServices.AccountManagement 命名空间的一部分)来填充字符串类型的列表,因此我可以检查是否有用户是
我有以下 C# 代码,可以将用户添加到现有组。现在每次我尝试将用户添加到组时都会抛出以下错误: Unable to cast COM object of type 'System.__ComObjec
我想扩展 GroupPrincipal 类来处理一些自定义属性: using System.DirectoryServices.AccountManagement; [DirectoryRdnPref
将此代码部署到标识为应用程序池用户的 Web 应用程序时,以下代码会引发未知的 COM 异常。调用 FindByIdentity 方法时发生异常。 System.Runtime.InteropServ
我正在使用 System.DirectoryServices.AccountManagement 中的 GroupPrincipal 类在 Active Directory 中创建和更新组。创建和更新
为什么会 GroupPrincipal group = GroupPrincipal.FindByIdentity(getPrincipalContext(),
我有一个小组,我们称它为 GotRocks。我正在尝试获取其所有成员,但在 DirectoryEntry 和 AccountManagement 之间我得到的结果在计数方面截然不同。以下是按成员检索方
我正在使用 System.DirectoryServices.AccountManagement命名空间类来管理多个组的成员资格。这些团体控制着我们打印会计系统的人口,其中一些非常庞大。我在从这些大组
我在域中使用方法 UserPrincipal.Current.ToString() 来获取当前登录域用户的有效域。但是当我在一个字符串中显示它时,它在 IIS 服务器中托管时出现错误: Unable
我正在尝试创建一个这样的委托(delegate)人: PrincipalContext pc = new PrincipalContext(ContextType.Machine); GroupPri
这与其说是一个问题,不如说是给遇到同样问题的任何人的信息。 出现以下错误: System.DirectoryServices.AccountManagement.PrincipalOperationE
我正在尝试在 C# .NET 网络应用程序中创建广告组。该应用程序在具有创建组的用户权限的应用程序池中运行。如果我在以该用户身份登录后尝试创建一个组,它工作正常,但不是来自网络应用程序。这是相关代码:
我正在使用 System.DirectoryServices.AccountManagement查询用户,然后查找该用户的组。 var _principalContext = new Principa
我是一名优秀的程序员,十分优秀!