【问题标题】:How to add ForeignSecurityPrincipals to AD LDS? Bringing 'AD users and computer accounts' to AD LDS as FSP?如何将 ForeignSecurityPrincipals 添加到 AD LDS?将“AD 用户和计算机帐户”作为 FSP 引入 AD LDS?
【发布时间】:2025-01-01 22:30:02
【问题描述】:

如何将 ForeignSecurityPrincipals 添加到“Active Directory 轻型目录服务”(AD LDS)?即将“AD 安全主体(用户以及计算机帐户)”带到 AD LDS?任何脚本/ps cmdlet/工具?

使用“ADSI 编辑”将“AD”安全主体作为“ForeingSecurtyPrincipals”添加到 AD LDS

我知道我可以让他们成为管理员/读者/用户的成员(即,为了将“AD 用户”的角色定义为读者/用户/管理员,需要添加外部安全主体 - 这是有道理的- 所以 ADSI 编辑会自动将 SID 添加到外部安全主体容器中)(请参阅附图

问题(除了使用 adsi edit 分配角色之外还有哪些不同的方法):

但是,我想知道有没有办法不让安全主体成为其中一个角色的成员?特别是我不想为“计算机帐户”这样做——因为它们没有被归类为“管理员”或“用户”或“角色”——在 AD LDS 架构中是默认的。我想我可以扩展架构,以便我的 AD LDS 实例了解计算机帐户,然后将计算机添加到那里。

只是好奇是否有其他方法可以做到这一点?任何其他工具或 PS 脚本也可以,因为我很确定有很多“目录服务管理工具”

问候。

【问题讨论】:

    标签: powershell active-directory directoryservices quest


    【解决方案1】:

    在这里,您似乎在问两个不同的事情。该图像显示您向 ADLDS 授予对 Active Directory 安全主体的访问权限。但随后您开始谈论扩展架构,暗示您正在寻找从 AD 导入对象。

    如果是后者,您可以使用 FIMADAMSync 或使用例如滚动您自己的PowerShell.

    更多关于ADAMSync here的帮助

    * 更新 *

    根据this post, 中的 Dmitri Gavrilov 所述,手动添加 FSP 是不可能的。

    【讨论】:

    • 该问题与引入 AD 安全主体(用户和计算机)的不同方式有关。图片仅描述了一种使用 ADSI 编辑将“AD 用户/计算机”引入 AD LDS 的方法。我个人不喜欢这种方式,尤其是对于“计算机帐户”,因为我不想将计算机作为用户帐户。所以,我只是想知道是否有更简单的方法可以将 'sids' 添加到 'foreignsecurityprincapls' 容器中? AdamSync 与“同步”AD 到 AD LDS 有关。例如,将导入用户帐户 - 这与将它们添加为“foreignsecurityprincipals”不同。
    • 注意,该图像只是在 AD LDS 中定义 AD 安全主体的角色(例如,一旦我将 AD 安全主体设置为“管理员”或“用户”或“读者”的成员,那么相应的安全主体 (SID)) 将自动添加到 ForeignSecurityPrincipals。我想知道有没有办法不将 SID 添加到角色之一(用户/读者/管理员)?
    • 这篇文章不错(略略),稍后会通过它,在我的环境中尝试它。
    【解决方案2】:

    或者,您可以使用 powershell 将用户/计算机添加到内置组之一(我的示例将使用 Readers),然后立即删除它们。 foreignSecurityPrincipal 将保留在目录中。当您请求按 SID 添加成员时,似乎 ADAM/ADLDS 是实际代表您创建 foreignSecurityPrincipal 对象的对象。

    获取配置分区中的 Readers 组...

    $servername = "myserver:389"

    $configPartition = (Get-ADRootDSE -Server $servername).namingContexts | ? { $_ -match "^CN=配置" }

    $readersGroup = ("CN=Readers,CN=Roles," + $configPartition)

    将 SID(Wrap in )添加到读者组

    Set-ADObject -Identity $readersGroup-Add @{member = ""} -Server $servername

    从读者组中删除 SID

    Set-ADObject -Identity $readersGroup-Remove @{member = ""} -Server $servername

    【讨论】:

      【解决方案3】:

      实际上,事实证明我可以在广告 lds 目录对象上设置“权限”,而无需添加到“ForeignSecuritypPrincipals”容器中......

      所以,我只是根据 sid 设置了“perms”(下面很少有例子,http://greatit.wordpress.com/2012/08/13/dsacls-and-built-in-groups/

      授予对 AD LDS 对象的“通用全部/完全控制”的示例:

      dscals "\\{myadldsserver}:{port}\cn=testadldsobect,cn=test,cn=com' /g {sid}:GA

      dsacls {DN} /g {域}/{用户名}:GA

      dsacls {DN} /g {domain}/{machinename}$:GA

      问候。

      【讨论】:

        最近更新 更多