网站搜索

SharePoint Online:使用 PowerShell 共享网站并邀请外部用户


要求:使用 PowerShell 与多个外部用户共享 SharePoint Online 网站。

如何向 SharePoint Online 中的外部用户授予访问权限?

您需要与外部用户共享 SharePoint 网站吗?那么,本指南将向您展示如何将外部用户添加到您的 SharePoint Online 网站。我们还将向您展示如何使用 PowerShell 将外部用户添加到您的 SharePoint Online。如果您管理多个 SharePoint Online 网站并需要快速轻松地授予访问权限,这会特别有用。我们将引导您完成所需的步骤并提供示例以帮助您简化该过程!

在将外部用户添加到 SharePoint Online 网站之前,请确保您的 SharePoint Online 租户配置为允许外部用户 - 默认情况下处于关闭状态!您可以通过转到以下位置快速检查是否为您的 SharePoint 租户启用了外部访问:

  1. 转到 Microsoft 365 管理中心下的 SharePoint 管理中心,展开策略,然后选择“共享”。
  2. 在“外部共享”中,确保“SharePoint”设置未设置为“仅限组织中的人员”(这意味着只有内部用户可以访问)。如果设置为“现有来宾”,您必须先邀请外部用户加入您的 Azure AD,然后再将其添加到 SharePoint Online。 (通信网站和经典网站的默认设置是“仅限组织中的人员”。即使您在组织级别设置共享,并且 Microsoft 365 组连接的团队网站的默认共享设置是“新来宾和现有来宾”。) 。如果您想允许匿名用户,请将其设置为“任何人”。

在组织级别(租户级别)确认外部共享设置后,下一步是通过以下方式检查是否在单个站点级别启用了外部共享:

  1. 登录到 SharePoint 管理中心,展开站点 >> 活动站点。
  2. 从列表中选择目标站点,然后单击功能区中的“共享”按钮。
  3. 在“共享”面板中,确保共享级别未设置为“仅限组织中的人员”(这意味着外部共享已禁用!)。

就这样!现在我们已准备好邀请外部协作者访问我们的 SharePoint 网站。有关在 SharePoint Online 和 OneDrive 中允许外部共享的详细信息:如何在 SharePoint Online 中启用外部共享?

如何与外部用户共享 SharePoint Online 网站?

确认为您的网站启用了 SharePoint Online 外部共享后,请执行以下操作以与外部用户共享 SharePoint 网站:

  1. 导航到要与外部用户共享的 SharePoint Online 网站。
  2. 单击右上角的“共享”按钮。或者,您可以单击站点设置>>站点权限>>共享站点。

  3. 在共享站点面板中,输入外部用户的电子邮件ID,选择权限级别,例如“读取”、“编辑”等,以允许他们下载/上传,选择是否共享邀请发送,然后单击“共享”将外部用户添加到 SharePoint Online。您还可以将他们添加为群组成员。

来自 SharePoint Online 的外部用户邀请将发送给收件人,他们可以通过电子邮件中的链接访问该网站。让我们看看如何在 SharePoint Online 中使用 PowerShell 与外部用户共享:

SharePoint Online:使用 PowerShell 与外部用户共享

此 PowerShell 脚本邀请外部用户访问 SharePoint 网站并授予对该网站的查看权限。邀请电子邮件中还包含自定义电子邮件消息。


#Load SharePoint CSOM Assemblies
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.dll"
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"

#Set Variables
$SiteURL = "https://crescent.sharepoint.com/sites/marketing"
$Users = "Mark.Ellis@gmail.com","Sayeed.Alhajiri@gmail.com"
 
#Get Credentials to connect
$Cred = Get-Credential
 
Try {
    #Setup the context
    $Ctx = New-Object Microsoft.SharePoint.Client.ClientContext($SiteURL)
    $Ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Cred.UserName,$Cred.Password)

    #Create Request List
    $UserList = New-Object "System.Collections.Generic.List``1[Microsoft.SharePoint.Client.Sharing.UserRoleAssignment]"

    #Set Role for each user
    ForEach($User in $Users)
    {
        $UserRoleAssignment = New-Object Microsoft.SharePoint.Client.Sharing.UserRoleAssignment
        $UserRoleAssignment.UserId = $User
        $UserRoleAssignment.Role = [Microsoft.SharePoint.Client.Sharing.Role]::View  #Other Options: Edit, or Owner
        $UserList.Add($UserRoleAssignment)
    }

    #Send invites
    $EmailMessage = "Please accept this invitation to our Marketing Site. Thanks!"
    [Microsoft.SharePoint.Client.Sharing.WebSharingManager]::UpdateWebSharingInformation($Ctx, $Ctx.Web, $UserList, $True, $EmailMessage, $True, $True)
    $Ctx.ExecuteQuery()
}
catch {
    write-host "Error: $($_.Exception.Message)" -foregroundcolor Red
}

该脚本向外部用户发送邀请:

外部用户可以单击电子邮件中的链接来访问您的 SharePoint 网站。一旦用户接受邀请,他们就可以访问网站的所有内容并与其他成员协作。请注意,用户必须拥有 Microsoft Live ID!如果尚未创建,他们可以通过电子邮件创建 Microsoft 帐户(顺便说一句,他们不需要任何 Microsoft 许可证!)。 通过执行本文中概述的步骤,管理员和网站所有者可以轻松地将来宾用户添加到其 SharePoint Online 网站,从而使他们能够访问所需的内容和资源。

总之,与外部用户共享 SharePoint Online 网站可能是与合作伙伴和客户协作的关键步骤。通过使用本文中提供的 PowerShell 脚本,组织可以自动执行共享其 SharePoint Online 网站和邀请外部用户的过程。这可以节省时间和精力,改善协作和沟通!

您还可以使用 SharePoint Online Management Shell cmdlet 或 PnP PowerShell 邀请外部用户!如何使用 PowerShell 将外部用户添加到 SharePoint Online?

经常问的问题:

如何邀请访客加入 Azure AD?

要将外部用户添加到 Azure Active Directory,请登录 Microsoft 管理中心:https://admin.microsoft.com/ >> 打开“Azure Active Directory”管理中心 >> 单击“用户”>> 新来宾用户。输入访客用户的姓名,填写电子邮件和其他可选字段,然后单击页面底部的“邀请”按钮以邀请多个外部用户。您还可以使用 PowerShell cmdlet New-AzureADMSInvitation 邀请来宾加入 Azure AD。
详细信息:如何邀请来宾用户加入 Azure AD for SharePoint Online?

如何检查 SharePoint 网站是否启用了外部共享?

要检查网站集的外部共享设置,请登录 SharePoint Online 管理中心 >> 单击左侧导航中的“网站”链接 >> 从网站列表中选择网站集,然后单击“共享”按钮工具栏。共享页面显示当前网站的外部共享设置。
详细信息:如何在 SharePoint Online 中检查外部共享?

如何使用 PowerShell 在 SharePoint Online 中启用外部共享?

要允许使用 PowerShell 在 SharePoint Online 中进行外部共享,请使用带有“SharingCapabilityExternalUserAndGuestSharing”参数的 Set-SPOTenant 和 Set-SPOSite cmdlet。您还可以使用 PnP PowerShell cmdlet Set-PnPTenant 和 Set-PnPTenantSite。
详细信息:如何使用 PowerShell 在 SharePoint Online 中启用外部共享?

如何与外部用户共享SharePoint文件夹?

要与外部用户共享 SharePoint 文件夹,请导航到该文件夹所在的文档库,然后选择要共享的文件夹。然后右键单击该文件夹并选择“共享”。选择链接设置为“特定人员”并单击“应用”,输入外部用户的电子邮件地址并为该用户选择适当的权限级别。输入用户信息后,单击“发送”按钮将邀请发送给用户。请务必注意,应首先启用外部共享才能与 SharePoint 中的外部用户共享文件夹。此外,来宾用户必须拥有 Microsoft 帐户(个人/工作/学校帐户)才能访问共享文件或文件夹,并且他们必须输入发送到其电子邮件的验证码。

相关文章