無効なアカウントを使用して承諾された SharePoint Online の外部ユーザーの招待が正常に機能しない

現象
シナリオ説明:
  • 外部ユーザーが Microsoft SharePoint Online または Microsoft OneDrive for Business リソースにアクセスできるようにします。
  • ユーザーは招待を承諾しますが、その時、他の Microsoft アカウントを使ってサインインしています。
  • ユーザーが共有リソースを閲覧します。
このシナリオで、ユーザーには次のいずれかのエラー メッセージが表示されます。
“アクセスが拒否されました”
“このサイトへのアクセスを必要とする理由をお知らせください”
“User is not found in the directory” (ユーザーがディレクトリに見つかりません)
“You need permission to access this site.” (このサイトにアクセスする許可が必要です)
解決策
この問題を解決するには、どのアカウントで招待を承諾したか特定し、必要に応じて無効のアカウントを削除した上で、再度ユーザーをリソースに招待し直します。

 本資料では多くのシナリオで <contoso> をプレースホルダーとして利用しています。実際のシナリオでは、<contoso> を組織で使用するドメイン名に置き換えてください。 

外部ユーザーがどのアカウントでアクセスするかを特定する

無効な外部ユーザーとしてサイトにアクセスできる場合は、次の手順に従ってください。
  1. 招待状を承諾した外部ユーザーとしてアカウントにサインインします。
  2. 画面右上のプロファイル イメージをクリックしてから、[個人用設定] をクリックします。
  3. [アカウント] フィールドで、以下の例のように表示される電子メール アドレスを確認します。i:0#.f|membership|JonDoe@contoso.com.

    注: このシナリオでは、JonDoe@contoso.com がユーザーの招待を承諾した電子メール アドレスです。
  4. 電子メール アドレスが無効な場合は、本資料の「無効な外部ユーザーのアカウントを削除する」セクションに進んでください。
無効な外部ユーザーとしてサイトにアクセスできない場合は、次の手順に従ってください。
  1. SharePoint Online の管理者として、外部ユーザーと共有しているサイト コレクションにサインインします。
  2. [設定] メニュー (歯車のアイコン) をクリックしてから、[サイトの設定] をクリックします。
  3. ユーザーと権限” セクションの [ユーザーとグループ] をクリックします。
  4. ブラウザー画面で、URL の末尾 (people.aspx? の後ろ) に表示されている MembershipGroupId=<数字> を 「MembershipGroupId=0」に変えて、Enter キーを押します。
  5. ユーザーのリストで、外部ユーザーの名前を検索します。ユーザー名を右クリックした後、[ショートカットのコピー] をクリックします。
  6. ブラウザーの新しいウィンドウまたはタブで、アドレス ボックスに前の手順でコピーした URL を貼り付けます。URL の末尾に「&force=1」を追加し、Enter キーを押します。 
  7. アカウント” フィールドで以下の例のように表示される電子メール アドレスを確認します。i:0#.f|membership|JonDoe@contoso.com.

    注: このシナリオでは、JonDoe@contoso.com がユーザーの招待を承諾した電子メール アドレスです。
  8. 電子メール アドレスが無効な場合は、本資料の「無効な外部ユーザーのアカウントを削除する」セクションに進んでください。

無効な外部ユーザーのアカウントを削除する

外部ユーザーは、サイト コレクションごとに管理されています。アクセスが許可されている各サイト コレクションから外部ユーザーのアカウントを削除する必要があります。削除には 2 つの方法があります。SharePoint Online のユーザー インターフェイスから削除する方法と SharePoint Online 管理シェルで削除する方法です。
Office 365 のバージョンに応じて、以下から適するオプションを参照してください。

Office 365 Small Business サブスクリプションについては、SharePoint Online のユーザー インターフェイスを利用してください。削除するには、次の手順に従います。
  1. https://portal.office.com で Office 365 管理センターを開きます。
  2. [サービス設定] で、[組織全体の設定と更新を管理] をクリックします。
  3. 左側のメニューで [サイトとドキュメントの共有] をクリックした後、[個別の外部ユーザーを削除する] をクリックします。
  4. 削除する外部ユーザーを選択し、[削除] (ごみ箱のアイコン) をクリックします。
その他すべてのサブスクリプションについては、SharePoint Online 管理シェルを使用する必要があります。

注: このオプションは、Office Small Business (P) の組織については適用されません。
  1. SharePoint Online 管理シェルをインストールします。詳細情報については、以下の Microsoft Web サイトを参照してください。
  2. SharePoint Online 管理シェルを起動します。
  3. 以下のコマンドレットを入力します。
    $cred = Get-Credential
  4. [Windows PowerShell 資格情報の要求] ダイアログ ボックスに管理者アカウントとパスワードを入力し、[OK] をクリックします。
  5. SharePoint Online に接続し、以下のコマンドレットを入力します。
    Connect-SPOService -Url https://-admin.sharepoint.com -Credential $cred
  6. 以下のコマンドレットを入力し、Enter キーを押して、各サイト コレクションからユーザーを削除します。
    $ExtUser = Get-SPOExternalUser -filter <account@contoso.com>
    注: このコマンドレット中、<account@contoso.com> を当該アカウントへ置き換えて実行してください。その後、ユーザーを削除するには以下のコマンドレットを入力し、Enter キーを押します。

    Remove-SPOExternalUser -UniqueIDs @($ExtUser.UniqueId)
この手順により、外部ユーザーは SharePoint Online にアクセスできなくなりますが、ひとの検索や、SharePoint Online 管理シェルで Get-SPOUser コマンドレット実行すると表示されます。SharePoint から完全にユーザーを削除するには、UserInfo リストから削除する必要があります。削除には 2 つの方法があります。 
  1. SharePoint Online のユーザー インターフェイスを使います。ユーザーが過去にアクセスした各サイト コレクションを開いた後、次の手順に従います。 
    1. サイト コレクションで、URL の末尾に以下の文字列を追加します。
      _layouts/15/people.aspx/membershipGroupId=0
      例: 以下のような URL になります。 
      https://<contoso>.sharepoint.com/_layouts/ 15/people.aspx/membershipGroupId=0
    2. リストからユーザーを選択します。
    3. リボンで [ユーザー権限の削除] をクリックします。
  2. SharePoint Online 管理シェルを使います。

    注: このオプションは、Small Business のサブスクリプションについては適用されません。

    SharePoint Online 管理シェルの利用方法に関する詳細情報については、以下の Microsoft Web サイトを参照してください。
    1. SharePoint Online 管理シェルを起動します。
    2. 以下のコマンドレットを入力します。
      $cred = Get-Credential
      [Windows PowerShell 資格情報の要求] 画面に管理者アカウントとパスワードを入力し、[OK] をクリックします。
    3. SharePoint Online に接続し、以下のコマンドレットを入力します。 
      Connect-SPOService -Url https://<contoso>-admin.sharepoint.com -Credential $cred
    4. 以下のコマンドレットを入力し、Enter キーを押して、各サイト コレクションからユーザーを削除します。
       Get-SPOUser -Site https://<contoso>.sharepoint.com | FT –a

      外部ユーザーのログイン名が検索結果に表示されます。外部ユーザーのアカウントが Microsoft アカウントである場合は、live.com# プレフィックスを含む可能性があります。

      以下のコマンドレットを入力します。 
      Remove-SPOUser -Site https://<contoso>.sharepoint.com -LoginName live.com#jondoe@company.com
      注:live.com#jondoe@company.com を実際のユーザー アカウントと置き換えて実行してください。
次に、Azure Active Directory からアカウントを削除する必要があります。以下の手順に従います:
  1. Azure Active Directory PowerShell Module と必須アイテムをインストールします:
  2. Azure Active Directory PowerShell Module を開き、以下のコマンドを実行します:
    1. Connect-MSOLService
      ダイアログ ボックスに管理者としての資格情報を入力します。
    2. Get-MsolUser -ReturnDeletedUsers -UnlicensedUsersOnly | ft -a
      削除した外部ユーザーを特定し、そのユーザーがリストに表示されているかどうか確認します。
    3. Remove-MsolUser -RemoveFromRecycleBin -UserPrincipalName 'jondoe_contoso.com#EXT#@yourdomaint.onmicrosoft.com'
      注: jondoe_contoso.com#EXT#@yourdomaint.onmicrosoft.com を実際のユーザー アカウントと置き換えてください。

ラウザーのキャッシュを削除する

SharePoint Online では、People Picker を含め、いくつかのシナリオにおいてブラウザーのキャッシング機能を使用します。ユーザーがシステムから完全に削除された場合でも、ブラウザーのキャッシュにこのユーザーが残っている可能性があります。ブラウザーのキャッシュを削除することで、この問題を解決できます。Internet Explorer でキャッシュの削除を実行するには、以下の Microsoft Web サイトに記載された手順に従ってください。

キャッシュの削除後、“クッキーと Web サイトデータ” のオプションも選択してください。

外部ユーザーを再び招待する

これらの手順を完了後、外部ユーザーの希望する電子メール アドレスを使用して、サイトに外部ユーザーを再び招待します。エンドユーザーが適切な電子メール アドレスで承諾していることを確認するには、招待状でリンクをコピーし、InPrivate ブラウズ セッションに張り付ける方法が推奨されています。これにより、招待の承諾にキャッシュされていない資格情報が使われていることが確認できます。 
追加情報
外部ユーザーの招待は、最初に送信された電子メール アドレスで承諾される必要はありません。招待は 1 回限りであり、他のユーザーが招待を承諾した場合や、ユーザーが招待状の送信先と異なる電子メール アドレスでサインアップした場合は、アクセスが拒否された旨のメッセージが表示される場合があります。

例えば、ユーザーが Microsoft アカウントを使ってブラウザーからサインインしており、電子メール アプリケーションで外部ユーザーとしてのアカウント宛の招待電子メールを受信し、その後、招待を承諾するためリンクをクリックした場合、ブラウザーは Cookie に基づいて、無効な ID で招待を誤って承諾します。

外部ユーザーのアカウントを使ってリソースにサインインすると、ディレクトリにユーザーが見つからない旨のエラー メッセージが表示されます。

その他トピックについては、Office 365 コミュニティ Web サイトを参照してください。
プロパティ

文書番号:3026478 - 最終更新日: 08/14/2015 18:02:00 - リビジョン: 5.0

Microsoft Office SharePoint Online

  • o365 o365e o365p o365a o365m o365022013 KB3026478
フィードバック