<# .SYNOPSIS Диагностика: для каждого списка «… — согласование» на сайте печатает число строк и проиндексированы ли колонки, по которым портал фильтрует маршрут. Только чтение, ничего не меняет. .DESCRIPTION Портал ищет шаги маршрута фильтрами по Ticket (TicketId eq …), ApprovalStatus и TansuSiteApprover. В списке больше 5000 строк такой фильтр работает только по проиндексированной колонке — иначе SharePoint отвечает ошибкой порога представления. Скрипт показывает, где индекса нет и как близко список к 5000. .EXAMPLE ./Inspect-Indexes.ps1 -SiteUrl "https://tnsukz.sharepoint.com/sites/requests" ` -ClientId "7459c965-5ed4-4673-8140-0ab8faf9db64" -Tenant "tnsukz.onmicrosoft.com" ` -Thumbprint "224B64C8E0CAB1E09AF373E92B3AF4AC33C1233C" #> param( [Parameter(Mandatory = $true)][string]$SiteUrl, [Parameter(Mandatory = $true)][string]$ClientId, [Parameter(Mandatory = $true)][string]$Tenant, [Parameter(Mandatory = $true)][string]$Thumbprint ) $ErrorActionPreference = 'Stop' # Колонки списков согласования, по которым портал фильтрует (см. # shared/approval/approvalList.service.ts и features/myRequests/myRequests.service.ts). $filteredColumns = @('Ticket', 'ApprovalStatus', 'TansuSiteApprover') # Порог представления SharePoint: выше него фильтр по неиндексированной колонке падает. $listViewThreshold = 5000 Connect-PnPOnline -Url $SiteUrl -ClientId $ClientId -Tenant $Tenant -Thumbprint $Thumbprint $approvalLists = Get-PnPList | Where-Object { $_.Title -like '*— согласование' } | Sort-Object Title $report = foreach ($list in $approvalLists) { $row = [ordered]@{ 'Список' = $list.Title 'Строк' = $list.ItemCount 'До 5000' = $listViewThreshold - $list.ItemCount } foreach ($name in $filteredColumns) { $field = Get-PnPField -List $list -Identity $name -ErrorAction SilentlyContinue $row[$name] = if (-not $field) { 'нет колонки' } elseif ($field.Indexed) { 'индекс' } else { 'НЕТ индекса' } } [pscustomobject]$row } Write-Host "`nИндексы в списках согласования ($SiteUrl):`n" -ForegroundColor Cyan $report | Format-Table -AutoSize Disconnect-PnPOnline