PSFunctions/Get-DataverseTableRowCount.ps1
|
function Get-DataverseTableRowCount { <# .EXTERNALHELP PSDataverse.PowerShell-Help.xml #> [CmdletBinding()] param ( [Parameter(Mandatory=$true)] [String]$TableName, [Parameter(Mandatory=$false)] [string]$Filter = "" ) Write-Progress -Activity "Counting rows" $meta = Send-DataverseOperation "EntityDefinitions(LogicalName='$TableName')?`$select=LogicalCollectionName,PrimaryIdAttribute" | Select-Object -ExpandProperty Content | ConvertFrom-Json $uri = $meta | Select-Object -ExpandProperty LogicalCollectionName $primaryAttr = $meta | Select-Object -ExpandProperty PrimaryIdAttribute $uri += "?`$count=true&`$top=1&`$select=$primaryAttr" if ($Filter -ne "") { $uri += "&`$filter=$($Filter)" } $resp = Send-DataverseOperation $uri | Select-Object -ExpandProperty Content | ConvertFrom-Json $count = $resp | Select-Object -ExpandProperty "@odata.count" Write-Progress -Activity "Counting rows" -Completed return $count } |