2016-08-02 10 views
2

特定の値に一致するADプロパティが各ユーザーに対して表示される回数を列挙する方法を検討しています。PowerShell Get-ADUser - 属性の集計

具体的には - 私たちの広告のユーザーは、会社を識別するカスタム属性を持っています。私は、すべての企業のリストと、リストされているユーザーの数を表示する月次レポートを実行する必要があります。

これは私の知る限りのものですが、アカウントチームにとっては使いやすいものではありません。

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 
} 

これは

35 Company1 
12 Company2 
27 Company3 

`としてHostedCompanyList.csv

ID 
Company1 
Company2 
Company3 

私の出力が示す内容であるとは対照的に、私は、CSVまたはHTMLファイルに出力この情報をしたいのですがそれをPSウィンドウに表示する。

  • 私は、これは既にこのクエリを実行するのに非常に長いったらしい方法そうです感謝 - 私は、おそらくはるかに簡単な方法を見落としているだろうか?

  • CSVファイルをまったくインポートしなくてもこれを行うことができれば、新しい「企業」が追加または削除されたときにそのリストにエントリを追加する必要がなくなります。

ありがとうございました。私は同じ拡張属性を持っていますが、この形状がないので、

答えて

1

未テスト:

  • クエリ皆、会社名で請求され、人々に
  • group-objectをフィルタリング
  • [プロパティ]を選択し、CSVファイルへのエクスポート

は、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 
+0

@ mklement0ええ、それはコードブロックを行いますが、その後二行目がアンバランスと短くし、その後、威圧され、複数行のワンライナーに向けて全体を押して、水平スクロールバーを持っています.. ) – TessellatingHeckler

+0

_laughing outこの説明で... – sodawillow

+1

@ mklement0これはきちんとしたアプローチです、私はそれを編集しました - ありがとう – TessellatingHeckler