外部用户通过另一个帐户SharePoint联机邀请时出错

问题

尝试访问外部共享资源时会收到以下错误消息之一:

  • 访问被拒绝
  • 请告诉我们为什么您需要访问此网站。
  • 目录中未找到用户
  • 您需要具有访问此网站的权限。

解决方案

若要解决此问题,请确定接受邀请的帐户,删除不正确的帐户和正确的帐户,然后重新邀请用户加入资源。

备注

本文中的许多示例都 <contoso> 使用 作为占位符。 在你的方案中,将 <contoso> 替换为你用于组织的域。

确定哪个帐户作为外部用户具有访问权限

如果您以不正确的外部用户访问网站,请按照以下步骤操作:

  1. 以用于接受邀请的外部用户帐户登录。

  2. 单击右上角的配置文件图像,然后单击"我的设置"。

  3. 在"帐户"字段中,查看电子邮件地址。 例如,i:0#.f|membership|。 JonDoe@contoso.com

    备注

    本示例中, JonDoe@contoso.com 是接受用户邀请的电子邮件帐户。

  4. 如果地址不正确,请转到"删除不正确的外部用户帐户"部分。

如果您无法以不正确的外部用户访问网站,请按照以下步骤操作:

  1. 作为 SharePoint Online 管理员,登录到与外部用户共享的网站集。

  2. 单击"网站设置"菜单 设置 齿轮图标,然后单击"网站 设置"。

  3. 在“用户和权限”部分,单击“人员和组”。

  4. 在浏览器窗口中 URL 的末尾,在 URL 的 people.aspx? 部分后,将 MembershipGroupId= <number> 替换为 MembershipGroupId=0, 然后按 Enter。

  5. 在用户列表中,找到外部用户的名称。 右键单击用户名,然后复制快捷方式。

  6. 在新的浏览器窗口或选项卡中,将上一步中复制的 URL 粘贴到地址框中。 将 &force=1 添加到 URL 的末尾,然后按 Enter。

  7. "帐户 "字段中,查看电子邮件地址。 例如 ,i:0#.f|membership|JonDoe @ contoso.com

    备注

    本示例中 ,JonDoe @ contoso.com 是接受用户邀请的电子邮件帐户。

  8. 如果地址不正确,请转到"删除不正确的外部用户帐户"部分。

删除不正确的外部用户帐户

外部用户通过网站集从网站集进行管理。 外部用户帐户必须从该帐户有权访问的每个网站集中删除。 你可以从 SharePoint Online 用户界面或 SharePoint Online 命令行管理程序,具体取决于你的 Office 365。

对于Office 365 小型企业版订阅,请使用 SharePoint Online UI。 为此,请按照下列步骤操作:

  1. 浏览到Office 365管理中心 https://portal.office.com

  2. "服务设置",单击"管理组织范围的设置"。

  3. 左侧菜单中单击"网站和文档共享",然后单击"删除 各个外部用户"。

  4. 选择必须删除的外部用户,然后单击"删除 " 图标。

所有其他订阅都必须按照以下步骤SharePoint命令行管理程序:

备注

此选项不适用于 P 组织Office小型企业 () 。

  1. 下载并安装 SharePoint Online 命令行管理程序。 有关详细信息,请转到联机命令行管理程序SharePoint简介

  2. 启动 SharePoint Online 命令行管理程序。

  3. 键入以下 cmdlet:

    $cred = Get-Credential
    
  4. "Windows PowerShell凭据"对话框中,键入管理员帐户和密码,然后单击"确定 "。

  5. 连接 SharePoint Online,然后键入以下 cmdlet:

    Connect-SPOService -Url https://-admin.sharepoint.com -Credential $cred
    
  6. 从每个网站集中删除用户。 键入以下 cmdlet,然后按 Enter:

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

    备注

    在此 cmdlet 中,将 account@contoso.com 替换为受影响的帐户。 然后,若要删除用户,请键入以下 cmdlet,然后按 Enter:

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

以下步骤使外部用户无法访问 SharePoint Online。 但是,该用户仍将出现在任何人员搜索和 SharePoint 命令行管理程序 Get-SPOUser cmdlet 中。 若要从 SharePoint Online 完全删除用户,您必须从 UserInfo 列表中删除该用户。 有两种方法可以实现此目的。

  1. 使用 SharePoint Online UI。 为此,请浏览到用户以前有权访问的每个网站集,然后执行以下步骤:

    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 命令行管理程序。 有关如何使用联机命令行管理程序SharePoint,请转到 SharePoint Online 命令行管理程序 简介

    备注

    此选项不适用于小型企业版订阅。

    1. 启动 SharePoint Online 命令行管理程序。

    2. 键入以下 cmdlet:

      $cred = Get-Credential
      

      在"Windows PowerShell凭据"窗口中,键入管理员帐户和密码,然后单击"确定"。

    3. 连接 SharePoint Online,然后键入以下 cmdlet:

      Connect-SPOService -Url https://<contoso>-admin.sharepoint.com -Credential $cred
      
    4. 从每个网站集中删除用户。 为此,请键入以下 cmdlet:

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

    请注意返回结果中的外部用户的登录名。 作为外部用户,如果它是 Microsoft 帐户,则其前缀可能为"live.com#"。

    键入以下 cmdlet:

    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 模块及其必备组件。 To this, go to Manage Azure AD using Windows PowerShell.

  2. 打开 Azure Active Directory PowerShell 模块,然后运行以下命令:

    Connect-MSOLService
    

    在对话框中输入管理员凭据:

    Get-MsolUser -ReturnDeletedUsers -UnlicensedUsersOnly | ft -a
    
  3. 找到您刚刚删除的外部用户,然后确认他们已列出。

    Remove-MsolUser -RemoveFromRecycleBin -UserPrincipalName 'jondoe_contoso.com#EXT#@yourdomaint.onmicrosoft.com'
    

    备注

    jondoe_contoso.com#EXT# @ yourdomain.onmicrosoft.com 替换为方案中的特定用户。

清除浏览器缓存

SharePoint联机在多种方案中使用浏览器缓存,包括人员选取器中的 。 即使已从系统完全删除用户,该用户仍可能仍保留在浏览器缓存中。 清除浏览器缓存可解决此问题。 若要为用户Internet Explorer,请按照查看 和删除浏览历史记录中提供的步骤操作

清除缓存时,请确保还选择 "Cookie 和网站数据" 选项。

重新邀请外部用户

执行这些步骤后,使用所需电子邮件地址重新邀请外部用户加入网站。 若要确保最终用户接受相应的电子邮件地址,最佳做法是复制邀请中的链接,然后将其粘贴到 InPrivate 浏览会话中。 这将确保不会使用缓存的凭据来接受邀请。

更多信息

外部用户邀请不要求首次发送它的电子邮件地址接受外部用户邀请。 它是一次邀请。 如果另一个用户接受邀请,或者如果接受邀请的用户使用发送邀请的电子邮件地址外的帐户进行注册,则可能会遇到拒绝访问邮件。

例如,用户使用 Microsoft 帐户通过浏览器登录,并且用户在用户的电子邮件应用程序中收到用户的外部用户帐户的电子邮件邀请。 然后,用户单击链接以接受邀请。 但是,根据用户的浏览器 Cookie,用户会使用不正确的标识意外接受邀请。

当用户使用用户的外部用户帐户登录资源时,用户会收到在目录中未找到该用户的错误。

仍然需要帮助? 请转到 SharePoint 社区