问题标签 [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.
c# - 获取用户 SID
我正在编写一项服务,并且我正在尝试获取已登录用户的 sid,但无论出于何种原因它都无法正常工作。它只返回 {S-1-5-18}。但是,如果我创建一个快速控制台应用程序,它就可以正常工作。
我尝试了两种方法:
也:
他们在我的服务中都有同样的影响。他们都只返回 {S-1-5-18}。然而在控制台应用程序中,它们都返回完整的用户 sid。
这可能是什么原因造成的?
c# - 我可以添加要在 UserPrincipal 中加载的 Active Directory 属性吗?
使用 DirectorySearcher,我们可以指定在 AD 中搜索时可以加载哪些属性。
我有兴趣加载msDS-PrincipalName属性。这可能吗?
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后,我得到了错误。
可能是什么原因?
c# - 如何从 UserPrincipal 获取帐户名称?
我在我的一个 Winforms 应用程序中使用 Active Directory 登录。我得到一个UserPrincipal
对象,但我不确定如何从该对象中获取正确的帐户名?我可以看到有一个SamAccountName
与我的帐户名称相同的名称,但它指出这是针对旧版本的 Windows。那么如何获得正确的帐户名称而不是旧的或新的 Windows 系统呢?
这是我用来获取对象的代码
c# - 如何将 UserPrincipal 与 WindowsIdentity 进行比较?
根据这篇文章,使用 UserPrincipal SamAccountName 将用户绑定到 Windows 帐户时(绑定保存在数据库中)。然后在登录时,我需要根据登录的 Windows 帐户检查这个绑定的用户(来自数据库),这是通过 WindowsIdentity objeckt 完成的。
问题是 WindowsClient.Name 将声明 Group\SamAccountName 而不仅仅是 SamAccount?使用该组会很好,但 UserPrincipal 似乎没有返回这个?
那么我应该如何匹配?我应该只删除 WindowsClient.Name 中的组,还是有办法将它添加到 UserPrincipal 中?
vb.net - Active Directory 搜索(PrincipalSearcher)尾随通配符超慢
我在域活动目录中搜索,使用尾随通配符时速度很慢。
有没有一种有效地做到这一点的好方法?最后的通配符几乎立即起作用。
这里是示例代码:
谢谢您的帮助。
c# - 获取用户所属的所有 Active Directory 组
我正在寻找一种简单的方法来获取给定用户所属的所有 Active Directory 组。 中有两种方法UserPrincipal
,但都不符合此要求:
- GetGroups():返回所有组,但不递归:
此方法仅返回委托人直接所属的组;不执行递归搜索。
- GetAuthorizationGroups():递归工作,但仅返回安全组(无通讯组)
此函数仅返回属于安全组的组;不返回通讯组。
不幸的是,我找不到类似GetAllGroups()
or的东西GetDistributionGroups()
。是否有一个简短的解决方案来递归获取安全和通讯组?
c# - 使用 UserPrincipal 和 PrincipalCotext 类时出现错误“服务器无法运行”
我已经看到了很多关于这个问题的答案,但似乎没有一个适合我的。我在 AD 身份验证方面非常苦恼。情况看起来像这样。
我们洞穴三个域控制器。我们想连接正确的,这样我们就不会得到这个异常。情况是这样的:在我的本地机器上,我没有遇到任何问题,但是当我每次通过 AD 进行身份验证时部署到服务器上的 IIS 时,我都会收到此错误。这是我正在使用的代码。这是在我进行了几次更正检查以及来自 google 和 stackoverflow 的信息之后:
这是我获取 UserPrincipal 的地方,以便我有一些关于组的用户信息和类似的东西:
当我查看日志路径时,似乎这个问题不是来自 PrincipalContext,而是来自 UserPrincipal。关于 AD 有很多我不知道的事情,但这是我尝试过的:
- 将 IP 地址作为参数传递
- 传递您在代码中看到的域名
- 我也尝试过传递我实际上从控制器变量中获得的域控制器的 IP 地址。
似乎没有任何效果。正如我所提到的,我们有三个域 alfa。比方说,贝塔,伽玛。无论我尝试什么,我总是得到他试图连接到阿尔法的例外。有任何想法吗?很抱歉这个问题很长,但我尽量做到最具体。我还可以告诉您,当管理员将此 alfa 控制器添加到防火墙时,问题就会消失,但这并不好。我们依赖于这个控制器将永远存在的事实,但是当它死亡时该怎么办?我想让我的应用程序在那一刻说防弹:)
附言。我不想使用 DirectoryEntry 方法,因为它很痛苦,因为我必须知道所有查询内容等。如果这是唯一的方法,那么我将不胜感激一些简单的教程,也许会逐步解释这一点。
c# - 为新创建的用户编辑注册表值
我有一个 .NET 应用程序,它可以像这样创建一个新的本地用户:
接下来,我想为该用户设置一些注册表值。为此,我需要用户的 SID:
并创建一个新的子项:
但是,我在调用 CreateSubKey 时收到一个 IOException,告诉我参数无效。发生这种情况是因为该用户的子项在用户第一次登录之前还不存在。如果我在以新用户身份登录之前检查 regedit(在管理员权限下),我可以看到 HKEY_Users 下不存在 SID。如果我以新用户身份登录,然后以原始用户身份注销并重新登录并刷新 regedit,则新 SID 存在。
我的问题是:有没有办法为尚未登录的用户添加子项?我想避免必须以新用户身份登录,然后在此过程中途退出。