SharePoint Online:使用 PowerShell 将网站共享给“除外部用户之外的所有人”
要求:在 SharePoint Online 中添加除外部用户之外的所有人
SharePoint Online:与除外部用户组之外的所有人共享
我需要向组织中的每个人授予对 SharePoint Online 网站的访问权限。在 SharePoint Online 中,您可以与“除外部用户之外的所有人”共享网站、文档库或单个文档。
要与除外部用户之外的所有人共享,请执行以下操作:
- 登录您的 SharePoint Online 网站 >> 单击右上角的“共享”按钮。
在“添加用户”弹出窗口中,输入“除外部用户之外的所有人”,选择相关的 SharePoint 组或该组的权限,然后单击“共享”。
您还可以通过转到站点设置>>单击“用户和权限”组下的“站点权限”>>选择要添加组织中每个人的组>>新建>>添加用户>>输入“除外部用户外的所有人” >> 单击“共享”。
如果您在共享弹出页面中没有看到“除外部用户之外的所有人”,您必须确保您的租户是否启用了除外部用户声明之外的所有人:SharePoint Online:如何启用除外部用户之外的所有人?
PowerShell 在 SharePoint Online 中添加除外部用户之外的所有人
或者,您可以使用 PowerShell 与“除外部用户之外的所有人”共享网站。以下是如何使用 PowerShell 将除外部用户之外的所有人添加到站点访问者组:
#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"
#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)
#Get the default visitors groups of the site
$VisitorsGroup = $ctx.web.AssociatedVisitorGroup
$Ctx.load($VisitorsGroup)
$Ctx.ExecuteQuery()
#Resolve User Name by Display Name
$Principal = [Microsoft.SharePoint.Client.Utilities.Utility]::ResolvePrincipal($Ctx, $Ctx.Web, "Everyone except external users", "All", "All", $Null, $True)
$Ctx.ExecuteQuery()
$User = $Ctx.Web.EnsureUser($Principal.Value.LoginName)
$Ctx.ExecuteQuery()
#Add user to the group
$VisitorsGroup.Users.AddUser($User) | Out-Null
$Ctx.ExecuteQuery()
}
catch {
write-host "Error: $($_.Exception.Message)" -foregroundcolor Red
}
PnP PowerShell 将除外部用户之外的所有人添加到站点
让我们使用 PnP PowerShell 将除外部用户之外的所有人添加到站点的访客组中。
#Config Parameter
$SiteURL = "https://crescent.sharepoint.com/sites/marketing"
#Connect to PnP Online
Connect-PnPOnline -Url $SiteURL -Credentials (Get-Credential)
#Get the Group to Add - Default Visitors group of the site
$Group = Get-PnPGroup -AssociatedVisitorGroup
#Add Everyone except External Users to Visitors group
Add-PnPGroupMember -Identity $Group -LoginName "everyone except external users"
结论
总之,SharePoint Online 允许您与“除外部用户之外的所有人”共享网站、文档库或单个文档。此功能允许您与组织中的每个人共享内容,同时仍然通过排除外部用户来维护安全和隐私。与“除外部用户之外的所有人”共享的过程可以通过 SharePoint UI 或使用 PowerShell 来完成。
