Я собираюсь создать подробный отчет обо всех семействах сайтов для арендатора. Одна часть отчета - данные об использовании, такие как хиты и посещения. Отчет всегда возвращает 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» в аргумент «Includes» Get-PnPSite, как я сделал бы с другими свойствами, такими как RootWeb. Хотя он работает для последнего, он генерирует следующую ошибку для любых свойств UsageInfo:
Get-PnPSite: выражение запроса не поддерживается. В C: \ Users .... \ SPO_Reports.ps1: 19 char: 20 + ... teDetails = Get-PnPSite -Включает RootWeb.Created, RootWeb.SiteUsers, ... + ~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo: WriteError: (:) [Get-PnPSite], InvalidQueryExpressionException + FullyQualifiedErrorId: EXCEPTION, SharePointPnP.PowerShell.Commands.Site.GetSite
Я знаю, что могу получить некоторую статистику использования, например хранилище, через Get -PnPTenantSite, но когда дело доходит до посещений и посещений, кажется, что это будет единственный выход.
Есть идеи, что я делаю неправильно?