获取用户所属的特定广告组
Grabbing Specific AD Groups that a User is a Member Of
我这辈子都想不通。我想要做的是获取用户所属的所有组的列表。然后我想传递这些并抓住我正在寻找的特定组。
以下是我目前所拥有的:
(Get-ADUser $user -Properties MemberOf ).MemberOf | Where-Object {$_.Name -contains 'Part of Group Name'}
这个returns没什么。我有一种感觉,我没有在我的 Where-Object 中引用正确的 属性,但我很难找到那是什么。我知道 (Get-ADUser $user -Properties MemberOf ).MemberOf
的结果是:
CN=App - dyn_readuser_prod_WeblogicApps_NS,OU=Groups,OU=USCC,DC=int,DC=usc,DC=local
CN=App - dyn_readuser_prod_osb_NS,OU=Groups,OU=USCC,DC=int,DC=usc,DC=local
CN=App - dyn_readuser_prod_openshift_NS,OU=Groups,OU=USCC,DC=int,DC=usc,DC=local
CN=App - dyn_readuser_nonprod_WeblogicApps_NS,OU=Groups,OU=USCC,DC=int,DC=usc,DC=local
CN=App - dyn_readuser_nonprod_osb_NS,OU=Groups,OU=USCC,DC=int,DC=usc,DC=local
CN=App - dyn_readuser_nonprod_openshift_NS,OU=Groups,OU=USCC,DC=int,DC=usc,DC=local
我只是不知道如何引用“CN”。
有一个 cmdlet 可以很好地获取用户的组成员身份。请尝试以下操作:
Get-ADPrincipalGroupMembership -Identity $user | Select -ExpandProperty Name | Select-String -Pattern 'Part of Group Name'
这样试试:
(Get-ADUser $user -Properties memberOf).memberOf |
Where-Object { $_ -like 'CN=*Part of Group Name*,*' }
PowerShell v3 及更高版本中的 (...).memberOf
语法在功能上等同于管道到 Select-Object -ExpandProperty memberOf
,因此您也可以这样写:
Get-ADUser $user -Properties memberOf |
Select-Object -ExpandProperty memberOf |
Where-Object { $_ -like 'CN=*part of group name*,*' }
(不支持 (...).memberOf
“语法糖”的 PowerShell v2 需要第二个变体。)
我这辈子都想不通。我想要做的是获取用户所属的所有组的列表。然后我想传递这些并抓住我正在寻找的特定组。
以下是我目前所拥有的:
(Get-ADUser $user -Properties MemberOf ).MemberOf | Where-Object {$_.Name -contains 'Part of Group Name'}
这个returns没什么。我有一种感觉,我没有在我的 Where-Object 中引用正确的 属性,但我很难找到那是什么。我知道 (Get-ADUser $user -Properties MemberOf ).MemberOf
的结果是:
CN=App - dyn_readuser_prod_WeblogicApps_NS,OU=Groups,OU=USCC,DC=int,DC=usc,DC=local
CN=App - dyn_readuser_prod_osb_NS,OU=Groups,OU=USCC,DC=int,DC=usc,DC=local
CN=App - dyn_readuser_prod_openshift_NS,OU=Groups,OU=USCC,DC=int,DC=usc,DC=local
CN=App - dyn_readuser_nonprod_WeblogicApps_NS,OU=Groups,OU=USCC,DC=int,DC=usc,DC=local
CN=App - dyn_readuser_nonprod_osb_NS,OU=Groups,OU=USCC,DC=int,DC=usc,DC=local
CN=App - dyn_readuser_nonprod_openshift_NS,OU=Groups,OU=USCC,DC=int,DC=usc,DC=local
我只是不知道如何引用“CN”。
有一个 cmdlet 可以很好地获取用户的组成员身份。请尝试以下操作:
Get-ADPrincipalGroupMembership -Identity $user | Select -ExpandProperty Name | Select-String -Pattern 'Part of Group Name'
这样试试:
(Get-ADUser $user -Properties memberOf).memberOf |
Where-Object { $_ -like 'CN=*Part of Group Name*,*' }
PowerShell v3 及更高版本中的 (...).memberOf
语法在功能上等同于管道到 Select-Object -ExpandProperty memberOf
,因此您也可以这样写:
Get-ADUser $user -Properties memberOf |
Select-Object -ExpandProperty memberOf |
Where-Object { $_ -like 'CN=*part of group name*,*' }
(不支持 (...).memberOf
“语法糖”的 PowerShell v2 需要第二个变体。)