2015-09-09 15 views
7
私は私に取得するPowerShellスクリプトを探しています

特定のOU内のユーザーの数を取得し、そのサブOUの

  1. OU's
  2. ADの数のカウントの名前それぞれのユーザーはOUです。

私はこれを発見した:

(Get-ADUser -Filter * -SearchBase “ou=Users,ou=A1,dc=contoso,dc=com”).count 

この私が欲しいまさにんが、私は、各OU名を入力する必要があります。問題は100+ OU'sがあることです。特定のOU私はこれを実行したいcmsg\usersの下のcontoso.com\cmsg\usersは、100 + OU'sが存在する場所です。

答えて

3

私は別の角度から来ることを提案します。各広告ユーザーには、その親コン​​テナに関する情報が含まれています。すでにすべてのユーザーを返すためです。それを使ってカウントを決定します。ユーザーレスOUをお持ちの場合は、結果に表示されないことに注意してください。

Get-ADUser -Filter * -Properties CN | 
    Select-Object @{Label='ParentContainer';Expression={$_.Distinguishedname -replace "CN=$($_.cn),"}} | 
    Group-Object -Property ParentContainer | 
    Select-Object Name,Count 

もちろん、まだGet-ADUserの範囲を狭めるために-SearchBaseを使用することができます。

これが欲しいものでない場合は、次の解決策にはGet-ADOrganizationalUnitの出力が必要です。 Pythonで

$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 
    } 
} 
-2

ラン - 取得-aduserは、すべてのユーザー

(get-aduser -filter *).countがあなたのためにこれらのユーザーをカウントする方法を説明します。これは、すべてのユーザーがアクティブまたは無効です。

+0

これはOPの質問とは無関係です。また、なぜあなたはPythonを参照していますか? '(Get-ADUser -Filter *)。CountはPowerShellで動作します。 – jpaugh

関連する問題