【问题标题】:PowerShell export AD users not in specific group + attributesPowerShell 导出不在特定组中的 AD 用户 + 属性
【发布时间】:2019-10-30 13:04:51
【问题描述】:
我需要使用以下信息进行 AD 导出:
- 全部启用不存在于特定组中的用户
- 电子邮件地址
- 帐户名称
并将所有内容导出到 csv 文件中
你能帮帮我吗?
谢谢!!!!
【问题讨论】:
标签:
powershell
active-directory
extraction
【解决方案1】:
您可以执行以下操作:
$group = 'my group name'
$GroupMembers = Get-ADGroupMember $group -Recursive
Get-ADUser -Filter "Enabled -eq '$true'" -Properties Mail |
Where-Object { $_.SamAccountName -notin $GroupMembers.SamAccountName } |
Select-Object SamAccountName,Mail |
Export-Csv Output.csv -NoType
Get-ADGroupMember 与-Recursive 开关将递归检索属于$group 成员的AD 对象。
Get-ADUser 使用过滤器仅查询启用的用户。请注意,您必须添加 Mail 属性,因为电子邮件地址属性不在默认显示中。您可以调整此过滤器以加快查询速度。如果您愿意增加一点复杂性并进行性能测试,那么构建单独的Get-ADUser -Filter ... 查询可能比依赖Where-Object 更快。效果取决于您的广告规模以及目标群体中有多少成员。