Получите данные об использовании семейства сайтов SharePoint Online с помощью PnP - PullRequest
0 голосов
/ 10 февраля 2020

Я собираюсь создать подробный отчет обо всех семействах сайтов для арендатора. Одна часть отчета - данные об использовании, такие как хиты и посещения. Отчет всегда возвращает 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, но когда дело доходит до посещений и посещений, кажется, что это будет единственный выход.

Есть идеи, что я делаю неправильно?

1 Ответ

1 голос
/ 05 марта 2020

Ответ от MS Support-

В настоящее время единственный поддерживаемый способ отображения данных об использовании для SharePoint Online - через GUI. Вы можете найти больше информации об этом здесь: https://support.office.com/en-us/article/view-usage-data-for-your-sharepoint-site-2fa8ddc2-c4b3-4268-8d26-a772dc55779e

Информация выше не приемлема

...