微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

获取用户所属的特定 AD 组

如何解决获取用户所属的特定 AD 组

我终其一生都无法弄清楚这一点。我想要做的是获取用户所属的所有组的列表。然后我想传递这些并抓住我正在寻找的特定群体。

以下是我目前所拥有的:

         Route.get("/getdata",async (req,res)=>{
            const { firstname,lastname,username}=req.body;
            const user = await User.findOne({firstname,username});
            if(user===user._id){
                res.status(200).json(user);
                console.log(user);
            }
            else{
                res.status(401).json("user not registered");
                console.log("user is not registered");
            }
        });

这不返回任何内容我有一种感觉,我没有在我的 Where-Object 中引用正确的属性,但我很难找到它是什么。我知道 (Get-ADUser $user -Properties MemberOf ).MemberOf | Where-Object {$_.Name -contains 'Part of Group Name'} 的结果是:

(Get-ADUser $user -Properties MemberOf ).MemberOf

我就是不知道如何引用“CN”。

解决方法

试试这个:

(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 中需要第二种变体。)

,

有一个 cmdlet 可以很好地获取用户的组成员身份。请尝试以下操作:

Get-ADPrincipalGroupMembership -Identity $user | Select -ExpandProperty Name | Select-String -Pattern 'Part of Group Name' 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。