PowerShell AD外部安全原则 - 组成员身份

时间:2018-01-22 13:48:45

标签: powershell group-membership

我有两个不同的域名,信任关系。我想查询这两个域以提取两个域中用户的组成员身份。

例: “User1”属于Domain1,是“Domain1”中“Domain1_group11”组的成员。但同一用户也是“Domain2”中“Domain2_group22”组的成员,

我正在使用Get-ADPrincipalGroupMembership来获取群组成员资格,但有人告诉我,此方法只会为您提供用户所在群组中您正在查询的群组。 。但是,当“domain1”中的“user1”被添加到“domain2”中的组时,“domain2”不会在domain2中创建用户对象,实际上它会创建所谓的“外部安全性原则”,这是一种特殊的对象,因此域知道它不是自己域中的用户。

我是AD脚本的新手,任何想法,请问这里最好的方法是什么?

感谢。 VENU

1 个答案:

答案 0 :(得分:0)

如果您的域位于同一个林中且您的帐户具有适当的安全性,则可以运行:

Get-ADPrincipalGroupMembership -Identity User1
Get-ADPrincipalGroupMembership -Identity User1 -ResourceContextServer Domain2

您可能需要为域1指定服务器:

Get-ADPrincipalGroupMembership -Identity User1 -Server Domain1
Get-ADPrincipalGroupMembership -Identity User1 -Server Domain1 -ResourceContextServer Domain2

或类似的东西,以获得更通用的解决方案:

$Domains = Get-ADForest | Select-Object -ExpandProperty Domains
$GroupMembership = foreach ($Domain in $Domains) {
    Get-ADPrincipalGroupMembership -Identity User1 -ResourceContextServer $Domain
}