c# 事件目录临时组成员身份?

标签 c# active-directory ldap ttl adgroup

有什么方法可以在一个准确的时间将用户添加到组中,然后自动将用户从组中删除?
例如。: CN=testuser1CN=testgroup1
现在我想将 CN=testuser1 添加到 CN=testgroup1 1 天。
在那 1 天之后,用户应该离开(不应再是该组的成员)CN=testgroup1 自动
这可能与 System.DirectoryServices.AccountManagement;, System.DirectoryServices; 或者除了 Powershell 脚本之外还有其他解决方案吗?

提示:我不想要一个带有 powershell 脚本或类似东西的解决方案。它应该在我的 c# 程序中完成。我有一个 Windows 窗体,其中有 3 个文本框:

  • 来自 AD 的用户名:在 AD 中搜索用户(我已经有一个搜索器)
  • 来自 AD 的组名:在 AD 中搜索组(我已经有一个搜索器)
  • 和持续时间:这是我要输入持续时间的地方,用户应该在该组中停留多长时间(以天为单位)

当我按下“将用户临时添加到组”按钮时,用户应该在特定时间添加到该组,我可以在该持续时间文本框中输入该时间。

提前致谢!

最佳答案

是的,这是可能的。它要求您拥有 Windows Server 2016 林,并且您启用了特权访问管理可选功能。

有了这个之后,您就可以为链接值(例如组成员资格)指定 TTL。本博https://www.dsinternals.com/en/how-the-active-directory-expiring-links-feature-really-works/向您展示如何执行此操作。我不知道您是否可以通过 ADSI (System.DirectoryServices) 提供语法,或者您是否需要回退到使用 System.DirectoryServices.Protocols 的直接 LDAP 调用。

关于c# 事件目录临时组成员身份?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52054086/

相关文章:

c# - 将触发器值传递给 Wpf 应用程序

c# - 如何使用 SubscriptionClient.OnMessage 进行需要 session 的订阅

c# - 删除“-”和“\cr”之间的文本

.net - Silverlight应用程序身份验证能否与本地LDAP/Active Directory服务器相对应

php - 安装 ldap 扩展 Docker

c# - 弹性查询以从mongodb数据C#中消除空格

javascript - 以下情况的有效正则表达式是什么

java - 如何对设置为 "Smart card is required for interactive logon"的用户进行身份验证?

attributes - LDAP 过滤器可能不存在的属性

python - 我无法安装 python-ldap