csv - PowerShell Get-ADUser-属性计数

标签 csv powershell

我正在寻找一种方法来列出针对每个用户出现与某个值匹配的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文件,则可以避免添加或删除新的“公司”时在该列表中添加其他条目的需要!

  • 感谢您提供的任何帮助。

    最佳答案

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

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

  • 应该可以处理一个查询,没有要读取的文本文件以及csv导出。
    $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
    

    关于csv - PowerShell Get-ADUser-属性计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38725681/

    相关文章:

    Powershell 仅当基于列 1 的组的列 2 -cge 列 3 时才显示行

    java - 使用 Java 解析 CSV 时管理文件列名称和位置

    powershell - 需要 PS Get-Childitem 才能不截断名称结果

    powershell - 可变音译(powershell)

    python - 读取包含特定列的 CSV 并保留到最后一列

    python - csv 到 sqlite 表 python

    python - 如果前面有任何语句,为什么不调用这个 for 循环? ( python 2.7)

    powershell - 在PowerShell中,如何创建一个在启动时仅运行1次然后自行删除的计划任务?

    Powershell - "Toggle"的官方祝福动词

    c# - Powershell哈希表作为C#中自定义cmdlet的参数