プロファイルの同期を維持する (SharePoint Server 2010)

 

適用先: SharePoint Server 2010

トピックの最終更新日: 2016-11-30

SharePoint Server 2010 のプロファイルの同期を使用することで、User Profile Service のインスタンスの管理者は、SharePoint Server 2010 プロファイル ストアに格納されているユーザーおよびグループのプロファイル情報を、全社的なディレクトリー サービスに格納されているプロファイル情報と同期できます。プロファイルの同期を構成し終えたら、これらの設定を維持するためのタスクを実行する必要があります。これらのタスクには、たとえば、無効なユーザーまたは削除したユーザーの除去、サーバーの移動または名前変更、User Profile Synchronization Service の開始または停止などがあります。詳細については、「プロファイルの同期を計画する (SharePoint Server 2010)」を参照してください。

この記事で説明する手順を実行するときは、「プロファイルの同期を構成する (SharePoint Server 2010)」に記載されている手順を事前に行っておく必要があります。

タスクの要件

重要

プロファイルの同期に必要な他のタスク要件については、リリース ノートを参照してください。

この記事の手順

  • ユーザー名またはユーザー ドメインを変更する

  • 無効なユーザーを除外する

  • 使用されなくなったユーザーとグループを削除する

  • プロファイル スキーマの変更を維持する

  • プロファイルの同期のサーバー名を変更する

  • Profile Synchronization Service を新しいサーバーに移動する

  • プロファイルの同期をリセットする

  • プロファイルの同期の通信を特定のドメイン コントローラーに制限する

  • User Profile Synchronization Service を開始する

  • User Profile Synchronization Service を停止する

  • プロファイルの同期のタイムアウトを調整する

ユーザー名またはユーザー ドメインを変更する

SharePoint Server 2010 には、ユーザー移行シナリオを処理するさまざまな方法が用意されています。次に、Active Directory ドメイン サービス (AD DS) のシナリオを処理する例について説明します。

  • ユーザーが存在する AD DS でのアカウント名 (sAMAccountName) の変更。

  • セキュリティ ID (SID) の変更。

  • ユーザー アカウントが存在する AD DS の組織単位 (OU) コンテナーの変更を含む、識別名 (DN) の変更。これは SharePoint Server 2010 の新機能です。たとえば、ユーザーの DN が AD DS で "User= EUROPE\John Smith, Manager=CN=John Rodman, OU=Users, DC=EMEA1, DC=corp, DC=contoso, DC=com" から "User= EUROPE\John Smith, Manager=CN=John Rodman, OU=Managers, DC=EMEA1, DC=corp, DC=contoso,DC=com" に移動すると、MigrateUser コマンドは、このユーザーのユーザー プロファイル ストアを更新します。ユーザー プロファイルを EMEA1.corp.contoso.com AD DS から SharePoint Server ユーザー プロファイル ストアに同期すると、John Smith のユーザー プロファイルが更新されます。

ユーザー名またはユーザー ドメインを変更するには

  1. 次の管理者の資格情報を持っていることを確認します。

    • Add-SPShellAdmin を参照してください。

    • SharePoint サーバーの全体管理 Web サイトを実行しているコンピューターの Farm Administrators グループのメンバーである必要があります。

    • SharePoint ファームのセットアップ時に作成されるファームの管理者のアカウントが、User Profile Synchronization Service の展開先サーバーのローカル管理者でもある必要があります。

  2. プロファイルの同期が実行中の場合は、[サーバーの全体管理] ページにアクセスし、[アプリケーション管理] セクションの [サービス アプリケーションの管理] をクリックします。サービス アプリケーションの一覧で、適切な User Profile Service アプリケーションを選択します。[サービス アプリケーションの管理] ページで [プロファイルの同期の停止] をクリックします。

  3. 増分のプロファイルの同期のタイマー ジョブを無効にします。

  4. stsadm -o migrateuser を使用したユーザー移行が成功したことを確認します。

  5. http://mysite/person.aspx?accountname=<new account name>. など、移行したユーザーの個人用サイト Web サイトを参照して、そのユーザーのプロファイルにアクセスできることを確認します。

  6. プロファイルの同期を実行します。詳細については、「定期的ではないプロファイルの同期を実行する」を参照してください。

  7. 移行したユーザーの個人用サイト Web サイトを参照して、そのユーザーのプロファイルにアクセスできることを再確認します。

  8. 増分のプロファイルの同期のタイマー ジョブを有効にします。

無効なユーザーを除外する

SharePoint Server 2010 で除外フィルターを使用することで、AD DS でアカウントが無効になったユーザーを除外できます。 無効なユーザーを除外するために必要な手順については、「プロファイルの同期の接続フィルターを編集する」を参照してください。

使用されなくなったユーザーとグループを削除する

SharePoint Server 2010 ユーザー プロファイル ストアに使用されなくなったユーザーまたはグループが存在する可能性がある理由は、次の 2 つです。

  • 使用されなくなったユーザーの場合: 個人用サイト クリーンアップのタイマー ジョブがアクティブではありません。ユーザー プロファイルの同期のタイマー ジョブは、ディレクトリ ソースから削除されたユーザーに削除のマークを設定します。個人用サイト クリーンアップのジョブが実行されると、削除のマークが設定されたユーザーがすべて検索され、それらのユーザーのプロファイルが削除されます。対応する個人用サイト Web サイトは、削除されたユーザーのマネージャーに割り当てられ、電子メール メッセージによってこの削除がマネージャーに通知されます。

  • 使用されなくなったユーザーとグループの場合: プロファイルの同期によってインポートされなかったユーザーとグループは、ユーザー プロファイル ストアに残ります。これは、たとえば、古いバージョンの SharePoint Server からアップグレードして、ドメインのサブセットのみを SharePoint Server 2010 と同期することを選択した場合に発生することがあります。

Windows PowerShell を使用して、使用されなくなったユーザーとグループを検出して削除するには

  1. 次の最小要件を満たしていることを確認します。Add-SPShellAdmin を参照してください。

  2. [スタート] メニューの [すべてのプログラム] をクリックします。

  3. [Microsoft SharePoint 2010 Products] をクリックします。

  4. [SharePoint 2010 管理シェル] をクリックします。

  5. Windows PowerShell コマンド プロンプトで、以下のコマンドを入力します。

    使用されなくなったユーザーをすべて検出する

    $upa = Get-spserviceapplication -identity
    

    ここで、

    • "identity" は、User Profile Synchronization Service アプリケーションの ID です。

    削除対象のユーザーとグループを表示する

    Set-SPProfileServiceApplication -Identity $upa - GetNonImportedObjects $true
    

    ここで、

    • "Identity" は、User Profile Synchronization Service アプリケーションの ID です。

    使用されなくなったユーザーとグループを削除する

    警告

    この操作は元に戻せません。

    Set-SPProfileServiceApplication -Identity $upa - PurgeNonImportedObjects $true
    

    ここで、

    • "Identity" は、User Profile Synchronization Service アプリケーションの ID です。

    注意

    ユーザーのみを表示または削除するには、サーバーの全体管理のユーザー プロファイルの同期の設定でユーザーのみのオプションを選択します。同様に、ユーザーとグループの両方を表示または削除するには、サーバーの全体管理のユーザー プロファイルの同期の設定でユーザー とグループの各オプションを選択します。

詳細については、「Get-SPServiceApplication」および「Set-SPProfileServiceApplication」を参照してください。

プロファイル スキーマの変更を維持する

プロファイル スキーマの変更には、新しいユーザー プロファイル プロパティの追加、ユーザー プロファイル プロパティのマッピングの変更、プロファイルの同期の接続フィルターの変更などが含まれます。プロファイル スキーマを変更したときは、定期的なプロファイルの同期のスケジュールを設定する前に、臨時の完全同期を実行する必要があります。臨時の完全なプロファイルの同期を実行するために必要な手順については、「定期的ではないプロファイルの同期を実行する (SharePoint Server 2010)」を参照してください。

プロファイルの同期のサーバー名を変更する

Windows PowerShell を使用して、プロファイルの同期のサーバー名を変更するには

  1. 次の最小要件を満たしていることを確認します。Add-SPShellAdmin を参照してください。

  2. [スタート] メニューの [すべてのプログラム] をクリックします。

  3. [Microsoft SharePoint 2010 Products] をクリックします。

  4. [SharePoint 2010 管理シェル] をクリックします。

  5. Windows PowerShell コマンド プロンプトで、以下のコマンドを入力します。

    Rename-SPServer -Identity -Name
    

    ここで、

    • "Identity" は、サーバーの古い名前です。

    • "Name" は、サーバーの新しい名前です。

Windows PowerShell を使用してサーバーの名前を変更する方法の詳細については、「Rename-SPServer」を参照してください。

Profile Synchronization Service を新しいサーバーに移動する

サーバーの全体管理を使用して、Profile Synchronization Service を新しいサーバーに移動するには

  1. 次の管理者の資格情報を持っていることを確認します。

    • Add-SPShellAdmin を参照してください。

    • SharePoint サーバーの全体管理 Web サイトを実行しているコンピューターの Farm Administrators グループのメンバーである必要があります。

    • SharePoint ファームのセットアップ時に作成されるファームの管理者のアカウントが、User Profile Synchronization Service の展開先サーバーのローカル管理者でもある必要があります。

  2. プロファイルの同期の現行サーバーの SharePoint サーバーの全体管理 Web サイトで、[システム設定] セクションの [サーバーのサービスの管理] をクリックします。

  3. [User Profile Synchronization Service] の横にある [停止] をクリックして、User Profile Synchronization Service を停止します。

  4. プロファイルの同期の新しいサーバーの SharePoint サーバーの全体管理 Web サイトで、[システム設定] セクションの [サーバーのサービスの管理] をクリックします。

  5. [User Profile Synchronization Service] の横にある [開始] をクリックして、User Profile Synchronization Service を開始します。

  6. プロファイルの同期の新しいサーバーの SharePoint サーバーの全体管理 Web サイトで、[アプリケーション構成の管理] セクションの [サービス アプリケーションの管理] をクリックします。

  7. [サービス アプリケーション] ページで、該当する User Profile Service アプリケーション名のリンクをクリックします。

  8. [User Profile Service アプリケーション] ページの [同期] セクションで、[プロファイルの同期の開始] をクリックします。

  9. [プロファイルの同期の開始] ページで、[完全同期の開始] をクリックし、[OK] をクリックします。

プロファイルの同期をリセットする

ユーザー プロファイルの同期データベースは、ユーザー プロファイル情報のステージング領域として使用されます。プロファイル ストアおよび同期データベースに格納されているユーザー プロファイル情報は、User Profile Service で使用されます。次の手順に従うことで、プロファイル ストア内の情報を失わずに、ユーザー プロファイルの同期データベースを安全にリセットできます。

Windows PowerShell を使用して、プロファイルの同期をリセットするには

  1. 次の最小要件を満たしていることを確認します。

    • Add-SPShellAdmin を参照してください。

    • SharePoint サーバーの全体管理 Web サイトを実行しているコンピューターの Farm Administrators グループのメンバーである必要があります。

    • SharePoint ファームのセットアップ時に作成されるファームの管理者のアカウントが、User Profile Synchronization Service の展開先サーバーのローカル管理者でもある必要があります。

  2. 予防措置として、User Profile Service アプリケーションをバックアップします。詳細については、「サービス アプリケーションをバックアップする (SharePoint Server 2010)」を参照してください。

  3. [スタート] メニューの [すべてのプログラム] をクリックします。

  4. [Microsoft SharePoint 2010 Products] をクリックします。

  5. [SharePoint 2010 管理シェル] をクリックします。

  6. Windows PowerShell コマンド プロンプトで、以下のコマンドを入力します。

    SharePoint 2010 Timer Service を停止する

    net stop sptimerv4
    

    同期データベース内のデータを削除する

    Get-SPDatabase $syncdb=Get-SPDatabase -Id
    

    ここで、

    • "Id" は、ユーザー プロファイルの同期データベースの GUID です。

    次のコマンドは、記載されているとおりの順序で実行する必要があります。

    $syncdb.Unprovision()
    $syncdb.Status='Offline'
    Get-SPServiceApplication
    $upa=Get-SPServiceApplication - Id
    $upa.ResetSynchronizationMachine()
    $upa.ResetSynchronizationDatabase()
    

    ここで、

    • "Id" は、ユーザー プロファイルの同期データベースの GUID です。

    同期データベースを準備する

    $syncdb.Provision()
    
  7. SQL Server Management Studio を使用して、User Profile Synchronization Service のアカウント (ファーム アカウント) を dbo として同期データベースに追加します。SQL Server Management Studio を使用して dbo アカウントを追加する方法の詳細については、「SQL Server データベース ロールにメンバを追加する方法」 (https://go.microsoft.com/fwlink/?linkid=191277&clcid=0x411) を参照してください。

  8. SharePoint 2010 タイマー サービスを開始する

    net start sptimerv4
    
  9. Profile Synchronization Service を開始します。詳細については、「User Profile Synchronization Service を開始する」を参照してください。

  10. User Profile Synchronization Service が開始したら、IIS をリセットします。

    iisreset
    
  11. データ ソースへの接続を作成します。詳細については、「サービス アプリケーションを復元する (Search Server 2010)」を参照してください。

  12. プロファイルの完全同期を実行します。詳細については、「定期的ではないプロファイルの同期を実行する」を参照してください。

詳細については、「Get-SPDatabase」を参照してください。

プロファイルの同期の通信を特定のドメイン コントローラーに制限する

Windows PowerShell を使用して、プロファイルの同期の通信を特定のドメイン コントローラーに制限するには

  1. 次の最小要件を満たしていることを確認します。Add-SPShellAdmin を参照してください。

  2. [スタート] メニューの [すべてのプログラム] をクリックします。

  3. [Microsoft SharePoint 2010 Products] をクリックします。

  4. [SharePoint 2010 管理シェル] をクリックします。

  5. Windows PowerShell コマンド プロンプトで、以下のコマンドを入力します。

    Get-SPServiceApplication $upa=Get-SPServiceApplication -Id
    

    ここで、

    • "Id" は、User Profile Synchronization Service の GUID です。
    $upa.UseOnlyPreferredDomainControllers = 1 $upa.Update()
    

    注意

    変更されたプロパティ値がサーバーの全体管理 Web サイトに伝達されるまで 5 分ほどかかる場合があります。全体管理サーバーで IIS をリセットすると、新しい値がすぐにロードされます。IIS のリセットの詳細については、「IIS Reset Activity (英語)」 (https://go.microsoft.com/fwlink/?linkid=179336&clcid=0x411) (英語) を参照してください。

詳細については、「Get-SPServiceApplication」を参照してください。

User Profile Synchronization Service を開始する

Windows PowerShell を使用して User Profile Synchronization Service を開始するには

  1. 次の最小要件を満たしていることを確認します。Add-SPShellAdmin を参照してください。

  2. [スタート] メニューの [すべてのプログラム] をクリックします。

  3. [Microsoft SharePoint 2010 Products] をクリックします。

  4. [SharePoint 2010 管理シェル] をクリックします。

  5. Windows PowerShell コマンド プロンプトで、以下のコマンドを入力します。

    Start-SPServiceInstance -Identity
    

    ここで、

    • "Identity" は、User Profile Synchronization Service の ID です。

詳細については、「Start-SPServiceInstance」を参照してください。

User Profile Synchronization Service を停止する

Windows PowerShell を使用して User Profile Synchronization Service を停止するには

  1. 次の最小要件を満たしていることを確認します。Add-SPShellAdmin を参照してください。

  2. [スタート] メニューの [すべてのプログラム] をクリックします。

  3. [Microsoft SharePoint 2010 Products] をクリックします。

  4. [SharePoint 2010 管理シェル] をクリックします。

  5. Windows PowerShell コマンド プロンプトで、以下のコマンドを入力します。

    Stop-SPServiceInstance -Identity
    

    ここで、

    • "Identity" は、User Profile Synchronization Service の ID です。

詳細については、「Stop-SPServiceInstance」を参照してください。

プロファイルの同期のタイムアウトを調整する

タイムアウトが発生する可能性があるのは、次の 2 つの場合です。

  • サーバーの全体管理の [同期の接続の追加/編集] ページでコンテナー リストを作成しようとした場合。この場合は、ステータス バーに JavaScript タイムアウト エラーと表示されます。

  • サーバーの全体管理の [同期の接続の追加/編集] ページで [OK] をクリックした場合。この場合は、次のエラー メッセージが表示されます。このタイムアウトは、プロファイルの同期の接続を作成または更新するときの Forefront Identity Manager Web サービスのタイムアウトが原因で発生します。

    要求チャネルは、送信を試行してから 00:01:29.9062626 後にタイムアウトしました。Request の呼び出しに渡すタイムアウト値を増やすか、Binding の SendTimeout 値を増やしてください。この操作に割り当てられた時間は、より長いタイムアウト時間の一部であった可能性があります。

Windows PowerShell を使用して、プロファイルの同期のタイムアウトを調整するには

  1. 次の最小要件を満たしていることを確認します。Add-SPShellAdmin を参照してください。

  2. [スタート] メニューの [すべてのプログラム] をクリックします。

  3. [Microsoft SharePoint 2010 Products] をクリックします。

  4. [SharePoint 2010 管理シェル] をクリックします。

  5. Windows PowerShell コマンド プロンプトで、以下のコマンドを入力します。

    サーバーの全体管理の [同期の接続の追加/編集] ページにある [コンテナーの作成] コントロールの JavaScript タイムアウトのタイムアウト値を秒単位で設定します。

    $upaAppProxy = Get-SPServiceApplicationProxy | ? {$_.name -like 'User Profile Service Proxy'}
    $upaAppProxy.ImportConnAsyncTimeout = 5
    $upaAppProxy.Update()
    

    Forefront Identity Manager Web サービス呼び出しのタイムアウトをミリ秒単位で設定します。

    $upaApp = Get-SPServiceApplication | ? {$_.name -like 'User Profile Service'}
    $upaApp. FIMWebClientTimeOut = 300000      // 300 seconds = 5 minutes
    $upaApp.Update()
    

詳細については、「Get-SPServiceApplicationProxy」および「Get-SPServiceApplication」を参照してください。