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

[玩转系统] SharePoint Online:使用 PowerShell 获取网站所有者

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

SharePoint Online:使用 PowerShell 获取网站所有者


要求:使用 PowerShell 获取 SharePoint Online 网站所有者。

如何在 SharePoint Online 中检查网站所有者?

网站所有者是对 SharePoint 网站拥有完全控制权的用户,能够管理权限、自定义网站的外观和功能等。在本文中,我们将探讨如何使用 SharePoint 管理中心、SharePoint Online Management Shell 和 PnP PowerShell 获取 SharePoint Online 网站的网站所有者。有时您可能需要联系他们以获取帮助或有关网站的信息。

您可以从 SharePoint 管理中心在 SharePoint Online 中找到网站所有者:

  1. 登录 SharePoint Online 管理中心 (https://YourDomain-admin.sharepoint.com/) >> 展开“站点”并单击“活动站点”。
  2. 从网站集列表中选择您希望获得网站所有者的网站集 >> 在功能区中,单击“权限”,然后单击“管理组所有者”。

    [玩转系统] SharePoint Online:使用 PowerShell 获取网站所有者

  3. 在“管理 Microsoft 365 组所有者”面板上,您将获得网站所有者或主要网站集管理员。

    [玩转系统] SharePoint Online:使用 PowerShell 获取网站所有者

同样,在非群组连接的站点中,您可以选择该站点并单击“权限”>>“管理管理员”以获取其所有者。

[玩转系统] SharePoint Online:使用 PowerShell 获取网站所有者

这是快速轻松地为您的网站获取网站所有者的好方法。让我们看看用于获取 SharePoint Online 网站所有者的 PowerShell 脚本。

如果您要查找在 SharePoint Online 中具有完全控制或所有者访问权限的所有用户和组,请使用:使用 PowerShell 在 SharePoint Online 中查找具有“完全控制”(所有者)权限的所有用户和组

PowerShell 在 SharePoint Online 中获取网站所有者

虽然网络浏览器界面提供了一种更简单的方法来获取网站所有者信息,但从多个网站获取信息可能是一项艰巨的任务。幸运的是,我们有 PowerShell 作为救星! PowerShell 可以通过自动化任务和流程来帮助您更高效地工作。让我向您展示如何使用 PowerShell 获取 SharePoint Online 中的网站所有者。

以下是列出特定网站的网站所有者的 SharePoint Online PowerShell:


#Variables for Admin Center & Site Collection URL
$AdminCenterURL = "https://Crescent-admin.sharepoint.com"
$SiteURL = "https://Crescent.sharepoint.com/sites/marketing"

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

#sharepoint online powershell get site owner
Get-SPOSite $SiteURL | Select Owner

如果您使用启用了 MFA 的用户帐户,请保留“凭据”参数。

使用 PowerShell 在 SharePoint Online 中获取网站所有者

如何检索 SharePoint Online 环境中所有网站的网站所有者?那么,以下是获取所有 SharePoint Online 网站的网站所有者的方法:


$AdminCenterURL = "https://Crescent-admin.sharepoint.com/"

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

#Get Site owners of all site collections
Get-SPOSite -limit ALL | Select URL, Owner

此 PowerShell 脚本从所有网站集中检索网站所有者。如果您想更改网站所有者,请使用:如何使用 PowerShell 在 SharePoint Online 中更改网站所有者?

[玩转系统] SharePoint Online:使用 PowerShell 获取网站所有者

您可以将网站所有者信息导出到 CSV 文件,如下所示:


Get-SPOSite | Select URL, Owner | Export-CSV "C:\Temp\SiteOwners.CSV"

获取 Office 365 组连接网站的网站所有者

虽然上述脚本适用于没有 Office 365 组的网站,但我们必须对脚本进行一些更改,以使 Office 365 组的网站所有者连接到网站集,因为网站所有者被设置为组所有者。


Import-Module Microsoft.Online.SharePoint.PowerShell
Import-Module AzureAD

#Variables for Admin Center & Site Collection URL
$AdminCenterURL = "https://crescent-admin.sharepoint.com"
$SiteURL = "https://crescent.sharepoint.com/sites/purchase"

#Get Credentials to connect
$Cred = Get-Credential

#Connect to SharePoint Online and Azure AD
Connect-SPOService -url $AdminCenterURL -Credential $Cred
Connect-AzureAD -Credential $Cred | Out-Null
 
#Get the Site Collection
$Site = Get-SPOSite $SiteURL

#Get Group Owners
$GroupOwners = (Get-AzureADGroupOwner -ObjectId $Site.GroupID | Select -ExpandProperty UserPrincipalName) -join "; "

Write-host $GroupOwners

此脚本检索关联 Office 365 组的所有所有者。让我们结合以上内容并获取租户中所有站点的站点所有者:


#Variables for Admin Center
$AdminCenterURL = "https://Crescent-admin.sharepoint.com"
$CSVPath = "C:\Temp\SiteOwners.csv"
 
#Get Credentials to connect
$Cred = Get-Credential

#Connect to SharePoint Online and Azure AD
Connect-SPOService -url $AdminCenterURL -Credential $Cred
Connect-AzureAD -Credential $Cred | Out-Null
  
#Get all Site Collections
$Sites = Get-SPOSite -Limit ALL

$SiteOwners = @()
#Get Site Owners for each site collection
$Sites | ForEach-Object {
    If($_.Template -like 'GROUP*')
    {
        $Site = Get-SPOSite -Identity $_.URL
        #Get Group Owners
        $GroupOwners = (Get-AzureADGroupOwner -ObjectId $Site.GroupID | Select -ExpandProperty UserPrincipalName) -join "; "       
    }
    Else
    {
        $GroupOwners = $_.Owner
    }
    #Collect Data
    $SiteOwners += New-Object PSObject -Property @{
    'Site Title' = $_.Title
    'URL' = $_.Url
    'Owner(s)' = $GroupOwners
    }
}
#Get Site Owners
$SiteOwners

#Export Site Owners report to CSV
$SiteOwners | Export-Csv -path $CSVPath -NoTypeInformation

用于获取 SharePoint Online 网站所有者的 PnP PowerShell 脚本

同样,要使用 PnP PowerShell 获取 SharePoint Online 中的网站所有者,请使用以下脚本。它使用 Get-PnPMicrosoft365GroupOwners cmdlet 检索组连接网站的网站所有者。


#Set Variables
$SiteURL = "https://Crescent.sharepoint.com/"

#Connect to PnP Online
$Cred = Get-Credential
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 Owner(s) of the site: " $Site.Url 
    Connect-PnPOnline -Url $Site.Url -Credentials $Cred
   
    If($Site.Template -like 'GROUP*')
    {
        #Get Group Owners
        $GroupOwners = (Get-PnPMicrosoft365GroupOwners -Identity ($Site.GroupId)  | Select -ExpandProperty Email) -join "; "
    }
    Else
    {
        #Get Site Owner
        $GroupOwners = $Site.Owner
    }

    #powershell script to get sharepoint online site owners
    Write-host $GroupOwners
}

网站所有者会自动添加为网站集管理员。如果要获取所有网站集管理员,请使用:SharePoint Online:使用 PowerShell 获取网站集管理员

经常问的问题:

如何更改 SharePoint Online 中的所有权?

要更改 SharePoint Online 中的所有权,请转到 SharePoint 管理中心,选择要更改其所有权的网站集,然后单击“成员资格”>> 从“成员资格”面板中选择“网站所有者”。从那里,您可以根据需要添加或删除用户。要更改 SharePoint Online 中的所有权,您需要拥有管理员权限!更多信息请参见:如何在 SharePoint Online 中更改网站所有者?

如何获取 SharePoint Online 中所有网站的列表?

若要获取 SharePoint Online 中所有网站的列表,您可以使用 SharePoint 管理中心或 SharePoint Online Management Shell。导航至 https://yourdomain-admin.sharepoint.com >> 展开站点 >> 单击“活动站点”以获取所有站点的列表。通过 PowerShell 获取所有网站的命令是 Get-SPOSite,它将返回 SharePoint Online 环境中所有网站的列表。
详细信息:如何获取 SharePoint Online 中的所有网站?

SharePoint Online 中的网站管理员和网站所有者之间有什么区别?

网站集管理员对网站集拥有管理权限。他们可以管理站点设置、配置站点功能、管理站点配额、管理站点权限等。网站管理员通常负责管理网站所有者。

网站所有者是对特定网站拥有管理权限的个人或团体。这意味着他们可以管理网站的内容、配置其功能并控制其权限。网站所有者负责创建和管理网站内容、与团队成员协作并确保网站实现其目标。

虽然这两个角色对于管理 SharePoint Online 环境都至关重要,但它们具有不同级别的权限权力和责任。

如何在 PowerShell 中获取所有 SharePoint Online 组?

若要获取 PowerShell 中的所有 SharePoint Online 组,可以使用 SharePoint Online PowerShell 模块中的 Get-SPOSiteGroup cmdlet 或 PnP PowerShell 中的 Get-PnPSiteGroup。此 cmdlet 检索与特定 SharePoint Online 网站关联的所有组。此处的详细信息:使用 PowerShell 从站点获取所有 SharePoint Online 组

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

取消回复欢迎 发表评论:

关灯