我正在寻找一种方法来列出针对每个用户显示与特定值匹配的AD属性的次数。
具体 - 我们AD中的用户具有区分其公司的自定义属性。我需要运行月度报告,显示所有公司的列表以及列出的用户数量。
这与我一样接近 - 但我们的客户团队对用户不友好。
import-csv c:\HostedCompanyList.csv -header ID |
foreach {
$total = (get-aduser -filter "(extensionattribute1 -eq '$($_.ID)') -and (extensionattribute2 -eq 'billed')" -properties *).count
write-host $total $_.ID
}
这是HostedCompanyList.csv的内容
ID
Company1
Company2
Company3
我的输出显示为“
35 Company1
12 Company2
27 Company3
我希望将此信息输出到CSV或HTML文件,而不是在PS窗口中显示。
我很欣赏这可能已经是一个非常漫长的运行此查询的方式 - 我是否可能忽略了一个更简单的方法?
奖励积分如果我能够在不必导入CSV文件的情况下实现这一点 - 那么当新的"公司&#时,这将减少在该列表中添加其他条目的需要34;加入或带走!
感谢您提供的任何帮助。
答案 0 :(得分:1)
未经测试,因为我没有相同的扩展属性,但是这个形状:
应该使用一个查询,没有要读取的文本文件,以及csv export。
$filter = "extensionattribute2 -eq 'billed'"
$users = Get-ADUser -filter $filter -Property extensionattribute1, extensionattribute2
$groups = $users | Group -Property extensionattribute1
$groups | select Count, Name | Export-Csv out.csv -notypeinformation