[玩转系统] SharePoint Online:使用 PowerShell 获取网站集管理员
作者:精品下载站 日期:2024-12-14 14:16:01 浏览:12 分类:玩电脑
SharePoint Online:使用 PowerShell 获取网站集管理员
要求: SharePoint Online PowerShell 列出所有网站集管理员。
SharePoint Online 网站集管理员拥有对整个网站集的完全控制权,包括顶级网站、子网站、网站集中的所有列表和库。每个 SharePoint 网站集都可以有自己的网站集管理员,通常在 SharePoint Online 管理员通过 SharePoint Online 管理中心网站创建网站集期间分配,作为主要网站所有者和网站集管理员。可以通过网站设置页面添加/删除任何其他网站集管理员。
如何从 SharePoint 管理中心获取所有网站集管理员?
如何在 SharePoint Online 中找到集合管理员?要获取所有网站集管理员,请从您最喜欢的浏览器(例如 Microsoft Edge 或 Google Chrome)登录 SharePoint 管理中心 >> 展开“站点”>> 活动站点 >> 从列表中选择站点 >> 单击“权限”,然后单击选择“管理管理员”。
网站集管理员与主要 SharePoint 网站所有者具有相同的访问权限,但唯一的区别是电子邮件通知!主要网站集管理员将收到电子邮件通知,例如网站集存储限制警告电子邮件。
如何从网站设置中获取 SharePoint Online 中的网站集管理员?
如果您想要获取 SharePoint Online 网站的所有网站集管理员,请执行以下操作:
- 单击设置齿轮图标并选择站点设置。
- 在“网站设置”页面上,单击“用户和权限”组下的“网站集管理员”链接(在浏览器中点击此 URL 快捷方式:/_layouts/15/mngsiteadmin.aspx)。
此页面为您提供特定网站集的网站集管理员列表。
在现代组连接网站上,网站集管理员位于“设置”>>“网站权限”>>“高级权限设置”下。
我们在 SharePoint Online 中没有辅助网站集管理员。网站集可以有一个主要网站所有者和其他网站集管理员!现在,让我们使用 PowerShell 脚本来获取 SharePoint Online 中的网站集管理员。
使用 PowerShell 获取主网站集管理员 - 所有者
以下是如何使用 PowerShell 脚本获取 SharePoint Online 中的网站集管理员:
#Load SharePoint CSOM Assemblies
Add-Type -Path "C:\Program Files\SharePoint Online Management Shell\Microsoft.Online.SharePoint.PowerShell\Microsoft.SharePoint.Client.dll"
Add-Type -Path "C:\Program Files\SharePoint Online Management Shell\Microsoft.Online.SharePoint.PowerShell\Microsoft.SharePoint.Client.Runtime.dll"
Add-Type -Path "C:\Program Files\SharePoint Online Management Shell\Microsoft.Online.SharePoint.PowerShell\Microsoft.Online.SharePoint.Client.Tenant.dll"
#Get Primary Owners of All Site collections from the Tenant
Function Get-SPOPrimarySiteOwners($AdminSiteURL, $Cred)
{
#Setup credentials to connect
$Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Cred.Username, $Cred.Password)
#Setup the context
$Ctx = New-Object Microsoft.SharePoint.Client.ClientContext($AdminSiteURL)
$Ctx.Credentials = $Credentials
#Get the tenant object
$Tenant = New-Object Microsoft.Online.SharePoint.TenantAdministration.Tenant($ctx)
#Get All Site Collections
$SiteCollections=$Tenant.GetSitePropertiesFromSharePoint(0,$true)
$Ctx.Load($SiteCollections)
$Ctx.ExecuteQuery()
#Iterate through Each site collection
ForEach($Site in $SiteCollections)
{
#Get the Site Collection and Audit Objects
$Ctx = New-Object Microsoft.SharePoint.Client.ClientContext($Site.URL)
$Ctx.Credentials = $Credentials
#Get the Site collection
$SiteCollection = $Ctx.Site
$Ctx.Load($SiteCollection)
$Ctx.ExecuteQuery()
#Get Site Owner
$Owner = $SiteCollection.Owner
$Ctx.Load($Owner)
$Ctx.ExecuteQuery()
#Output Primary Site owner Details
$SiteCollection | Select URL, @{Name="Owner Name";Expression={$_.Owner.Title}}, @{Name="Owner Email";Expression={$_.Owner.Email}}
}
}
#Set Parameters
$AdminSiteUrl = "https://Crescent-admin.sharepoint.com/"
$Cred= Get-Credential
Get-SPOPrimarySiteOwners -AdminSiteURL $AdminSiteUrl -Cred $Cred
在执行此脚本之前,请确保您的本地计算机中已安装 CSOM SDK 或 SharePoint Online PowerShell 模块。您可以使用 Windows PowerShell ISE 运行该脚本。它使用 SharePoint Online 中的 PowerShell 获取主要网站集管理员。
SharePoint Online:使用 PowerShell 获取网站集管理员
您可以使用 PowerShell cmdlet Get-SPOUser 以及筛选器 IsSiteAdmin 属性来获取给定网站集的网站集管理员列表。这使您既成为主要网站所有者又成为网站集管理员。
#Variables for processing
$AdminURL = "https://Crescent-admin.sharepoint.com/"
$AdminName = "[email protected]"
$SiteCollURL="https://Crescent.sharepoint.com/sites/sales"
#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
#Get the Site colection
$SiteColl = Get-SPOSite $SiteCollURL
#sharepoint online powershell get all site collection admins
$SiteAdmins = Get-SPOUser -Site $SiteCollURL -Limit ALL | Where { $_.IsSiteAdmin -eq $True}
foreach($Admin in $SiteAdmins)
{
Write-host $Admin.LoginName
}
PowerShell 获取 SharePoint Online 中所有网站集的网站集管理员
让我们添加一些错误处理并从所有网站集中获取网站集管理员。
#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
Try {
#Connect to SharePoint Online
Connect-SPOService -url $AdminURL -credential $Credential
#Get all Site colections
$Sites = Get-SPOSite -Limit ALL
Foreach ($Site in $Sites)
{
Write-host $Site.URL
#Get all Site Collection Administrators
$SiteAdmins = Get-SPOUser -Site $Site.Url -Limit ALL | Where { $_.IsSiteAdmin -eq $True}
foreach($Admin in $SiteAdmins)
{
Write-host $Admin.LoginName
}
}
}
catch {
write-host "Error: $($_.Exception.Message)" -foregroundcolor Red
}
在 SharePoint Online 中使用 PnP PowerShell 获取所有网站集管理员
借助 PnP PowerShell,可以使用 Get-PnPSiteCollectionAdmin cmdlet 检索网站集管理员。以下是用于获取所有网站集管理员的 SharePoint Online PowerShell:
您必须具有网站集管理员权限,才能通过 PowerShell 获取 SharePoint Online 网站的现有网站集管理员!您可能会收到错误“Get-PnPSiteCollectionAdmin:远程服务器返回错误:(403) 禁止。”如果你不是!
#Set Variables
$SiteURL = "https://crescent.sharepoint.com/sites/Marketing"
#Connect to PnP Online
Connect-PnPOnline -Url $SiteURL -Credentials (Get-Credential)
#Get Site Collection Administrators
Get-PnPSiteCollectionAdmin
此 PnP PowerShell 脚本获取给定网站集的所有网站集管理员。要获取租户中所有网站的网站集管理员,请使用以下命令:
#Set Variables
$SiteURL = "https://crescent.sharepoint.com"
#Get Credentials to connect
$Cred = Get-Credential
#Connect to PnP Online
Connect-PnPOnline -Url $SiteURL -Credentials $Cred
#Get All Site collections
$SitesCollection = Get-PnPTenantSite
#Loop through each site collection
ForEach($Site in $SitesCollection)
{
Write-host -F Green "Site Collection Administrators of site: " $Site.Url
Connect-PnPOnline -Url $Site.Url -Credentials $Cred
#Get Site Collection administrators of the site
Get-PnPSiteCollectionAdmin
}
从组连接站点获取站点集管理员
如果站点是组连接的,您将在上面的脚本输出中仅看到“组所有者”。以下是如何扩展群组并获得群组所有者的方法:
#Set Variables
$AdminSiteURL = "https://crescent-admin.sharepoint.com"
#Connect to Admin Center
Connect-PnPOnline -Url $AdminSiteURL -Interactive
#Get All Site collections - Exclude: Seach Center, Mysite Host, App Catalog, Redirect, Content Type Hub, eDiscovery and Bot Sites
$SiteCollections = Get-PnPTenantSite | Where -Property Template -NotIn ("SRCHCEN#0", "REDIRECTSITE#0", "SPSMSITEHOST#0", "APPCATALOG#0", "POINTPUBLISHINGHUB#0", "EDISC#0", "STS#-1")
#Loop through each site collection
ForEach($Site in $SiteCollections)
{
Write-host -F Yellow "Getting Site Collection Administrators of the site: " $Site.Url
Connect-PnPOnline -Url $Site.Url -Interactive
#Get Site Collection Administrators
$SiteAdminstrators = @()
Get-PnPSiteCollectionAdmin -PipelineVariable Admin | ForEach-Object {
If($_.PrincipalType -eq "SecurityGroup")
{
#Get Members of the Group
$Group = Get-PnPMicrosoft365Group -IncludeOwners | Where {$_.Mail -eq $Admin.Email}
$Group.Owners | Select Email | ForEach-Object {
$SiteAdminstrators += $_.Email
}
}
Else
{
$SiteAdminstrators += $Admin.Email
}
}
#Get Site Collection Administrators of the Site
$SiteAdminstrators | select -Unique
}
如果需要将所有网站集管理员导出到 CSV 文件,请参阅:将 SharePoint Online 网站集管理员导出到 CSV
经常问的问题:
如何使用 PowerShell 在 SharePoint Online 中添加网站集管理?
要添加 SharePoint 网站集管理员,请使用:例如,SharePoint Online Management Shell 中的“Set-SPOUser -site $SiteURL -LoginName 'UPN of the user' -IsSiteCollectionAdmin $True”或使用 PnP PowerShell 的 Add-PnPSiteCollectionAdmin/Set-PnPTenantSite cmdlet 。您还可以使用客户端对象模型设置用户的“IsSiteAdmin”属性来设置网站集管理员。
详细信息:SharePoint Online PowerShell 添加网站集管理员
如何删除 SharePoint Online 中的集合管理员?
您可以使用 SharePoint Online 管理中心、网站设置页面或 PowerShell 脚本从 SharePoint Online 网站中删除网站集管理员。
详细信息:在 SharePoint Online 中删除网站集管理员
如何更改 SharePoint Online 中的主管理员?
您可以通过 SharePoint 管理中心更改网站所有者,方法是选择网站集,单击“权限”,然后单击“管理管理员”。在“管理管理员”面板上,您可以通过将网站集主管理员设置为“主管理员”来更改网站集所有者。
更多信息:如何在 SharePoint Online 中更改网站集所有者(主管理员)?
猜你还喜欢
- 03-30 [玩转系统] 如何用批处理实现关机,注销,重启和锁定计算机
- 02-14 [系统故障] Win10下报错:该文件没有与之关联的应用来执行该操作
- 01-07 [系统问题] Win10--解决锁屏后会断网的问题
- 01-02 [系统技巧] Windows系统如何关闭防火墙保姆式教程,超详细
- 12-15 [玩转系统] 如何在 Windows 10 和 11 上允许多个 RDP 会话
- 12-15 [玩转系统] 查找 Exchange/Microsoft 365 中不活动(未使用)的通讯组列表
- 12-15 [玩转系统] 如何在 Windows 上安装远程服务器管理工具 (RSAT)
- 12-15 [玩转系统] 如何在 Windows 上重置组策略设置
- 12-15 [玩转系统] 如何获取计算机上的本地管理员列表?
- 12-15 [玩转系统] 在 Visual Studio Code 中连接到 MS SQL Server 数据库
- 12-15 [玩转系统] 如何降级 Windows Server 版本或许可证
- 12-15 [玩转系统] 如何允许非管理员用户在 Windows 中启动/停止服务
取消回复欢迎 你 发表评论:
- 精品推荐!
-
- 最新文章
- 热门文章
- 热评文章
[影视] 黑道中人 Alto Knights(2025)剧情 犯罪 历史 电影
[古装剧] [七侠五义][全75集][WEB-MP4/76G][国语无字][1080P][焦恩俊经典]
[实用软件] 虚拟手机号 电话 验证码 注册
[电视剧] 安眠书店/你 第五季 You Season 5 (2025) 【全10集】
[电视剧] 棋士(2025) 4K 1080P【全22集】悬疑 犯罪 王宝强 陈明昊
[软件合集] 25年6月5日 精选软件22个
[软件合集] 25年6月4日 精选软件36个
[短剧] 2025年06月04日 精选+付费短剧推荐33部
[短剧] 2025年06月03日 精选+付费短剧推荐25部
[软件合集] 25年6月3日 精选软件44个
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电视剧] 欢乐颂.5部全 (2016-2024)
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[影视] 【稀有资源】香港老片 艺坛照妖镜之96应召名册 (1996)
[剧集] 神经风云(2023)(完结).4K
[剧集] [BT] [TVB] [黑夜彩虹(2003)] [全21集] [粤语中字] [TV-RMVB]
[实用软件] 虚拟手机号 电话 验证码 注册
[资源] B站充电视频合集,包含多位重量级up主,全是大佬真金白银买来的~【99GB】
[影视] 内地绝版高清录像带 [mpg]
[书籍] 古今奇书禁书三教九流资料大合集 猎奇必备珍藏资源PDF版 1.14G
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电影] 美国队长4 4K原盘REMUX 杜比视界 内封简繁英双语字幕 49G
[电影] 死神来了(1-6)大合集!
[软件合集] 25年05月13日 精选软件16个
[精品软件] 25年05月15日 精选软件18个
[绝版资源] 南与北 第1-2季 合集 North and South (1985) /美国/豆瓣: 8.8[1080P][中文字幕]
[软件] 25年05月14日 精选软件57个
[短剧] 2025年05月14日 精选+付费短剧推荐39部
[短剧] 2025年05月15日 精选+付费短剧推荐36部
- 最新评论
-
- 热门tag