问题标签 [userprincipal]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1629 浏览

c# - 获取用户 SID

我正在编写一项服务,并且我正在尝试获取已登录用户的 sid,但无论出于何种原因它都无法正常工作。它只返回 {S-1-5-18}。但是,如果我创建一个快速控制台应用程序,它就可以正常工作。

我尝试了两种方法:

也:

他们在我的服务中都有同样的影响。他们都只返回 {S-1-5-18}。然而在控制台应用程序中,它们都返回完整的用户 sid。

这可能是什么原因造成的?

0 投票
1 回答
179 浏览

c# - 我可以添加要在 UserPrincipal 中加载的 Active Directory 属性吗?

使用 DirectorySearcher,我们可以指定在 AD 中搜索时可以加载哪些属性。

我有兴趣加载msDS-PrincipalName属性。这可能吗?

0 投票
0 回答
875 浏览

c# - PrincipalContext 和错误值无效

我有一个带有代码的 WCF 服务:

我有 3 个不同的测试环境:

1:IIS 8.5 .NET v4.5 应用程序池,Win 8.1, strDomain = "testdomen1" name = "testdomen1\testuser"-环境没有错误。

2:IIS 7.5 .NET v4.5 应用程序池,Win Server 2008 r2,strDomain = "testdomen1", name = "testdomen1\testuser"--环境没有错误。

3:IIS 8.5 .NET v4.5 应用程序池,Win 8, strDomain = "testdomen2" name = "testdomen2\testuser2"-环境有错误。在线上

如果我对这一行使用 Debug>BreakPoint 并使用“Add Watch”或“Quick Watch”,我会得到一个结果。但是按F10后,我得到了错误。

可能是什么原因?

0 投票
1 回答
755 浏览

c# - 如何从 UserPrincipal 获取帐户名称?

我在我的一个 Winforms 应用程序中使用 Active Directory 登录。我得到一个UserPrincipal对象,但我不确定如何从该对象中获取正确的帐户名?我可以看到有一个SamAccountName与我的帐户名称相同的名称,但它指出这是针对旧版本的 Windows。那么如何获得正确的帐户名称而不是旧的或新的 Windows 系统呢?

这是我用来获取对象的代码

0 投票
1 回答
1678 浏览

c# - 如何将 UserPrincipal 与 WindowsIdentity 进行比较?

根据这篇文章,使用 UserPrincipal SamAccountName 将用户绑定到 Windows 帐户时(绑定保存在数据库中)。然后在登录时,我需要根据登录的 Windows 帐户检查这个绑定的用户(来自数据库),这是通过 WindowsIdentity objeckt 完成的。

问题是 WindowsClient.Name 将声明 Group\SamAccountName 而不仅仅是 SamAccount?使用该组会很好,但 UserPrincipal 似乎没有返回这个?

那么我应该如何匹配?我应该只删除 WindowsClient.Name 中的组,还是有办法将它添加到 UserPrincipal 中?

0 投票
1 回答
553 浏览

c# - 带有重音符号/变音符号的 C# UserPrincipalName

在 MVC 应用程序的某个点,我搜索 Active Directory 以获取包含该模式的用户帐户。问题是,在我的公司,一些用户的 UserPrincipalName 上有口音/变音符号,当我进行搜索时,这些用户不存在。但是,如果我在没有重音的情况下进行搜索,应用程序会找到这些用户。

我已经尝试将字符串转换为 Unicode,但不起作用。我用过this , this , this和其他一些我找不到的东西。

0 投票
1 回答
445 浏览

vb.net - Active Directory 搜索(PrincipalSearcher)尾随通配符超慢

我在域活动目录中搜索,使用尾随通配符时速度很慢。

有没有一种有效地做到这一点的好方法?最后的通配符几乎立即起作用。

这里是示例代码:

谢谢您的帮助。

0 投票
1 回答
1248 浏览

c# - 获取用户所属的所有 Active Directory 组

我正在寻找一种简单的方法来获取给定用户所属的所有 Active Directory 组。 中有两种方法UserPrincipal,但都不符合此要求:

  • GetGroups():返回所有组,但不递归:

    此方法仅返回委托人直接所属的组;不执行递归搜索。

  • GetAuthorizationGroups():递归工作,但仅返回安全组(无通讯组)

    此函数仅返回属于安全组的组;不返回通讯组。

不幸的是,我找不到类似GetAllGroups()or的东西GetDistributionGroups()。是否有一个简短的解决方案来递归获取安全和通讯组?

0 投票
0 回答
516 浏览

c# - 使用 UserPrincipal 和 PrincipalCotext 类时出现错误“服务器无法运行”

我已经看到了很多关于这个问题的答案,但似乎没有一个适合我的。我在 AD 身份验证方面非常苦恼。情况看起来像这样。

我们洞穴三个域控制器。我们想连接正确的,这样我们就不会得到这个异常。情况是这样的:在我的本地机器上,我没有遇到任何问题,但是当我每次通过 AD 进行身份验证时部署到服务器上的 IIS 时,我都会收到此错误。这是我正在使用的代码。这是在我进行了几次更正检查以及来自 google 和 stackoverflow 的信息之后:

这是我获取 UserPrincipal 的地方,以便我有一些关于组的用户信息和类似的东西:

当我查看日志路径时,似乎这个问题不是来自 PrincipalContext,而是来自 UserPrincipal。关于 AD 有很多我不知道的事情,但这是我尝试过的:

  1. 将 IP 地址作为参数传递
  2. 传递您在代码中看到的域名
  3. 我也尝试过传递我实际上从控制器变量中获得的域控制器的 IP 地址。

似乎没有任何效果。正如我所提到的,我们有三个域 alfa。比方说,贝塔,伽玛。无论我尝试什么,我总是得到他试图连接到阿尔法的例外。有任何想法吗?很抱歉这个问题很长,但我尽量做到最具体。我还可以告诉您,当管理员将此 alfa 控制器添加到防火墙时,问题就会消失,但这并不好。我们依赖于这个控制器将永远存在的事实,但是当它死亡时该怎么办?我想让我的应用程序在那一刻说防弹:)

附言。我不想使用 DirectoryEntry 方法,因为它很痛苦,因为我必须知道所有查询内容等。如果这是唯一的方法,那么我将不胜感激一些简单的教程,也许会逐步解释这一点。

0 投票
1 回答
734 浏览

c# - 为新创建的用户编辑注册表值

我有一个 .NET 应用程序,它可以像这样创建一个新的本地用户:

接下来,我想为该用户设置一些注册表值。为此,我需要用户的 SID:

并创建一个新的子项:

但是,我在调用 CreateSubKey 时收到一个 IOException,告诉我参数无效。发生这种情况是因为该用户的子项在用户第一次登录之前还不存在。如果我在以新用户身份登录之前检查 regedit(在管理员权限下),我可以看到 HKEY_Users 下不存在 SID。如果我以新用户身份登录,然后以原始用户身份注销并重新登录并刷新 regedit,则新 SID 存在。

我的问题是:有没有办法为尚未登录的用户添加子项?我想避免必须以新用户身份登录,然后在此过程中途退出。