powershell - Powershell 查询以显示 AD 组或 OU 中的所有帐户
问题描述
我被要求导出我们 AD 域中所有服务帐户的详细信息。似乎直截了当,但多年来我发现并没有一致的方式来控制服务帐户。我们有一个服务帐户 OU 以及一个服务帐户 AD 安全组。有些帐户在 OU 中但不在组中,有些在组中但另一个随机 OU,有些在两者中。
我可以单独查询每一个:
团体
Get-ADGroupMember GROUP.ServiceAccounts
欧
Get-ADUser -SearchBase "OU=Service Accounts,OU=Accounts,DC=Domain,DC=com" -filter *
如何将两者结合到一个 powershell 查询中?
解决方案
要将这些组合到一个查询中,这可能比您已经在做的效率更低,您可以执行以下操作:
$searchBase = '*OU=Service Accounts,OU=Accounts,DC=Domain,DC=com'
$groupDN = 'CN=Group Name,OU=Groups,DC=Domain,DC=com'
Get-Aduser -Filter * |
Where-Object { $_.DistinguishedName -like $searchBase -or $_.MemberOf -contains $groupDN}
您需要$groupDN
使用组的实际可分辨名称进行更新。如果您能找到一种更有效的方式-Filter
on DistinguishedName
,则可以使用参数使其更快-Filter
。
替代解决方案:
一种更有效的方法是将您的结果组合到一个对象数组中。
$array1 = Get-ADGroupMember $Group
$array2 = Get-ADUser -SearchBase "OU=Service Accounts,OU=Accounts,DC=Domain,DC=com" -filter *
$array1,$array2
推荐阅读
- node.js - 是否可以使用 GraphQL 查询 JSON 文件?
- oracle - 无法在 Oracle apex 中使用匿名块更新字段
- python - 如何在训练 CNN 期间删除重复项?
- r - R - 在多列上执行 Zoo rollapply/rollmean
- git - 如何使用部署密钥克隆仓库?
- python - 如何从类中的函数配置类对象方法?
- python - 边缘内的颜色渐变
- reactjs - 当父组件突然卸载并且无法及时更新状态时,如何停止react-mic的记录器?
- google-cloud-platform - 如何通过 API 检索 Dialogflow 的使用指标?
- c++ - 具有不同类型的 CUDA 每线程数组