powershell - 获取少数用户所属的 DL 列表
问题描述
我是 powershell 的初学者并试图创建一个脚本。我有用户列表,对于他们,我需要知道他们添加到了哪些 DL。
我面临的问题是,它仅显示 DL 列表,有什么办法可以在用户名下获取 DL?或更好的方法来实现这一点。
注意:我们用大写字母命名我们所有的 DL,这就是为什么我在 where-object 中使用“\b[A-Z0-9_]+\b”。
$users = import-csv C:\Test\users.csv | ForEach-Object {$_.users = $_.users.Trim(); $_} | Select-Object -ExpandProperty users
foreach ( $user in $users)
{get-ADPrincipalGroupMembership $user | select name |
Where-Object { $_.name -cmatch "\b[A-Z0-9_]+\b"} | Export-CSV "C:\test\output_file.csv" -NoTypeInformation -Append
}
现在我得到以下结果:
Group1
Group2
Group3
Group2
Group3
Group4
我的理想输出应该是:
User MemberOf
---- --------
Bob Group1, Group2, Group3....
Jim Group2, Group3, Group4....
非常感谢。
解决方案
假设您正在查找Distribution Lists ,您可以通过查看对象的属性来判断组是安全组还是分发列表。GroupCategory
ADGroup
而不是查看用户的memberOf
属性并找出哪些是Distribution
您可以搜索ADGroups
每个用户所在GroupCategory -eq 'Distribution'
的位置member
:
$users = (Import-CSV C:\Test\users.csv | ForEach-Object {
$_.users.Trim()
}).users
$result = foreach ($user in $users)
{
$userDN = (Get-ADUser $user).DistinguishedName
$groups = Get-ADGroup -Filter "member -eq '$userDN' -and groupCategory -eq 'Distribution'"
[pscustomobject]@{
User = $user
MemberOf = $groups.Name -join ', '
}
}
$result | Export-CSV "C:\test\output_file.csv" -NoTypeInformation
如果你想使用你已经拥有的代码,通过这个小更新你应该得到你正在寻找的结果:
$users = (Import-CSV C:\Test\users.csv | ForEach-Object {
$_.users.Trim()
}).users
$result = foreach ($user in $users)
{
$membership = Get-ADPrincipalGroupMembership $user |
Where-Object {
$_.name -cmatch "\b[A-Z0-9_]+\b"
}
[pscustomobject]@{
User = $user
MemberOf = $membership.Name -join ', '
}
}
$result | Export-CSV "C:\test\output_file.csv" -NoTypeInformation
推荐阅读
- amazon-web-services - 在 Bamboo 中或通过 Bamboo 部署 Lambda 函数
- spring-data-jpa - com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: 通信链接失败 & 数据库消失 & sql cmd line auto close
- python-3.x - 像素跟踪无法正常工作
- python-3.x - 使用 sklearn 在 python 中进行标签和 Onehottencodeing
- php - 单击单选按钮的标签时下拉菜单消失
- c# - 将数据从自定义渲染器传递到自定义控件
- angular - Ionic Mobile 应用程序导航到外部 url
- ios - 快速禁用表格视图单元格中的滑动操作
- pandas - 如何合并熊猫中的重复行?
- php - Laravel 上不稳定的附加功能