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

[玩转系统] SharePoint Online:使用 PowerShell 添加网站集管理员

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

SharePoint Online:使用 PowerShell 添加网站集管理员


要求:在 SharePoint Online 中添加网站集管理员。

SharePoint Online 中的网站集管理员

SharePoint 网站集管理员拥有管理网站集下所有网站的完全访问权限。创建网站集时,全局管理员或 SharePoint Online 管理员指定网站的主网站集管理员。与本地 SharePoint 不同,SharePoint Online 网站集可以有多名管理员,但只能有一名主管理员。

可以为任何 SharePoint 网站集添加多个网站集管理员。若要在 SharePoint Online 中添加另一个网站集管理员,您必须具有特定网站的全局管理员、SharePoint Online 管理员或网站集管理员角色之一。

如何在 SharePoint Online 中添加网站集管理员?

如何在 SharePoint Online 中添加集合管理员?您可以通过多种不同的方式将网站集管理员添加到 SharePoint Online 环境。最简单的方法是使用 SharePoint 管理网站:

通过 SharePoint 管理中心授予网站集管理员权限

要通过 SharePoint 管理中心将用户添加到 SharePoint Online 中的网站集管理员,请执行以下操作:

  1. 导航到 SharePoint 管理中心 >> 单击“活动站点”(例如,https://Crescent-admin.sharepoint.com/_layouts/15/online/AdminHome.aspx)
  2. 选择网站集,单击命令栏中的“权限”按钮,然后单击“管理管理员”菜单项。

    [玩转系统] SharePoint Online:使用 PowerShell 添加网站集管理员

  3. 这将带来“管理管理员”页面,您可以在其中添加多个网站集管理员。此外,它还提供了更改主网站集管理员的选项。从那里,您可以根据需要添加或删除管理员。

    [玩转系统] SharePoint Online:使用 PowerShell 添加网站集管理员

  4. 添加新用户后,按“保存”提交更改,任何新的网站集管理员都将完全控制根网站以及该网站集中的任何子网站。

在组网站集上,Office 365 组所有者默认设置为网站集管理员。您可以将新的网站集管理员添加到组所有者或其他网站所有者下。

通过网站设置将用户添加为网站集管理员

如何将用户添加到 SharePoint Online 中的网站集管理员?创建新的 SharePoint Online 网站时,您将输入“主管理员”或 SharePoint 网站所有者,他们将自动成为网站集管理员。创建网站集后,您还可以导航到网站 >> 单击设置齿轮图标 >> 网站设置 >> 网站集管理员链接以添加其他网站集管理员。直接链接:https://tenant.sharepoint.com/sites/siteurl/_layouts/15/mngsiteadmin.aspx

[玩转系统] SharePoint Online:使用 PowerShell 添加网站集管理员

输入您想要添加为管理员的人员的姓名或电子邮件地址。添加管理员后,他们将能够访问所有网站集内容、功能和设置。如果您需要添加多个管理员,可以通过用分号分隔他们的姓名或地址来完成此操作。完成后单击“确定”。

[玩转系统] SharePoint Online:使用 PowerShell 添加网站集管理员

相对容易,不是吗?嗯,对于一个网站集来说这很容易。但是,当您拥有大量网站集时就会出现问题。假设您有数百个 SharePoint Online 网站集;您不能简单地选择所有网站集并一次性向所有网站集添加网站集管理员!那么,让我们看看如何使用 PowerShell 在 SharePoint Online 中添加网站集管理员。

网站集管理员和网站所有者之间有什么区别?

  • 网站所有者可能仅对特定网站拥有完全控制权,而网站集管理员将对网站集的所有网站和子网站拥有完全控制权。
  • 主网站集管理员收到管理电子邮件警报,例如网站集的存储通知。
  • 网站集管理员将有权访问网站集级别的功能,例如网站集回收站、网站集功能等。
  • 网站所有者无法删除网站集管理员,反之亦然。
  • 网站集管理员可以访问具有唯一权限的任何项目。但网站所有者不能这样做。

在现代/组连接的 SharePoint Online 网站中添加网站集管理员:

网站设置页面中的“网站集管理员”链接隐藏在群组连接的现代团队网站中。默认情况下,Office 365 组所有者配置为网站集管理员。因此,您可以将任何用户添加到 Office 365 组的所有者组,以使他们成为网站集管理员,或使用以下步骤添加其他网站集管理员。

  1. 点击设置齿轮>>站点权限>>点击“高级权限设置”
  2. 单击功能区中的“网站集管理员”按钮。

    [玩转系统] SharePoint Online:使用 PowerShell 添加网站集管理员

无论如何,在 SharePoint Online 中,将在逐个网站集的基础上添加网站集管理员,因为没有可以像我们在本地 SharePoint 中那样从管理中心设置的 Web 应用程序级别用户策略。所以,解决方案是:使用PowerShell在SharePoint Online中添加网站集管理员!

用于在 SharePoint Online 中添加网站集管理员的 PowerShell 脚本:

如何使用 PowerShell 在 SharePoint Online 中添加网站集管理员?以下是用于 SharePoint Online 的 PowerShell,用于使用 Set-SPOUser cmdlet 和 SharePoint Online Management Shell 添加网站集管理员:


#Variables for processing
$AdminURL = "https://crescent-admin.sharepoint.com/"
$AdminName = "[email protected]"
$SiteCollURL = "https://crescent.sharepoint.com/sites/Sales/"
$SiteCollectionAdmin = "[email protected]"

#User Name and Password to connect 
#$SecurePWD = read-host -assecurestring "Enter Password for $AdminName" 
$SecurePWD = ConvertTo-SecureString "Password1" -asplaintext -force  
$Credential = new-object -typename System.Management.Automation.PSCredential -argumentlist $AdminName, $SecurePWD
 
#Connect to SharePoint Online
Connect-SPOService -url $AdminURL -credential $Credential

#Add Site collection Admin
Set-SPOUser -site $SiteCollURL -LoginName $SiteCollectionAdmin -IsSiteCollectionAdmin $True

当您想要在 SharePoint Online 中添加组作为网站集管理员时,此 PowerShell 也适用。

使用 PowerShell 将网站集管理员添加到所有 SharePoint Online 网站:

SharePoint Online PowerShell 为所有网站集添加网站集管理员。


#Variables for processing
$AdminURL = "https://Crescent-admin.sharepoint.com/"
$AdminName = "[email protected]"
 
#User Names Password to connect 
$Password = Read-host -assecurestring "Enter Password for $AdminName" 
$Credential = new-object -typename System.Management.Automation.PSCredential -argumentlist $AdminName, $Password

#Connect to SharePoint Online
Connect-SPOService -url $AdminURL -credential $Credential

$Sites = Get-SPOSite -Limit ALL

Foreach ($Site in $Sites)
{
    Write-host "Adding Site Collection Admin for:"$Site.URL
    Set-SPOUser -site $Site -LoginName $AdminName -IsSiteCollectionAdmin $True
}

如何将网站集管理员批量添加到多个网站?当然!您可以使用 CSV 文件输入并将站点管理员添加到多个站点:How to Add Site Collection Admin to Multiple Sites from a CSV using PowerShell?

使用 PowerShell 更改主网站集管理员:

下面是使用 Set-SPOSite cmdlet 设置网站集管理员的 SharePoint Online PowerShell。


#Variables for processing
$AdminURL = "https://crescent-admin.sharepoint.com/"
$AdminName = "[email protected]"
$SiteCollURL = "https://crescent.sharepoint.com/sites/Sales"
$NewSiteAdmin = "[email protected]"

#User Names Password to connect 
$SecurePWD = ConvertTo-SecureString "Password1" -asplaintext -force  
$Credential = new-object -typename System.Management.Automation.PSCredential -argumentlist $AdminName, $SecurePWD
 
#Connect to SharePoint Online
Connect-SPOService -url $AdminURL -credential $Credential

#Change Site Collection Primary Admin
Set-SPOSite -Identity $SiteCollURL -Owner $NewSiteAdmin -NoWait
要删除网站集管理员,请使用带有 -IsSiteCollectionAdmin $false 参数的 Set-SPOUser cmdlet!操作方法如下:使用 PowerShell 在 SharePoint Online 中删除网站集管理员

将网站集管理员添加到组/新式网站

以下是在“SharePoint Online Management Shell”中使用的脚本,用于将网站集管理员添加到所有网站(包括 Modern Team 网站)。


#Variables for processing
$AdminURL = "https://crescent-admin.sharepoint.com/" 
$AdminName="[email protected]"

#Connect to SharePoint Online
Connect-SPOService -url $AdminURL -credential (Get-Credential)

#Get All Site Collections
$AllSites = Get-SPOSite -Limit ALL

#Loop through each site and add site admins
Foreach ($Site in $AllSites)
{
    Write-host "Adding Site Collection Admin for:"$Site.URL
    Set-SPOUser -site $Site.Url -LoginName $AdminName -IsSiteCollectionAdmin $True
}

您可以对网站集应用筛选器以获取特定类型的所有网站集。例如,要获取所有通信站点,请使用:


Get-SPOSite -Template SITEPAGEPUBLISHING#0

同样,您可以过滤网站集并添加网站集管理员,如下所示:


$Sites = Get-SPOSite -Limit All | Where {$_.Url -like 'https://crescent.sharepoint.com/sites/Project*'}

使用 PowerShell 添加网站集管理员 CSOM

除了SharePoint Online Management Shell之外,我们还可以使用PowerShell CSOM方法将用户添加到网站集管理员组。具体方法如下:


#Load SharePoint CSOM Assemblies
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\ISAPI\Microsoft.SharePoint.Client.dll"
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
 
#Variables for Processing
$SiteURL = "https://crescent.sharepoint.com/Sites/marketing"
$UserAccount="i:0#.f|membership|[email protected]"

#Setup Credentials to connect
$Cred = Get-Credential
$Cred = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Cred.UserName,$Cred.Password)

#Setup the context
$Ctx = New-Object Microsoft.SharePoint.Client.ClientContext($SiteURL)
$Ctx.Credentials = $Cred

#sharepoint online powershell set site collection administrator
$User = $Ctx.Web.EnsureUser($UserAccount)
$User.IsSiteAdmin = $True
$User.Update()
$Ctx.ExecuteQuery()

PnP PowerShell 在 SharePoint Online 中添加网站集管理员

您需要单独授予自己对每个网站集的访问权限才能访问它。如果有数百个站点,您可以使用 PowerShell cmdlet Add-PnPSiteCollectionAdmin 来执行此操作,而不是添加到每个站点。以下是如何使用 PnP PowerShell 添加用户作为网站集管理员:


#Set Variables
$SiteURL = "https://crescent.sharepoint.com/sites/Marketing"

#Connect to PnP Online
Connect-PnPOnline -Url $SiteURL -Credentials (Get-Credential)

#add user as site collection administrator powershell sharepoint online
Add-PnPSiteCollectionAdmin -Owners "[email protected]"

现有的网站集管理员保持原样!要添加多个网站集管理员,请使用:


Add-PnPSiteCollectionAdmin -Owners "[email protected]", "[email protected]"

您还可以使用 PnP PowerShell cmdlet Set-PnPTenantSite 添加网站集管理员,如下所示:


#Set Runtime Parameters
$AdminSiteURL="https://crescent-admin.sharepoint.com"
$SiteUrl="https://crescent.sharepoint.com/sites/jackson"
$SiteCollAdmin="[email protected]"
 
#Connect to PnP Online
Connect-PnPOnline -Url $AdminSiteURL -Interactive

#Add Site collection Admin user permission
Set-PnPTenantSite -Url $SiteUrl -Owners $SiteCollAdmin

将网站集管理员添加到租户中的所有网站

要将网站集管理员添加到租户中的所有网站集,请使用


#Parameters
$TenantAdminURL = "https://crescent-admin.sharepoint.com"
$SiteCollAdmin="[email protected]"
  
#Connect to Admin Center
Connect-PnPOnline -Url $TenantAdminURL -Interactive

#Get All Site collections and Iterate through
$SiteCollections = Get-PnPTenantSite
ForEach($Site in $SiteCollections)
{ 
    #Add Site collection Admin
    Set-PnPTenantSite -Url $Site.Url -Owners $SiteCollAdmin
    Write-host "Added Site Collection Administrator to $($Site.URL)"
}

使用 PnP PowerShell 将网站集管理员添加到所有 OneDrive 网站

同样,要将网站集管理员添加到所有 OneDrive 网站,请使用:


#Variables for processing
$AdminURL = "https://crescent-admin.sharepoint.com"
$AdminName = "[email protected]"
  
#Connect to SharePoint Online Admin Center
Connect-PnPOnline -url $AdminCenterURL -Interactive
  
#Get all OneDrive Site colections
$OneDriveSites = Get-PnPTenantSite -IncludeOneDriveSites -Filter "Url -like '-my.sharepoint.com/personal/'" 

Foreach ($Site in $OneDriveSites)
{
    Write-host "Adding Site Collection Admin for:"$Site.URL
    Set-PnPTenantSite -Url $Site.Url -Owners $AdminName
}

您是否错误添加了某人?想要从 SharePoint Online 中删除现有网站集管理员?那么,您可以从单个网站或所有网站中删除 SharePoint Online 网站集管理员:SharePoint Online:使用 PowerShell 删除网站集管理员

相关文章:

  • 使用 PowerShell 更改所有者/将网站集管理员添加到 OneDrive for Business 网站
  • 所有 SharePoint 网站的网站集管理员报告
  • 使用 PowerShell 删除 SharePoint 2016 中的网站集管理员
  • 更改 SharePoint 中的网站集主要、辅助管理员

经常问的问题:

如何在 PowerShell 中获得网站集管理员?

您可以使用 PowerShell 脚本从 Microsoft 365 环境中的单个网站或所有网站获取网站集管理员列表。
详细信息:在 SharePoint Online 中使用 PowerShell 获取所有网站集管理员

全局管理员是否自动成为网站集管理员?

不!在您将全局管理员或租户管理员添加到网站之前,他们不会自动获得对 SharePoint Online 网站的访问权限。

如何将用户添加到 SharePoint 管理中心?

要使某人成为 Office 365 中的 SharePoint 管理员,您必须通过 Microsoft 管理中心为用户分配 SharePoint 管理员角色。
详细信息:如何授予对 SharePoint Online 管理中心的访问权限?

如何从集合管理中删除用户?

有几种不同的方法可用于在 SharePoint Online 中删除网站集管理员: 第一种方法是使用 Web 浏览器界面从网站设置页面删除网站集管理员。您可以使用的下一个方法是通过 SharePoint Online 管理中心。最后,您可以使用 PowerShell 删除网站集管理员。
更多信息:如何使用 PowerShell 在 SharePoint Online 中删除网站集管理员?

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

取消回复欢迎 发表评论:

关灯