Sdílet prostřednictvím


Chyba, když uživatel typu host přijme pozvánku na SharePoint Online pomocí jiného účtu

Příznaky

Při pokusu o přístup ke sdílenému prostředku pomocí účtu hosta se zobrazí jedna z následujících chybových zpráv:

  • 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.

Řešení

Pokud chcete tento problém vyřešit, postupujte následovně:

  1. Určete, který účet pozvánku přijal.
  2. Odeberte nesprávný účet a přidejte správný účet.
  3. Pozvěte uživatele znovu k prostředku.

Poznámka: Mnoho příkladů v tomto článku používá <contoso> jako zástupný symbol. Ve vašem scénáři nahraďte <contoso> doménou, kterou používáte pro vaši organizaci.

Určení účtu, který má přístup jako uživatel typu host

Pokud se k webu dostanete jako nežádoucí externí uživatel, postupujte takto:

  1. Přihlaste se jako externí uživatelský účet, který jste použili k přijetí pozvánky.

  2. Klikněte na obrázek profilu v pravém horním rohu a potom klikněte na Moje nastavení.

  3. V poli Účet zkontrolujte e-mailovou adresu. Například: i:0#.f|membership|JonDoe@contoso.com.

    Poznámka: V tomto příkladu je e-mailový účet, JonDoe@contoso.com který přijal pozvánku uživatele.

  4. Pokud je adresa nesprávná, postupujte podle pokynů v části Odebrání nesprávného externího uživatelského účtu v tomto článku.

Pokud nemáte přístup k webu jako nesprávný externí uživatel, postupujte takto:

  1. Jako správce SharePointu Online se přihlaste k kolekci webů, která byla sdílena s externím uživatelem.

  2. Vyberte ikonu ozubeného kolečka pro nabídku Nastavení a pak vyberte Nastavení webu.

  3. V části Uživatelé a oprávnění vyberte Osoby a skupiny.

  4. Na konci adresy URL v okně prohlížeče za people.aspx? část adresy URL nahraďte MembershipGroupId=<číslo> s MembershipGroupId=0 a stiskněte Enter.

  5. V seznamu uživatelů vyhledejte jméno externího uživatele. Klikněte pravým tlačítkem myši na uživatelské jméno a zkopírujte zkratku.

  6. V novém okně nebo kartě prohlížeče vložte adresu URL, kterou jste zkopírovali v předchozím kroku, do pole Adresa. Na konec adresy URL přidejte &force=1 a stiskněte Enter.

  7. V poli Účet zkontrolujte e-mailovou adresu. Například: *i:0#.f|membership|JonDoe\@contoso.com.

    Poznámka: V tomto příkladu je e-mailový účet, JonDoe@contoso.com který přijal pozvánku uživatele.

  8. Pokud je adresa nesprávná, postupujte podle pokynů v části Odebrání nesprávného externího uživatelského účtu v tomto článku.

Odebrání nesprávného externího uživatelského účtu

Z každé kolekce webů, ke které má účet přístup, musíte odebrat externí uživatelský účet. Pokud chcete uživatelský účet odebrat, můžete použít uživatelské rozhraní SharePointu Online nebo SharePoint Online Management Shell v závislosti na vaší verzi Microsoftu 365.

Pro předplatná Microsoftu 365 pro firmy použijte uživatelské rozhraní SharePointu Online:

  1. Přejděte do Centra pro správu Microsoftu 365 na adrese https://portal.office.com.

  2. V nastavení služby vyberte Spravovat nastavení pro celou organizaci.

  3. V levé navigační nabídce vyberte weby a sdílení dokumentů a pak vyberte Odebrat jednotlivé externí uživatele.

  4. Vyberte externího uživatele, který chcete odebrat, a pak vyberte ikonu Odstranit .

Pro všechna ostatní předplatná použijte SharePoint Online Management Shell pomocí následujícího postupu:

Poznámka:

Tato možnost se nevztahuje na organizace Office Small Business (P).

  1. Stáhněte a nainstalujte prostředí SharePoint Online Management Shell.

  2. Otevřete SharePoint Online Management Shell a spusťte následující příkaz:

    $cred = Get-Credential
    
  3. V dialogovém okně Požadované přihlašovací údaje windows PowerShellu zadejte přihlašovací údaje správce a pak vyberte OK.

  4. Připojte se k SharePointu Online a spusťte následující příkaz:

    Connect-SPOService -Url https://-admin.sharepoint.com -Credential $cred
    
  5. Odstraňte uživatele z každé kolekce webů. Spusťte následující příkaz:

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

    Poznámka:

    V tomto příkazu nahraďte account@contoso.com ovlivněným účtem.

    Pokud chcete uživatele odebrat, spusťte následující příkaz:

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

Pomocí následujícího postupu odeberte možnost externího uživatele přistupovat k SharePointu Online. Uživatel se ale může stále zobrazovat ve výsledcích hledání a v rutině SharePoint Online Management Shell Get-SPOUser . Pokud chcete uživatele ze SharePointu Online úplně odebrat, odeberte ho ze seznamu UserInfo jedním z následujících způsobů.

  1. Použijte uživatelské rozhraní SharePointu Online. Přejděte do každé kolekce webů, ke které měl uživatel dříve přístup, a pak postupujte takto:

    1. V kolekci webů upravte adresu URL přidáním následujícího řetězce na konec adresy URL:

      _layouts/15/people.aspx/membershipGroupId=0
      

      Úplná adresa URL se například podobá následujícímu příkladu:

      https://<contoso>.sharepoint.com/_layouts/15/people.aspx/membershipGroupId=0
      
    2. Vyberte ze seznamu uživatele.

    3. Klikněte na Odebrat uživatelská oprávnění na pásu.

  2. Použijte prostředí SharePoint Online Management Shell.

    Poznámka:

    Tato možnost se nevztahuje na předplatná Small Business.

    1. Spusťte SharePoint Online Management Shell.

    2. Spusťte následující příkaz:

      $cred = Get-Credential
      

      V požadovaném okně přihlašovacích údajů windows PowerShellu zadejte přihlašovací údaje správce a pak vyberte OK.

    3. Připojte se k SharePointu Online a spusťte následující příkaz:

      Connect-SPOService -Url https://<contoso>-admin.sharepoint.com -Credential $cred
      
    4. Odstraňte uživatele z každé kolekce webů.

      Spusťte následující příkaz pro identifikaci ovlivněného hostujícího uživatelského účtu.

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

    Všimněte si přihlašovacího jména uživatele typu host ve vrácených výsledcích. Pro uživatele typu host může mít předponu "live.com#", pokud se jedná o účet Microsoft.

    Spuštěním následujícího příkazu odeberte externí uživatelský účet:

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

    Poznámka: Nahraďte live.com#jondoe@company.com přihlašovacím jménem uživatele ve vašem scénáři.

Dále musíte odebrat účet z ID Microsoft Entra:

  1. Stáhněte a nainstalujte sadu Microsoft Graph PowerShell SDK spuštěním následujícího příkazu:

    Install-Module Microsoft.Graph -Scope CurrentUser -Repository PSGallery 
    
  2. Spuštěním následujícího příkazu otevřete PowerShell a připojte se k Microsoft Graphu:

    Connect-MgGraph -Scopes "User.ReadWrite.All","Directory.ReadWrite.All"
    
  3. Do dialogového okna zadejte přihlašovací údaje správce.

  4. Vyhledejte externího uživatele (hosta) spuštěním následujícího příkazu. Tento příkaz vyfiltruje účet hosta podle hlavního názvu uživatele (UPN) a zobrazí ID, hlavní název uživatele (UPN) a UserType účtu. Nahraďte jondoe_contoso.com#EXT#@yourdomain.onmicrosoft.com konkrétním uživatelem ve vašem scénáři.

    $guestUpn = 'jondoe_contoso.com#EXT#@yourdomain.onmicrosoft.com'
    Get-MgUser -Filter "UserPrincipalName eq '$guestUpn'" -Property Id,UserPrincipalName,UserType | Format-Table -AutoSize
    
  5. Odeberte (dočasné odstranění) uživatele typu host spuštěním následujícího příkazu:

    Remove-MgUser -UserId <user-id> -Confirm:$false
    
  6. (Volitelné) Trvale odstraňte uživatele typu host z koše spuštěním následujícího příkazu:

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

Vymažte mezipaměť prohlížeče.

SharePoint Online používá ukládání do mezipaměti v prohlížeči v několika scénářích, včetně funkce Výběr osob. I po úplném odebrání uživatele ze systému může uživatel zůstat v mezipaměti prohlížeče. Vymazání mezipaměti prohlížeče tento problém vyřeší. Když vymažete mezipaměť, ujistěte se, že jste také vybrali možnost Soubory cookie a data webu .

Znovu zadejte externího uživatele.

Po odstranění externího uživatelského účtu znovu pozvěte externího uživatele na lokalitu pomocí příslušné e-mailové adresy. Pokud chcete zajistit, aby uživatel pozvánku přijal s příslušnou e-mailovou adresou, je osvědčeným postupem zkopírovat odkaz v pozvánce a vložit ho do relace procházení InPrivate. Tím se zajistí, že k přijetí pozvánky nebudou použity žádné přihlašovací údaje uložené v mezipaměti.

Více informací

Není nutné, aby pozvánka uživatele typu host byla přijata pomocí e-mailové adresy, na kterou byla odeslána. Je to jednorázová pozvánka. Pokud uživatel pozvánku přijme pomocí jiného účtu nebo pokud se uživatel, který pozvánku přijme, přihlásí k prostředku pomocí jiného účtu, než je e-mailová adresa, na kterou byla pozvánka odeslána, může se mu zobrazit Access denied zpráva.

Představte si například tento scénář. Uživatel se přihlásí přes prohlížeč pomocí účtu Microsoft a uživatel obdrží e-mailovou pozvánku ke svému externímu uživatelskému účtu v e-mailové aplikaci. Pak uživatel vybere odkaz pro přijetí pozvánky. Na základě souborů cookie prohlížeče uživatele však uživatel přijme pozvání pomocí nesprávné identity. Takže když se uživatel přihlásí k prostředku pomocí svého externího uživatelského účtu, zobrazí se mu chyba, že uživatel v adresáři nebyl nalezen.

Potřebujete ještě pomoc? Přejděte do komunity SharePointu.