PowerShell Get-ADUser - 属性标记

时间:2016-08-02 16:16:47

标签: csv powershell

我正在寻找一种方法来列出针对每个用户显示与特定值匹配的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;加入或带走!

感谢您提供的任何帮助。

1 个答案:

答案 0 :(得分:1)

未经测试,因为我没有相同的扩展属性,但是这个形状:

  • 查询所有人,过滤结算人
  • group-object公司名称
  • 选择属性并导出到csv

应该使用一个查询,没有要读取的文本文件,以及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