public/Start-SPFixScan.ps1
|
function Start-SPFixScan { <# .SYNOPSIS Starts a scan for files and folders with long paths in SharePoint Online. .PARAMETER SiteUrls Specific site URLs to scan. If omitted, scans all sites in the tenant. .PARAMETER MaxPathLength Maximum allowed path length. Items exceeding this are flagged. Uses config default if not specified. .PARAMETER ExtensionFilter Comma-separated list of extensions to scan (e.g. ".xlsx,.docx"). Empty = all files. .EXAMPLE Start-SPFixScan .EXAMPLE Start-SPFixScan -SiteUrls "https://contoso.sharepoint.com/sites/Project1" .EXAMPLE Start-SPFixScan -SiteUrls "https://contoso.sharepoint.com/sites/Project1","https://contoso.sharepoint.com/sites/Project2" -MaxPathLength 400 #> [CmdletBinding()] param( [string[]]$SiteUrls, [int]$MaxPathLength, [string]$ExtensionFilter ) $engine = Get-SPFixEngine $request = [SPPathFixer.Engine.Models.ScanRequest]::new() if ($SiteUrls) { $request.SiteUrls = [System.Collections.Generic.List[string]]::new($SiteUrls) } if ($MaxPathLength -gt 0) { $request.MaxPathLength = $MaxPathLength } if ($ExtensionFilter) { $request.ExtensionFilter = $ExtensionFilter } $scanId = $engine.StartScan($request) Write-Host "Scan started (ID: $scanId). Use Get-SPFixScanStatus to monitor progress." -ForegroundColor Cyan return $scanId } |