Compiling reports for ServiceNow is a pain with its built-in report builder, since by default it will only return 10,000 records. Fortunately, they provide a REST API. This script will page 1000 records at a time, both for ServiceNow record limitations, and avoiding HTTP timeouts.
$snUrl = "https://your-company.service-now.com" $table = "table_you_want" [int]$limit = 1000 $snApi = "api/now/v1" $sncred = Get-Credential [int]$numRecords = (Invoke-RestMethod -Uri $("$snUrl/$snApi/stats/$table" + "?sysparm_count=true") -Credential $sncred).result.stats.count $numIterations = [int][math]::Ceiling(($numRecords / $limit)) $jsonTable = $null for ($i=0; $i -lt $numIterations; $i++){ $offset = $i * $limit $jsonTable += (Invoke-RestMethod -Uri $("$snUrl/$snApi/table/$table" + "?sysparm_offset=$offset&sysparm_limit=$limit") -Credential $sncred).result }