私を取得するPowerShellスクリプトを探しています。
OU's
の名前OU
のADユーザー数のカウント。私はこれを見つけました:
(Get-ADUser -Filter * -SearchBase “ou=Users,ou=A1,dc=contoso,dc=com”).count
これはまさに私が望むことを行いますが、各OU
名を入力する必要があります。問題は、100以上のOU's
があることです。これを実行したい特定のOU
は、contoso.com\cmsg\users
の下にあるcmsg\users
です。100+OU's
が存在します。
別の角度からこれに来ることを提案します。各広告ユーザーには、その親コンテナに関する情報が含まれています。すでにすべてのユーザーを返しているため。それを使用してカウントを決定します。ユーザーレスOUがある場合、結果に表示されないことに注意してください。
Get-ADUser -Filter * -Properties CN |
Select-Object @{Label='ParentContainer';Expression={$_.Distinguishedname -replace "CN=$($_.cn),"}} |
Group-Object -Property ParentContainer |
Select-Object Name,Count
もちろん、-SearchBase
を使用してGet-ADUser
の範囲を絞り込むこともできます。
これが望んでいない場合、次のソリューションでは Get-ADOrganizationalUnit からの出力が必要になります。
$ous = Get-ADOrganizationalUnit -Filter * -SearchBase "ou=Users,ou=CMSG,dc=contoso,dc=com" | Select-Object -ExpandProperty DistinguishedName
$ous | ForEach-Object{
[psobject][ordered]@{
OU = $_
Count = (Get-ADUser -Filter * -SearchBase "$_").count
}
}
特定のOUのユーザー数を取得するPowerShellコマンドを次に示します。
(Get-ADObject -Filter * -SearchBase "path of your OU").Count
OUの数が少ない場合、簡単な方法は、各OUですべてを選択し、プロパティをヒットすることです。これにより、そのOUの合計数が表示されます。カウントを収集した後、それぞれを一緒に追加できます。