Compare commits

..
8 Commits
Author SHA1 Message Date
Mikael Karlsson 1bd2151358 Merge Development for 3.11.0 2026-09-23 19:53:35 +10:00
Mikael Karlsson ed45693344 Merge pull request #429 from McKenzieCo/fix/silent-bulk-compare-op-addition
Fix silent bulk compare crash: op_Addition on PSObject
2026-08-06 21:30:15 +10:00
Mikael Karlsson f036c64d74 Refactor comparison logic to use compResultValue 2026-07-23 19:41:47 +10:00
Mikael Karlsson c3db7edb6e Merge pull request #424 from BuggyAl/patch-1
Fix typo in permissions error message
2026-07-23 19:25:07 +10:00
McKenzieCoandClaude Fable 5 51e5966fa7 Fix silent bulk compare crash: op_Addition on PSObject
In Start-BulkCompareExportObjects the flat CSV row was built with
'$compValue +=' where $compValue is a single PSCustomObject element of
the result array. PowerShell has no op_Addition for PSObject, so every
silent batch compare using the 'Exported Files with Intune Objects (Id)'
provider threw 'Method invocation failed because [PSObject] does not
contain a method named op_Addition' before Save-BulkCompareResults ran,
and no CSV was produced.

All other compare providers assign the row object directly; this aligns
the export provider with them. Verified against a live tenant: the
silent BulkCompare job now completes and writes the result CSV.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-21 18:02:23 -04:00
BuggyAl 7cd93038da Fix typo in permissions error message 2026-06-30 13:49:04 -05:00
Mikael Karlsson 5bb84c8561 Merge Development with Master 2026-05-12 19:50:19 +10:00
Mikael Karlsson faffa95d8a Merge pull request #363 from Micke-K/Development
3.10.1 Release
2025-09-14 14:19:01 +10:00
2 changed files with 10 additions and 10 deletions
+8 -8
View File
@@ -706,7 +706,7 @@ function Start-BulkCompareExportObjects
$objName = Get-GraphObjectName (?? $compObj.Object1 $compObj.Object2) $item.ObjectType
foreach($compValue in $compObj.Result)
{
$compValue += [PSCustomObject]@{
$compResultValue = [PSCustomObject]@{
ObjectName = $objName
Id = $compObj.Id
Type = $compObj.ObjectType.Title
@@ -719,23 +719,23 @@ function Start-BulkCompareExportObjects
Match = $compValue.Match
}
if($global:chkBulkCompareRemoveOData.IsChecked -and ($compValue.Value1 -like "@odata*" -or $compValue.Value2 -like "@odata*")) {
if($global:chkBulkCompareRemoveOData.IsChecked -and ($compResultValue.Value1 -like "@odata*" -or $compResultValue.Value2 -like "@odata*")) {
foreach($prop in $('Value1','Value2'))
{
$tmpValue1 = ""
$tmpValue2 = ""
$vauleString = $compValue.$prop
$vauleString = $compResultValue.$prop
if($vauleString -is [String]) {
$vauleString = $vauleString -replace $compValue.Id, ""
$tmpObj = $compValue.$prop | ConvertFrom-Json
if($compValue.$prop -and $compValue.$prop -like "@odata*") {
$vauleString = $vauleString -replace $compResultValue.Id, ""
$tmpObj = $compResultValue.$prop | ConvertFrom-Json
if($compResultValue.$prop -and $compResultValue.$prop -like "@odata*") {
Remove-GraphODataProperties $tmpObj.$prop | ConvertTo-Json -Depth 50 | Set-Variable -Name "tmp$prop"
}
}
}
$compValue.Match = $tmpValue1 -eq $tmpValue2
$compResultValue.Match = $tmpValue1 -eq $tmpValue2
}
$compResultValues += $compValue
$compResultValues += $compResultValue
}
}
+1 -1
View File
@@ -886,7 +886,7 @@ function Show-GraphObjects
{
$requiredPermissions = ""
}
$global:txtNotLoggedIn.Content = "You don't have the required permissons to access $($global:curObjectType.Title).$($requiredPermissions)`n`Missing perimssons: $missingScopes`n`nRequest consent from the 'Request Consent' link in the user login info`nor`nDisable the 'Use Default Permissions' setting to trigger consent prompt.`nNote: Changing the 'Use Default Permissions' setting will require a restart of the app`nand a 'manual' login"
$global:txtNotLoggedIn.Content = "You don't have the required permissions to access $($global:curObjectType.Title).$($requiredPermissions)`n`Missing permissions: $missingScopes`n`nRequest consent from the 'Request Consent' link in the user login info`nor`nDisable the 'Use Default Permissions' setting to trigger consent prompt.`nNote: Changing the 'Use Default Permissions' setting will require a restart of the app`nand a 'manual' login"
$global:grdNotLoggedIn.Visibility = "Visible"
$global:grdData.Visibility = "Collapsed"
return