@Taco_Buffet
Got it figured out! Here's what I used to gather all highlighted content WebParts for all site pages for a specific site. Was able to change layoutID from "Card" ("Grid" view in UI) along with also updating the max items to 500.
$Site= Get-SPOSite -Identity <SiteURL>
$pages= Get-PnPListItem -List sitepages
Foreach($page in $pages) {
WRITE-HOST Checking $Page.FieldValues["FileLeafRef"]
$pageName= $page.FieldValues["FileLeafRef"]
$pg= Get-PnPClientSidePage -Identity $pageName
$WebParts= $pg.Controls
Foreach($WebPart in $WebParts | Where-Object {$_.Title -eq "Highlighted Content"}) {
Write-Host Getting WebPart Instance ID
$WPInstID= $WebPart.InstanceId
$WpPJ= $Webpart.PropertiesJson
WRITE-HOST Converting from JSON
$WpJ= ConvertFrom-Json -InputObject $WpPJ
WRITE-HOST Changing $WPInstID to LIST VIEW
IF($WpJ.layoutId -eq "Card") {
$WpJ.layoutId = "List"
$WpJ.templateId = 2
$WpJ.maxItemsPerPage = 500}
Set-PnPPageWebPart -Page $PageName -Identity $WPInstID -PropertiesJson (ConvertTo-JSON $WpJ -Compress -Depth 10)
}
}