使用 PnP 获取 SharePoint Online 网站集使用情况数据



我将创建租户上所有网站集的详细报告。 报告的一部分是使用数据,例如点击和访问。对于这些属性,报表始终返回 0。我认为实际点击/访问和报告之间可能存在延迟,所以我尝试了几次。 这是我的脚本:

$adminSiteUrl = "https://tenant-admin.sharepoint.com";
Connect-PnPOnline -Url $adminSiteUrl -Credentials 'O365Dev'
$sites = Get-PnPTenantSite -Detailed
Write-Host "Site Collections found: " $sites.Count
$siteDirectory = @()
foreach ($site in $sites)
{
$tenantSite = $sites | Where-Object {$_.Url -eq $site.Url}
$siteDirectoryEntry = New-Object psobject
Connect-PnPOnline -Url $site.Url -Credentials 'O365Dev'
$siteDetails = Get-PnPSite -Includes RootWeb.Created, RootWeb.SiteUsers, RootWeb.Webs, GeoLocation, IsHubSite, LockIssue, Owner, SecondaryContact, Usage; $siteDetails

$siteDirectoryEntryProperties = @{
URL = $siteDetails.Url
Title = $tenantSite.Title
Description = $tenantSite.Description
...
UsageBandwidth = $siteDetails.Usage.Bandwidth
UsageHits = $siteDetails.Usage.Hits
UsageVisits = $siteDetails.Usage.Visits
}
$siteDirectoryEntry = New-Object psobject -Property $siteDirectoryEntryProperties
$siteDirectory += $siteDirectoryEntry
}
$siteDirectory | Export-Csv .SiteDirectory.csv

我还尝试将"Usage.Hits"添加到Get-PnPSite的"Include"参数中,就像我对RootWeb等其他属性所做的那样。虽然它适用于后者,但它会为任何 UsageInfo 属性抛出以下错误:

Get-PnPSite :不支持查询表达式。 在 C:\Users....\SPO_Reports.ps1:19 字符:20 + ...teDetails = Get-PnPSite -include RootWeb.Created, RootWeb.SiteUsers, ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : WriteError: (:) [Get-PnPSite], InvalidQueryExpressionException + FullQualifiedErrorId : EXCEPTION,SharePointPnP.PowerShell.Command.Site.GetSite

我知道我可以通过Get-PnPTenantSite获得一些使用情况统计信息,例如存储,但是当涉及到点击和访问时,这似乎是唯一的方法。

知道我做错了什么吗?

MS 支持的回复-

目前,显示 SharePoint Online 使用情况数据的唯一受支持的方法是通过 GUI。您可以在此处找到有关此内容的更多信息:https://support.office.com/en-us/article/view-usage-data-for-your-sharepoint-site-2fa8ddc2-c4b3-4268-8d26-a772dc55779e

以上信息不可接受

最新更新