powershell - 使用 Powershell 在 AD 中的特定组中查找特定用户
问题描述
我一直在网上寻找这样做的方法,我在这里不知所措。我正在寻找一种方法来通过 powershell 在 AD 中的特定组中查找特定用户。这是我尝试过的。
(Get-ADUser userName –Properties MemberOf).MemberOf
我得到了一堆组
(Get-ADGroupMember "groupname").name
I get a bunch of usernames
我试过这个命令,但要花很长时间才能得到结果。
(Get-ADGroupMember 'groupname' | Get-ADUser -Property DisplayName | Where-Object { $_.Name -eq 'username'})
有没有一种方法可以让我获得既快速又高效的命令。我也在寻找他们的电子邮件地址和姓氏。
提前致谢
解决方案
正如所评论的,最好不要使用该Name
属性,但如果您有它,请使用您寻求排除歧义名称的用户的SamAccountName
or 。DistinguishedName
$user = Get-ADGroupMember -Identity 'GroupName' |
Where-Object { $_.objectClass -eq 'user' -and $_.SamAccountName -eq 'userSamAccountName' } |
Get-ADUser -Properties DisplayName, EmailAddress, GivenName, Surname # add more properties if you need them
# display the user object on screen
$user
或者这样做:
$user = $null
$member = Get-ADGroupMember -Identity 'TheGroupName' |
Where-Object { $_.objectClass -eq 'user' -and $_.SamAccountName -eq 'TheuserSamAccountName' }
if ($member) {
# add more properties if you need them
$user = Get-ADUser -Identity $member.DistinguishedName -Properties DisplayName, EmailAddress, GivenName, Surname
}
else {
Write-Host "User 'TheuserSamAccountName' is not a member of group 'TheGroupName'"
}
# display the user object on screen
$user
生成的$user
对象还将包含以下属性:
DistinguishedName
, Enabled
, Name
, ObjectClass
, ObjectGUID
, SamAccountName
, SID
,UserPrincipalName
如果您不需要所有这些属性,只需使用
$user | Select-Object DisplayName, EmailAddress, GivenName, Surname
推荐阅读
- sql - 如何在 oracle 中用逗号数据中的名称交换 id
- angular - Golden-layout stackCreated 在 Angular 中不可用
- linux - Sysfs 无法识别任何 GPIO 芯片 - Ubuntu 18.04
- html - 如何让手机 Safari 正确显示背景 gif
- wordpress - 如何将 Wordpress 配置为在两个不同的文件夹中包含主题?
- apache-spark-sql - 如何从 SparkListenerEvent 或 QueryExecution 获取 SQL 语句
- r - 使用 cvxr 将目标函数中的两个变量相乘
- sql - Gorm 预载 m2m 关系
- database - 将列添加到需要大量 NULL 值的现有表中是否更好,或者我应该创建一个不包含空列的新表?
- java - 等待模拟器上线 300 秒后超时