如何解决获取用户所属的特定 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 举报,一经查实,本站将立刻删除。