Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Get Fabric Certified for FREE during Fabric Data Days. Don't miss your chance! Request now

Reply
sergprim
Frequent Visitor

Get last refresh date time for each partition

Hello,
I have custom partitions. How can I get last refresh date time for each partition in powerShell?
Psesudocode
#Working portion
$server.Connect($ConnectionString)
$AllDatabases += $server.Databases
foreach($database in $AllDatabases)

$databaseLastProccesed = $database.LastProcessed
$str = $databaseLastProccesed.ToString()
Write-Output "Database $str"


$AllTables += $database.Model.Tables
foreach($table in $AllTables)

$tableName = $table.Name
$AllPartitions += $table.Partitions
foreach ($partition in $AllPartitions)
$partitionName = $partition.Name
#need to get LastProcessed, not working
 $partitionProcess = $partition.LastProcessed
$str = $partitionProcess.ToString()
Write-Output "partitionProcess $databaseName Table $tableName Partition $str"
Thank you

1 REPLY 1
tackytechtom
Super User
Super User

Hi  @sergprim ,

 

 

How about this: 

# Parameters
$groupId = "<your group ID>"
$datasetId = "<your dataset ID>"
$accessToken = "<your access token>"

# Base URI for Power BI REST API
$baseUri = "https://api.powerbi.com/v1.0/myorg"

# Get dataset metadata
$datasetUri = "$baseUri/groups/$groupId/datasets/$dataSetId"
$datasetMetadata = Invoke-RestMethod -Uri $datasetUri -Headers @{ "Authorization" = "Bearer $accessToken" }

# Get partition metadata
$partitionsUri = "$baseUri/groups/$groupId/datasets/$dataSetId/partitions"
$partitionsMetadata = Invoke-RestMethod -Uri $partitionsUri -Headers @{ "Authorization" = "Bearer $accessToken" }

# Loop through partitions and get latest refresh date time
foreach ($partition in $partitionsMetadata.value) {
    $partitionMetadataUri = "$baseUri/groups/$groupId/datasets/$dataSetId/partitions/$($partition.id)/metadata"
    $partitionMetadata = Invoke-RestMethod -Uri $partitionMetadataUri -Headers @{ "Authorization" = "Bearer $accessToken" }
    $latestRefresh = $partitionMetadata.refreshHistory.refreshes | Select-Object -First 1
    Write-Output "Partition $($partition.name) - Latest refresh: $($latestRefresh.startTime)"
}

 

Let me know if this helps 🙂

 

/Tom
https://www.tackytech.blog/
https://www.instagram.com/tackytechtom/

@sergprim



Did I answer your question➡️ Please, mark my post as a solution ✔️

Also happily accepting Kudos 🙂

Feel free to connect with me on LinkedIn! linkedIn

#proudtobeasuperuser 

Helpful resources

Announcements
November Power BI Update Carousel

Power BI Monthly Update - November 2025

Check out the November 2025 Power BI update to learn about new features.

Fabric Data Days Carousel

Fabric Data Days

Advance your Data & AI career with 50 days of live learning, contests, hands-on challenges, study groups & certifications and more!

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.

Top Kudoed Authors