Configure People Picker in SharePoint Server
適用対象:Subscription Edition
ユーザー 選択ウィンドウは、Stsadm setproperty 操作を使用して、ゾーン レベルでファーム用に構成できます。 このコントロールの設定を構成することで、ユーザーがユーザー、グループ、または要求を検索したときに表示される結果をフィルター処理および制限できます。 これらの設定は、サイト コレクション内のすべてのサイトに適用されます。
この記事の情報は、Windows 認証のクラシック モードまたはクレーム モードを使用する Web アプリケーションに対してのみ適用されます。
People Picker コントロールは、サイト、リスト、またはライブラリの所有者が Microsoft SharePoint Server でアクセス許可を割り当てるときに、ユーザー、グループ、および要求を検索して選択するために使用されます。 People Picker プロパティの詳細については、「 Peoplepicker: Stsadm プロパティ」を参照してください。
注:
SharePoint Server 2010、SharePoint Server 2013、SharePoint Server 2016、または SharePoint Server 2019 でユーザー 選択ウィンドウを構成するための Windows PowerShell コマンドはありません。 ただし、PowerShell コマンドを使用して、SharePoint サブスクリプション エディションで People Picker を構成できます。 詳細については、「 SharePoint サブスクリプション エディションでユーザー ピッカーを構成する」を参照してください。
この記事では、特定のシナリオに合わせて People Picker を構成する方法について説明します。 People Picker コントロールとその動作、認証および要求プロバイダーとの関係、People Picker の計画方法の詳細については、「 People Picker とクレーム プロバイダーの概要」を参照してください。
People Picker を構成するための前提条件
People Picker を構成する前に、次の要件が満たされていることを確認します。
Stsadm
の実行に使用するアカウントが、SharePoint Server がインストールされているサーバー上のローカル Administrators グループのメンバーであることを確認します。この記事の手順を実行するには、管理者としてコマンド プロンプト ウィンドウを開きます。
SharePoint Server がインストールされているドライバーのコマンド プロンプトで、次のディレクトリに変更します:
%CommonProgramFiles%\Microsoft Shared\Web Server Extensions\x\Bin
。注:
インストールした SharePoint のバージョンに基づいて、ディレクトリ内の "x" である数値マッピング値を置き換えます。 SharePoint バージョンとそれぞれの数値マッピング値を次に示します。
- SharePoint 2010: 14
- SharePoint 2013: 15
- SharePoint 2016 および SharePoint 2019: 16
People Picker の設定の構成
前提条件が満たされたら、次の手順を実行できます。
- プロパティの設定値を確認する
- ユーザー選択ウィンドウのプロパティ値を消去する
- 一方向の信頼関係で使用する暗号化キーを設定する
- 一方向の信頼関係でクロス フォレストまたはクロス ドメインのクエリを有効にする
- ユーザー選択ウィンドウを Active Directory の特定のグループのみに制限する
- 管理者アカウントの場所を定義する
- ユーザー選択ウィンドウにサイト コレクションのユーザーだけから選択させる
- LDAP クエリを使用して Active Directory アカウントをフィルターする
- Active Directory 以外のユーザー アカウントのみを返す
プロパティの設定値を確認する
ユーザー選択ウィンドウのプロパティの設定を確認するには、次のコマンドを入力します。
stsadm.exe -o getproperty -pn <Property Name> -url <Web application URL>
詳細については、「Peoplepicker: Stsadm プロパティ」を参照してください。
ユーザー選択ウィンドウのプロパティ値を消去する
ユーザー選択ウィンドウ プロパティの設定を削除するには、クリアするプロパティ名を指定し、プロパティ値に空の引用符を使用します。
ユーザー選択ウィンドウからプロパティの設定を削除するには、次のコマンドを入力します。
stsadm.exe -o setproperty -pn <Property Name> -pv "" -url <Web application URL>
詳細については、「Peoplepicker-searchadforests : Stsadm プロパティ (Office SharePoint Server)」を参照してください。
一方向の信頼関係で使用する暗号化キーを設定する
SharePoint Server がインストールされているフォレストまたはドメインが別のフォレストまたはドメインとの一方向の信頼を持つ場合は、Stsadm peoplepicker-searchadforests プロパティを使用する前に、クエリ対象のフォレストまたはドメインで認証できるアカウントの資格情報を最初に設定する必要があります。
注:
暗号化キーは、SharePoint Server がインストールされているファーム内のすべてのフロントエンド Web サーバーに設定する必要があります。
暗号化キーを設定するには、次のコマンドを入力します。
stsadm.exe -o setapppassword -password <key>
一方向の信頼を使用する場合にクロス フォレスト クエリまたはクロス ドメイン クエリを有効にする
SharePoint Server がインストールされているフォレストまたはドメインに別のフォレストまたはドメインとの一方向の信頼がある場合は、クエリを実行するフォレストまたはドメインの名前に加えて、フォレストまたはドメインのクエリに使用する資格情報を指定する必要があります。 ユーザー選択ウィンドウは、 peoplepicker-searchadforests プロパティの設定で指定されたフォレストまたはドメインのみにクエリを送信します。
資格情報と共にクエリを実行するフォレストまたはドメインを指定するには、次のコマンドを入力します。
stsadm.exe -o setproperty -pn peoplepicker-searchadforests -pv <Valid list of forests or domains, Login name, Password> -url <Web application URL>
注:
peoplepicker-searchadforests プロパティを使用するときに、アカウントに割り当てた暗号化キーのパスワードを含める必要はありません。 ただし、アカウントの暗号化キーをまだ設定していない場合は、エラー メッセージが表示されます。
次の例では、Contoso.com というフォレストと Fabrikam.com というドメインを使用するユーザー選択ウィンドウを構成し、それぞれの資格情報を指定しています。
sTSADM.exe -o setproperty -pn peoplepicker-searchadforests -pv "forest:Contoso.com,Contoso\User1,Password1; domain:Fabrikam.com,Fabrikam\User2,Password2" -url https://ServerName
詳細については、「Peoplepicker-searchadforests : Stsadm プロパティ (Office SharePoint Server)」を参照してください。
ユーザー選択ウィンドウを Active Directory の特定のグループのみに制限する
Web アプリケーションが Windows 認証を使用していて、サイト ユーザー ディレクトリ パスが設定されていない場合、People Picker コントロールは、特定の組織単位 (OU) 内のユーザーのみを検索するのではなく、Active Directory 全体を検索してユーザーの名前を解決するか、ユーザーを検索します。 Stsadm setsiteuseraccountdirectorypath 操作を使用すると、ユーザーのディレクトリ パスを、同じドメイン内の特定の OU に設定できます。 ディレクトリ パスにサイト コレクションが設定されていると、ユーザー選択ウィンドウ コントロールはその特定の OU でのみ検索を行います。
ユーザー選択ウィンドウを Active Directory 内の特定の OU のみに制限するには、次のコマンドを入力します。
stsadm -o setsiteuseraccountdirectorypath -path <Valid OU name> –url <Web application URL>
次の例では、ユーザー選択ウィンドウが "Sales" という OU 内のユーザーとグループだけを返すように設定します。
stsadm -o setsiteuseraccountdirectorypath -path "OU=Sales,DC=ContosoCorp,DC=local" -url https://ServerName
注:
サイト コレクションに対してはサイト ユーザー ディレクトリ パスを一度に 1 つだけ設定できます。 したがって、このプロパティは一度に 1 つの OU のみを指定し、サイト コレクションごとに 1 回だけ Stsadm setsiteuseraccountdirectorypath 操作を 実行する必要があります。
詳細については、「Setsiteuseraccountdirectorypath: Stsadm 操作」を参照してください。
管理者アカウントの場所を定義する
管理ユーザー アカウントは、多くの場合、一般のサイト ユーザーとは異なる OU に置かれています。 Stsadm setsiteuseraccountdirectorypath 操作を使用して、People Picker が特定の OU からのクエリのみを返すように強制した場合は、管理者がサイト コレクションを管理できるように Stsadm peoplepicker-serviceaccountdirectorypaths プロパティも設定する必要があります。
注:
peoplepicker-serviceaccountdirectorypaths プロパティが機能する前に、Setsiteuseraccountdirectorypath 操作に値を含める必要があります。
管理者アカウントの場所を定義するには、次のコマンドを入力します。
stsadm -o setproperty -pn peoplepicker-serviceaccountdirectorypaths -pv <A list of OU names> -url <Web application URL>
次の例では、OU "FarmAdmin" 内のユーザーを許可するように People Picker を構成します。
stsadm -o setproperty -pn peoplepicker-serviceaccountdirectorypaths -pv "OU=FarmAdmin,DC=Contoso,DC=local" -url https://ServerName
詳細については、「 Peoplepicker-serviceaccountdirectorypaths: Stsadm プロパティ)」を参照してください。
ユーザー選択ウィンドウにサイト コレクションのユーザーだけから選択させる
People Picker コントロールは、テキスト ボックスと、[ 名前の確認 ] ボタンや [参照 ] ボタンなどの 2 つのボタンで構成されます。
- [ 名前の確認] ボタンは、テキスト ボックスに入力されたとおりにユーザー名、グループ名、または電子メール アドレスを解決するために使用されます。
- [ 参照 ] ボタンをクリックすると、[ ユーザーとグループの選択 ] ダイアログ ボックスが開きます。このダイアログ ボックスを使用して、文字列全体または部分的な文字列のクエリを送信できます。
2 つの主な違いは、[ 名前の確認 ] ボタンはテキスト ボックス内の内容のみを解決し、[ ユーザーとグループの選択 ] ダイアログ ボックスでクエリ文字列を検索する点です。 ユーザー選択ウィンドウを、サイト コレクションのアクセス許可を持つユーザーだけを返すように設定するには、 PeoplePicker-Peopleeditoronlyresolvewithinsitecollection プロパティまたは PeoplePicker-Onlysearchwithinsitecollection プロパティを使用できます。 ただし、この制限を構成するために使用するプロパティは、テキスト ボックス (People エディター) と [ 名前の確認 ] ボタンの制限を設定するか、[ ユーザーとグループの選択 ] ダイアログ ボックスに制限を設定するかによって異なります。
[ 名前の確認 ] ボタンをクリックしたときに、サイト コレクションにアクセス許可を持つユーザーのみを強制的に返すには、次のコマンドを入力します。
stsadm -o setproperty –pn peoplepicker-Peopleeditoronlyresolvewithinsitecollection –pv yes –url <Web application URL>
[ユーザー とグループの選択 ] ダイアログ ボックスを使用するときに、サイト コレクションにアクセス許可を持つユーザーのみを強制的に返すには、次のコマンドを入力します。
stsadm -o setproperty –pn peoplepicker-onlysearchwithinsitecollection –pv yes –url <Web application URL>
詳細については、「 Peoplepicker-onlysearchwithinsitecollection: Stsadm プロパティ」 および「 Peoplepicker-peopleeditoronlyresolvewithinsitecollection: Stsadm プロパティ」を参照してください。
LDAP クエリを使用して Active Directory アカウントをフィルターする
ライトウェイト ディレクトリ アクセス プロトコル (LDAP) クエリを使用して、クエリ結果を表示するためのカスタム フィルターを作成できます。 LDAP クエリの詳細については、「LDAP Query Basics」を参照してください。
カスタム LDAP クエリを使用するには、次のコマンドを入力します。
Stsadm –o setproperty –pn peoplepicker-searchadcustomfilter -pv <LDAP query filter> -url <Web application URL>
次の例では、電子メール アドレスがないユーザー アカウント、または無効になっているユーザー アカウントを除外します。 セキュリティ グループには必ずしも電子メール アドレスが関連付けられているとは限らないので、クエリ結果にセキュリティ グループが確実に含まれるように 、OR ステートメントが使用されます。
stsadm -o setproperty -pn peoplepicker-searchadcustomfilter -pv "(|(&(mail=*)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))(objectcategory=group))" -url https://ServerName
次の例では、アクティブなユーザーだけを返し、グループは除外されます。
stsadm -o setproperty -pn peoplepicker-searchadcustomfilter -pv "(&(objectCategory=person)(objectClass=user)(!userAccountControl:1.2.840.113556.1.4.803:=2))" -url https://ServerName
このクエリで使用されるユーザー アカウント制御文字列の説明については、「 検索フィルター構文」を参照してください。
次の例では、"Manager" というタイトルの Active Directory ユーザーの一覧を返します。
stsadm -o setproperty -pn peoplepicker-searchadcustomfilter -pv "((Title=Manager))" -url https://ServerName
重要
特定のプロパティに対して setproperty
コマンドを実行するたびに、そのプロパティの現在の値は、指定した新しい値によって上書きされることに注意してください。 複数の条件に基づいてクエリ結果をフィルター処理する必要がある場合は、フィルター処理するすべての値を含む複合 LDAP クエリを作成する必要があります。
詳細については、「Peoplepicker-searchadcustomfilter: Stsadm プロパティ」を参照してください。
Active Directory 以外のユーザー アカウントのみを返す
Web アプリケーションでフォーム ベースの認証を使用している場合は、クエリ結果で People Picker が Active Directory アカウントを返さないようにすることができます。
Active Directory 以外のユーザー アカウントだけを返すには、次のコマンドを入力します。
stsadm -o setproperty -pn peoplepicker-nowindowsaccountsfornonwindowsauthenticationmode -pv yes -url <Web application URL>
詳細については、「Peoplepicker-nowindowsaccountsfornonwindowsauthenticationmode: Stsadm プロパティ」を参照してください。