Поделиться через


Ошибка, когда гостевой пользователь принимает приглашение SharePoint Online с помощью другой учетной записи

Симптомы

При попытке доступа к общему ресурсу при попытке получить доступ к общему ресурсу с помощью гостевой учетной записи вы получите одно из следующих сообщений об ошибке:

  • Access Denied
  • Let us know why you need access to this site.
  • User is not found in the directory
  • You need permission to access this site.

Резолюция

Проблему можно устранить следующим способом.

  1. Определите, какая учетная запись приняла приглашение.
  2. Удалите неправильную учетную запись и добавьте правильную учетную запись.
  3. Повторно пригласите пользователя к ресурсу.

Примечание. Многие примеры в этой статье используют <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? части URL-адреса, замените MembershipGroupId=<number> на MembershipGroupId=0, а затем нажмите клавишу ВВОД.

  5. В списке пользователей найдите имя внешнего пользователя. Щелкните правой кнопкой мыши имя пользователя и скопируйте ярлык.

  6. В новом окне браузера или вкладке вставьте URL-адрес, скопированный на предыдущем шаге, в адресное поле. Добавьте &force=1 в конец URL-адреса и нажмите клавишу Enter.

  7. В поле "Учетная запись" просмотрите адрес электронной почты. Например: *i:0#.f|membership|JonDoe\@contoso.com.

    Примечание. В этом примере JonDoe@contoso.com используется учетная запись электронной почты, которая приняла приглашение пользователя.

  8. Если адрес неверный, выполните действия, описанные в разделе "Удалить неправильную внешнюю учетную запись пользователя" этой статьи.

Удаление неправильной учетной записи внешнего пользователя

Необходимо удалить внешнюю учетную запись пользователя из каждого семейства веб-сайтов, к которому имеется доступ. Чтобы удалить учетную запись пользователя, можно использовать пользовательский интерфейс SharePoint Online или оболочку управления SharePoint Online в зависимости от версии Microsoft 365.

Для подписок Microsoft 365 для бизнеса используйте пользовательский интерфейс SharePoint Online:

  1. Перейдите в Центр администрирования Microsoft 365 по адресу https://portal.office.com.

  2. В параметрах службы выберите "Управление параметрами всей организации".

  3. Выберите сайты и общий доступ к документам в меню навигации слева, а затем выберите "Удалить отдельных внешних пользователей".

  4. Выберите внешнего пользователя, который нужно удалить, а затем щелкните значок "Удалить ".

Для всех остальных подписок используйте оболочку управления SharePoint Online, выполнив следующие действия:

Замечание

Этот параметр не применяется к организациям Office Small Business (P).

  1. Скачайте и установите оболочку управления SharePoint Online.

  2. Запустите командную консоль SharePoint Online и выполните следующую команду:

    $cred = Get-Credential
    
  3. В диалоговом окне "Необходимые учетные данные Windows PowerShell" введите учетные данные администратора и нажмите кнопку "ОК".

  4. Подключитесь к SharePoint Online и выполните следующую команду:

    Connect-SPOService -Url https://-admin.sharepoint.com -Credential $cred
    
  5. Удалите пользователя из каждой коллекции сайтов. Выполните следующую команду:

    $ExtUser = Get-SPOExternalUser -filter <account@contoso.com>
    

    Замечание

    В этой команде замените account@contoso.com на учетную запись, которую это затронуло.

    Чтобы удалить пользователя, выполните следующую команду:

    Remove-SPOExternalUser -UniqueIDs @($ExtUser.UniqueId)
    

Выполните следующие действия, чтобы удалить возможность внешнего пользователя получить доступ к SharePoint Online. Однако пользователь может по-прежнему отображаться в результатах поиска и в командлете консоли управления SharePoint Online Get-SPOUser. Чтобы полностью удалить пользователя из SharePoint Online, удалите пользователя из списка UserInfo с помощью одного из следующих методов.

  1. Используйте пользовательский интерфейс SharePoint Online. Перейдите к каждому семейству веб-сайтов, к которому пользователь ранее имел доступ, и выполните следующие действия:

    1. В семействе веб-сайтов измените URL-адрес, добавив следующую строку в конец URL-адреса:

      _layouts/15/people.aspx/membershipGroupId=0
      

      Например, полный URL-адрес похож на следующий пример:

      https://<contoso>.sharepoint.com/_layouts/15/people.aspx/membershipGroupId=0
      
    2. Выберите пользователя из списка.

    3. Нажмите кнопку "Удалить разрешения пользователя " на ленте.

  2. Используйте оболочку управления SharePoint Online.

    Замечание

    Этот параметр не применяется к подпискам малого бизнеса.

    1. Запустите оболочку управления SharePoint Online.

    2. Выполните следующую команду:

      $cred = Get-Credential
      

      В окне обязательных учетных данных Windows PowerShell введите учетные данные администратора, а затем нажмите кнопку "ОК".

    3. Подключитесь к SharePoint Online и выполните следующую команду:

      Connect-SPOService -Url https://<contoso>-admin.sharepoint.com -Credential $cred
      
    4. Удалите пользователя из каждой коллекции сайтов.

      Выполните следующую команду, чтобы определить затронутую учетную запись гостевого пользователя:

      Get-SPOUser -Site https://<contoso>.sharepoint.com | FT –a
      

    Обратите внимание на имя входа гостевого пользователя из возвращенных результатов. Для гостевого пользователя может быть префикс "live.com#", если это учетная запись Майкрософт.

    Выполните следующую команду, чтобы удалить внешнюю учетную запись пользователя:

    Remove-SPOUser -Site https://<contoso>.sharepoint.com -LoginName live.com#jondoe@company.com
    

    Примечание. Замените live.com#jondoe@company.com именем входа пользователя в вашем сценарии.

Затем необходимо удалить учетную запись из идентификатора Microsoft Entra:

  1. Скачайте и установите пакет SDK Microsoft Graph PowerShell, выполнив следующую команду:

    Install-Module Microsoft.Graph -Scope CurrentUser -Repository PSGallery 
    
  2. Откройте PowerShell и подключитесь к Microsoft Graph, выполнив следующую команду:

    Connect-MgGraph -Scopes "User.ReadWrite.All","Directory.ReadWrite.All"
    
  3. В диалоговом окне введите учетные данные администратора.

  4. Найдите внешнего (гостевого) пользователя, выполнив следующую команду. Эта команда фильтрует гостевую учетную запись по УПН и отображает идентификатор, УПН и тип пользователя учетной записи. Замените jondoe_contoso.com#EXT#@yourdomain.onmicrosoft.com конкретного пользователя в своем сценарии.

    $guestUpn = 'jondoe_contoso.com#EXT#@yourdomain.onmicrosoft.com'
    Get-MgUser -Filter "UserPrincipalName eq '$guestUpn'" -Property Id,UserPrincipalName,UserType | Format-Table -AutoSize
    
  5. Удалите (мягкое удаление) гостевого пользователя, выполнив эту команду:

    Remove-MgUser -UserId <user-id> -Confirm:$false
    
  6. (Необязательно) Удалите гостевого пользователя из корзины окончательно, выполнив следующую команду:

    $deleted = Get-MgDirectoryDeletedItem -Filter "Id eq '<user-id>'" -All
    Remove-MgDirectoryDeletedItem -DirectoryObjectId $deleted.Id -Confirm:$false
    

Очистка кэша браузера

SharePoint Online использует кэширование браузера в нескольких сценариях, включая функцию выбора людей. Даже после полного удаления пользователя из системы пользователь может оставаться в кэше браузера. Очистка кэша браузера устраняет эту проблему. После очистки кэша убедитесь, что также выбран параметр "Файлы cookie" и "Данные веб-сайта ".

Повторное подключение внешнего пользователя

После удаления внешней учетной записи пользователя повторно войдите на сайт с помощью соответствующего адреса электронной почты. Чтобы убедиться, что пользователь принимает приглашение с соответствующим адресом электронной почты, рекомендуется скопировать ссылку в приглашении, а затем вставить ее в сеанс просмотра InPrivate. Это гарантирует, что для принятия приглашения не используются кэшированные учетные данные.

Дополнительные сведения

Это не требование для принятия приглашения гостевого пользователя с помощью адреса электронной почты, на который он был отправлен. Это однократное приглашение. Если пользователь принимает приглашение с помощью другой учетной записи или если пользователь, принимающий приглашение, входит в ресурс с учетной записью, отличной от адреса электронной почты, на который было отправлено приглашение, может появиться сообщение Access denied.

Например, рассмотрим этот сценарий. Пользователь входит в систему через браузер с помощью учетной записи Майкрософт, и пользователь получает приглашение по электронной почте к своей учетной записи внешнего пользователя в своем почтовом приложении. Затем пользователь выбирает ссылку, чтобы принять приглашение. Основываясь на файлах cookie браузера, пользователь принимает приглашение, используя неправильное удостоверение. Поэтому, когда пользователь входит в систему ресурса с помощью своей внешней учетной записи, он получает ошибку о том, что пользователь не найден в каталоге.

Все еще нужна помощь? Перейдите в сообщество SharePoint.