当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] SharePoint Online:如何使用 PowerShell 删除外部用户?

作者:精品下载站 日期:2024-12-14 14:44:24 浏览:14 分类:玩电脑

SharePoint Online:如何使用 PowerShell 删除外部用户?


要求:从 SharePoint Online 中删除外部用户。

如何从 SharePoint Online 中删除外部用户?

外部用户是不属于您的组织但已被邀请在网站或文档上进行协作的人员(例如合作伙伴、供应商等)。如果您正在管理 SharePoint Online,则可能会出现需要删除外部用户的情况。例如,如果不再需要用户或已离开公司。此博文将向您展示如何使用 PowerShell 从 SharePoint Online 网站删除用户的外部访问权限。

若要从 SharePoint Online 中删除外部用户,我们必须从网站中删除外部用户权限,然后从 SharePoint Online 租户中删除其配置文件。

步骤 1:从 SharePoint Online 网站集中删除外部用户

如何删除 SharePoint 对外部用户的访问权限?更新参数,并运行此 cmdlet 以获取网站集的所有外部用户。


#Parameters
$AdminSiteURL="https://Crescent-admin.sharepoint.com"

#Connect to SharePoint Online Tenant Admin
Connect-SPOService -URL $AdminSiteURL -Credential (Get-Credential)

$SiteUrl = "https://crescent.sharepoint.com"
Get-SPOUser -Limit All -Site $SiteURL | Where {$_.LoginName -like "*#ext#*" -or $_.LoginName -like "*urn:spo:guest*"}

记下返回的登录名。

使用 PowerShell 删除外部用户

获取上面列出的外部用户并运行Remove-SPOUser cmdlet 以从SharePoint Online 网站集中删除外部用户。


$ExternalUserID= "salaudeen_hotmail.com#ext#@crescent.com"
Remove-SPOUser -Site $SiteURL -LoginName $ExternalUserID

此脚本撤销外部用户的访问权限。特定用户的访问权限(包括站点、文件和文件夹)将丢失!您也可以使用以下方法删除外部用户。

从 SharePoint Online 网站集中删除外部用户

您还可以按照以下步骤从 Web 浏览器界面删除 SharePoint Online 网站集中的外部用户:

  1. 转到站点 >> 单击设置齿轮图标 >> 站点设置 >> 人员和组。现在,URL 应类似于 https://YourCompany.sharepoint.com/_layouts/15/people.aspx?MembershipGroupId=XX。通过将 XX 更改为“0”并按 Enter 键来编辑 URL (https://YourCompany.sharepoint.com/_layouts/15/people.aspx?MembershipGroupId=0)
  2. 选中用户旁边的复选框,然后单击操作 >> 从网站集中删除用户
  3. 确认一次提示以从 SharePoint Online 中删除外部用户。

    [玩转系统] SharePoint Online:如何使用 PowerShell 删除外部用户?

这会删除外部用户的特定站点权限。

步骤 2:从 SharePoint Online 租户中删除外部用户

使用SharePoint Online 中的Remove-SPOExternalUser cmdlet 通过PowerShell 删除外部用户。要使用此 cmdlet,您需要外部用户的唯一 ID。


#Import SharePoint Online Management Shell
Import-Module Microsoft.Online.Sharepoint.PowerShell -DisableNameChecking

#Config Parameters
$AdminSiteURL="https://Crescent-admin.sharepoint.com"

#Get Credentials to connect
$Cred = Get-Credential

#Connect to SharePoint Online Tenant Admin
Connect-SPOService -URL $AdminSiteURL -Credential $Cred

$ExternalUserEmail= "[email protected]"
#Get the ID of the External User
$ExternalUser = Get-SPOExternalUser -filter $ExternalUserEmail

#remove external user from sharepoint online powershell  
Remove-SPOExternalUser -UniqueIDs @($ExternalUser.UniqueId) -Confirm:$false

这将从 SharePoint Online 租户中删除给定的用户配置文件。就是这样!您已成功从 SharePoint Online 网站中删除外部用户。他们将无法再访问您网站上的任何内容或资源,从而确保您数据的安全和隐私。

PnP PowerShell 删除外部用户

我们还可以使用Remove-PnPExternalUser cmdlet 从SharePoint Online 租户中删除外部用户。


#Parameters
$TenantAdminURL = "https://crescent-admin.SharePoint.com"
$ExternalUserEmail= "[email protected]"

#Connect to Admin Center
Connect-PnPOnline -Url $TenantAdminURL -Interactive

#Get the External User
$User = Get-PnPExternalUser -Filter $ExternalUserEmail

If($User -ne $Null)
{
    #Remove External User
    Remove-PnPExternalUser -UniqueIDs @($User.UniqueId)
    Write-host "User '$ExternalUserEmail' Removed Successfully!" -f Geeen
}
Else
{
    Write-host "User '$ExternalUserEmail' Not Found!" -f Yellow
}

这将从 SharePoint Online 租户中删除外部用户。然而,它完好无损地保留了“用户信息列表”。因此,我们必须使用 Get-SPOUser 和 Remove-SPOUser cmdlet 来完全删除外部用户。

PowerShell 删除 SharePoint Online 中的所有外部用户:

在租户级别禁用外部共享后,删除所有网站集中的所有外部用户怎么样?若要从 SharePoint Online 中删除外部用户,我们必须从网站集权限和 SharePoint Online 租户级别中删除它们。


#Import SharePoint Online Management Shell
Import-Module Microsoft.Online.Sharepoint.PowerShell -DisableNameChecking

#Config Parameters
$AdminSiteURL="https://crescent-admin.sharepoint.com"

#Connect to SharePoint Online Tenant Admin
Connect-SPOService -URL $AdminSiteURL

#Get all Site Collections - Exclude: Seach Center, Redirect site, Mysite Host, App Catalog, Content Type Hub, eDiscovery and Bot Sites
$SiteCollections = Get-SPOSite -Limit ALL | Where -Property Template -NotIn ("SRCHCEN#0", "REDIRECTSITE#0", "SPSMSITEHOST#0", "APPCATALOG#0", "POINTPUBLISHINGHUB#0", "EDISC#0", "STS#-1")

#Iterate through each site collection
ForEach($Site in $SiteCollections)
{
    Write-host -f Yellow "Checking Site Collection:"$Site.URL

    #Get All External users of the individual site collection
    $ExternalUsers = Get-SPOUser -Limit All -Site $Site.URL | Where {$_.LoginName -like "*#ext#*" -or $_.LoginName -like "*urn:spo:guest*"}

    #Loop through each User and remove them from site collection
    ForEach($ExtUser in $ExternalUsers)
    {
        #Remove the user from the site collection
        Remove-SPOUser -Site $Site.URL -LoginName $ExtUser.LoginName
        Write-host -f Green "`tExternal User $($ExtUser.LoginName) has been removed from site collection" 
    }
}
    #Remove All External Users at Tenenat Level
    $TenantExternalUsers=@()
    #Get All External Users at Tenant Level
    Try {
        For ($x=0;;$x+=50) {
            $TenantExternalUsers += Get-SPOExternalUser -Position $x -PageSize 50 -ErrorAction Stop
        }
    }
    catch {}

 $TenantExternalUsers | ForEach-Object {
    Remove-SPOExternalUser @($_.UniqueId) -Confirm:$false
    Write-host -f Green "External User $($ExtUser.Email) has been removed from the tenant!"
 }

请注意:如果您仍然可以在人员选择器等地方找到已删除的外部用户,您可能需要清除浏览器缓存!如果明确邀请他们,请不要忘记将其从 Azure AD 中删除!

包起来

作为 SharePoint 管理员,维护网站的安全性和完整性至关重要,这意味着控制谁有权访问您的宝贵信息。无论您是 SharePoint 新手还是只是需要快速复习一下,我希望本指南为您提供了所需的所有信息,以确保只有合适的人员才能访问您的网站。如果您想关闭 SharePoint Online 中的外部协作,请参阅如何在 SharePoint Online 中禁用外部共享?

经常问的问题:

如何在 SharePoint 中禁用除外部用户之外的所有人?

要禁用 SharePoint Online 中的“Everyone”组,我们可以将“ShowEveryoneExceptExternalUsersClaim”值设置为“False”。默认情况下,“除外部用户之外的所有人”声明将添加到公共组网站上的“成员”组中。这将阻止内部用户访问该声明,同时仍允许外部用户访问它。详细信息:如何禁用除外部用户之外的所有人?

如何在 OneDrive 中关闭每个用户的外部共享?

要禁用用户的 OneDrive 的外部共享,我们可以转到 Microsoft 365 管理中心并选择要修改其 OneDrive 的用户。在 OneDrive >> 共享下,选择管理外部共享。从那里,我们可以选择新的外部共享级别配置并保存更改。我们还可以使用带有参数 -SharingCapability 的 PowerShell cmdlet Set-SPOSite 来更改用户 OneDrive 的外部共享设置!详细信息:如何禁用 OneDrive 网站的外部共享?

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

为了向 SharePoint Online 中的外部用户提供访问权限,我们必须首先在组织和网站集级别启用外部共享。启用外部共享后,我们可以通过导航到该网站并单击右上角的“共享”按钮来与来宾用户共享 SharePoint Online 网站。然后我们可以输入外部用户的电子邮件ID(必须是Microsoft帐户或Azure Active Directory下的帐户),选择权限级别,选择是否发送共享邀请,然后单击“共享”添加SharePoint Online 的外部用户。或者,我们可以使用 PowerShell 邀请外部用户访问 SharePoint 网站并授予他们权限。
详细信息:如何将外部用户添加到 SharePoint Online?

如何在 SharePoint 网站上启用外部共享?

要在 SharePoint 网站上启用外部共享,我们必须首先确保在组织(租户)级别启用外部共享。我们可以通过转到 SharePoint 管理中心并单击左侧导航中的策略 >> 共享来完成此操作。在“外部共享”设置下,我们可以将外部共享级别设置为“任何人”/“新来宾”和“现有来宾”/“现有来宾”,仅打开来宾用户访问权限。在组织级别启用外部共享后,我们可以通过转到 SharePoint Online 管理中心、展开网站并选择活动网站来配置网站级别 SharePoint 外部共享设置。然后我们可以选择要启用外部共享的站点,然后单击“共享”。从那里,我们可以将外部共享设置设置为除“仅限组织中的人员”之外的任何设置。
详细信息:如何在 SharePoint Online 中启用外部共享?

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯