3

ある配信リストの全メンバー(メールアドレス)を取得したいです。現在、最初の 1500 人のメンバーを受け取りました。私のスクリプトは次のようになります。

$group = [ADSI]"LDAP://CN=distListOne,OU=Groups,DC=XYZ,DC=XYZ"
$group.member.count ##Always 1500 
foreach($member in $group.member)
{
    $filter = "LDAP://"+$member
    $user = [ADSI]$filter
    $user.properties.mail | out-file "C:\distrUser.txt" -append 
}

配布リストに 1500 人を超えるユーザーがいることがわかっています。とにかく、受信したグループメンバーの最大数を拡張する必要があります。

4

3 に答える 3

3

大きな属性を取得するときは、その値をバッチで要求する必要があります。これは、ディレクトリ用語で「範囲検索」と呼ばれることがよくあります。ADSI を含む、正常に動作するほぼすべての MSFT LDAP API がこれをサポートしています

于 2012-08-23T20:46:09.287 に答える
3

DirectorySearcherアプローチを使用するようにコードを変更し、DirectorySearcherの PageSize プロパティを確認する必要があります。

その値を (0 のままにするのではなく) 何かに設定すると、AD が 1500 を超えるメンバーを返すことができるようにページ検索が開始されます。PageSizeを 500 や 1000 などの適切な値に設定することをお勧めします。設定値が高すぎる (システム制限の 1500 よりも高い) と、無視されて機能しなくなります。

この問題に対処する方法については、他のブログ投稿を参照してください。

于 2012-08-16T09:54:04.543 に答える
0

これは非常にうまく機能し、Active Directory モジュールが必要です

(Get-ADGroup $Group -Properties members).members

于 2018-02-27T20:52:23.000 に答える