Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
7b26b11
fix(compare): handle non-catalog null results
kris6673 Apr 30, 2026
ece775b
feat(intune): extend ListIntunePolicy for admin templates
kris6673 Apr 30, 2026
45c8f59
Fix TeamsMeetingRecordingExpiration drift report showing Current=true
bmsimp May 3, 2026
512d87c
Fix SPFileRequests drift report showing pre-remediation values
bmsimp May 3, 2026
2be775b
Fix DisableSelfServiceLicenses autoclaim reading wrong property
bmsimp May 3, 2026
7aeeffc
Fix TeamsFederationConfiguration drift report ordering mismatch
bmsimp May 3, 2026
27c08ab
Fix SafeLinksPolicy and MalwareFilterPolicy drift report ordering
bmsimp May 3, 2026
3beb622
Better queue tracking
Zacgoose May 7, 2026
b02970f
Fix drift report inaccuracies for TeamsMeeting, SPFileRequests, and p…
KelvinTegelaar May 7, 2026
0bc436b
Fix handling of non-catalog null results in comparison function (#2034)
KelvinTegelaar May 7, 2026
02fdcbe
Feat: Extend ListIntunePolicy for admin templates (#2035)
KelvinTegelaar May 7, 2026
8e7392d
fix: scripted alert optimization
JohnDuprey May 7, 2026
731a41e
fix: ensure unique and non-null email addresses in report generation
JohnDuprey May 7, 2026
bc4e643
add purview section
KelvinTegelaar May 7, 2026
c0098fd
remove old file
KelvinTegelaar May 7, 2026
26cb9ae
feat: Add AutoDiscover check to domain analysis
kris6673 May 7, 2026
94158f4
Add Investigate status to custom tests
Zacgoose May 8, 2026
f20c60a
Revert escaping
Zacgoose May 8, 2026
318d826
fix: correct assignment syntax for FieldValue in Add-CIPPBPAField fun…
JohnDuprey May 8, 2026
51b2281
fix: add SharingCapability to current state retrieval in Invoke-CIPPS…
JohnDuprey May 8, 2026
7804aaf
Try infer template type from content if missing, else fail early
Zacgoose May 8, 2026
1a304e1
feat: Add AutoDiscover check to domain analysis (#2042)
KelvinTegelaar May 8, 2026
3f44d22
Add usageLocation support to JIT Admin creation and templates (#5910)…
KelvinTegelaar May 8, 2026
8d454b9
fixed unmapped issue sherweb
KelvinTegelaar May 8, 2026
85d9a6c
concept
rvdwegen May 8, 2026
5644578
fixed #5930
KelvinTegelaar May 8, 2026
67ea958
fixes #5973
KelvinTegelaar May 8, 2026
b7773c6
pushing new compliance menus
KelvinTegelaar May 8, 2026
0475f95
Merge branch 'dev' of https://github.com/KelvinTegelaar/CIPP-API into…
KelvinTegelaar May 8, 2026
584a6fe
feat: support bulk manager and sponsor updates
kris6673 May 8, 2026
b872a8b
Merge branch 'dev' of https://github.com/KelvinTegelaar/CIPP-API into…
rvdwegen May 8, 2026
a8a0c9d
fixes #5967
KelvinTegelaar May 8, 2026
68a83d3
Merge branch 'dev' of https://github.com/KelvinTegelaar/CIPP-API into…
KelvinTegelaar May 8, 2026
6c440c0
Fix usageLocation autocomplete object in JIT Admin (#5910)
joaadvi May 8, 2026
3b60964
fix(jit-admin): honor TAP lifetime policy bounds
kris6673 May 8, 2026
2529b6a
fixes #5925
KelvinTegelaar May 8, 2026
0e00b46
Feat: Add configurable TAP lifetime for JIT Admin creation (#2045)
KelvinTegelaar May 8, 2026
d7bd907
Fix usageLocation value extraction in JIT Admin (#5910) (#2044)
KelvinTegelaar May 8, 2026
b9a8249
feat: Support bulk updates for managers and sponsors (#2043)
KelvinTegelaar May 8, 2026
74124f4
chore: update DNSHealth to 1.1.7
JohnDuprey May 8, 2026
176aa96
fix: sharing capability based on desired state for file requests
JohnDuprey May 8, 2026
f105398
chore: update dnshealth to 1.1.8
JohnDuprey May 8, 2026
d9c6203
fix: update expiration days logic for SharePoint and OneDrive file re…
JohnDuprey May 8, 2026
933a6dc
Fix for 5979
rvdwegen May 8, 2026
0bc4f50
Merge branch 'dev' of https://github.com/KelvinTegelaar/CIPP-API into…
rvdwegen May 8, 2026
4a466be
fix: prevent stale template list from skewing applied standards report
JohnDuprey May 8, 2026
bf8a33a
feat: add Invoke-ListResellerRelationshipLink function for retrieving…
JohnDuprey May 8, 2026
e99b4aa
chore: bump version to 10.4.4
JohnDuprey May 8, 2026
6871d26
Dev to hotfix (#2047)
JohnDuprey May 8, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,7 @@ function Push-DomainAnalyserDomain {
MSCNAMEDKIMSelectors = ''
EnterpriseEnrollment = ''
EnterpriseRegistration = ''
AutoDiscover = ''
Score = ''
MaximumScore = 160
ScorePercentage = ''
Expand Down Expand Up @@ -293,6 +294,26 @@ function Push-DomainAnalyserDomain {
}
#EndRegion Intune Enrollment CNAME Check

#Region AutoDiscover Check
try {
$AutoDiscoverRecord = Read-AutoDiscoverRecord -Domain $Domain
$AutoDiscoverFailCount = $AutoDiscoverRecord.ValidationFails | Measure-Object | Select-Object -ExpandProperty Count
$AutoDiscoverWarnCount = $AutoDiscoverRecord.ValidationWarns | Measure-Object | Select-Object -ExpandProperty Count
if ($AutoDiscoverFailCount -eq 0 -and $AutoDiscoverWarnCount -eq 0) {
$Result.AutoDiscover = 'Correct'
} elseif ($AutoDiscoverFailCount -eq 0) {
$Result.AutoDiscover = "$($AutoDiscoverRecord.RecordType): $($AutoDiscoverRecord.Record)"
$ScoreExplanation.Add("AutoDiscover $($AutoDiscoverRecord.RecordType) record points to unexpected target") | Out-Null
} else {
$Result.AutoDiscover = 'No Record'
$ScoreExplanation.Add('No AutoDiscover DNS record found') | Out-Null
}
} catch {
$Result.AutoDiscover = 'Error'
Write-LogMessage -API 'DomainAnalyser' -tenant $DomainObject.TenantId -message "AutoDiscover check error for $Domain" -LogData (Get-CippException -Exception $_) -sev Error
}
#EndRegion AutoDiscover Check

#Region MSCNAME DKIM Records
# Get Microsoft DKIM CNAME selector Records
# Ugly, but i needed to create a scope/loop i could break out of without breaking the rest of the function
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,15 @@ function Push-ListGraphRequestQueue {
Data = [string]$Json
}
Add-CIPPAzDataTableEntity @Table -Entity $GraphResults -Force | Out-Null

if ($env:CIPPNG -eq 'true') {
try {
[Craft.Services.CacheBridge]::InvalidateByScope('AllTenants')
} catch {
Write-Information "CacheBridge invalidation skipped: $($_.Exception.Message)"
}
}

return $true
} catch {
Write-Warning "Queue Error: $($_.Exception.Message)"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,9 +48,10 @@ function Get-CIPPAlertIntunePolicyConflicts {
return
}

$AlertableStatuses = @()
if ($Config.AlertErrors) { $AlertableStatuses += 'error', 'failed' }
if ($Config.AlertConflicts) { $AlertableStatuses += 'conflict' }
$AlertableStatuses = @(
if ($Config.AlertErrors) { 'error'; 'failed' }
if ($Config.AlertConflicts) { 'conflict' }
)

if (-not $AlertableStatuses) {
return
Expand All @@ -68,7 +69,7 @@ function Get-CIPPAlertIntunePolicyConflicts {
return
}

$Issues = @()
$Issues = [System.Collections.Generic.List[object]]::new()

if ($Config.IncludePolicies) {
try {
Expand All @@ -77,16 +78,16 @@ function Get-CIPPAlertIntunePolicyConflicts {
foreach ($Device in $ManagedDevices) {
$PolicyStates = $Device.deviceConfigurationStates | Where-Object { $_.state -and ($AlertableStatuses -contains $_.state) }
foreach ($State in $PolicyStates) {
$Issues += [PSCustomObject]@{
Message = "Policy '$($State.displayName)' is $($State.state) on device '$($Device.deviceName)' for $($Device.userPrincipalName)."
Tenant = $TenantFilter
Type = 'Policy'
PolicyName = $State.displayName
IssueStatus = $State.state
DeviceName = $Device.deviceName
UserPrincipalName = $Device.userPrincipalName
DeviceId = $Device.id
}
$Issues.Add([PSCustomObject]@{
Message = "Policy '$($State.displayName)' is $($State.state) on device '$($Device.deviceName)' for $($Device.userPrincipalName)."
Tenant = $TenantFilter
Type = 'Policy'
PolicyName = $State.displayName
IssueStatus = $State.state
DeviceName = $Device.deviceName
UserPrincipalName = $Device.userPrincipalName
DeviceId = $Device.id
})
}
}
} catch {
Expand All @@ -105,16 +106,16 @@ function Get-CIPPAlertIntunePolicyConflicts {
}

foreach ($Status in $BadStatuses) {
$Issues += [PSCustomObject]@{
Message = "App '$($App.displayName)' install is $($Status.installState) on device '$($Status.deviceName)' for $($Status.userPrincipalName)."
Tenant = $TenantFilter
Type = 'Application'
AppName = $App.displayName
IssueStatus = $Status.installState
DeviceName = $Status.deviceName
UserPrincipalName = $Status.userPrincipalName
DeviceId = $Status.deviceId
}
$Issues.Add([PSCustomObject]@{
Message = "App '$($App.displayName)' install is $($Status.installState) on device '$($Status.deviceName)' for $($Status.userPrincipalName)."
Tenant = $TenantFilter
Type = 'Application'
AppName = $App.displayName
IssueStatus = $Status.installState
DeviceName = $Status.deviceName
UserPrincipalName = $Status.userPrincipalName
DeviceId = $Status.deviceId
})
}
}
} catch {
Expand All @@ -132,11 +133,11 @@ function Get-CIPPAlertIntunePolicyConflicts {
$AppCount = ($Issues | Where-Object { $_.Type -eq 'Application' }).Count

$AlertData = @([PSCustomObject]@{
Message = "Found $PolicyCount policy issues and $AppCount application issues in Intune."
Tenant = $TenantFilter
PolicyIssues = $PolicyCount
AppIssues = $AppCount
Issues = $Issues
Message = "Found $PolicyCount policy issues and $AppCount application issues in Intune."
Tenant = $TenantFilter
PolicyIssues = $PolicyCount
AppIssues = $AppCount
Issues = $Issues
})
} else {
$AlertData = $Issues
Expand Down
2 changes: 1 addition & 1 deletion Modules/CIPPCore/Public/Add-CIPPBPAField.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ function Add-CIPPBPAField {
$Result[$fieldName] = [string]$JsonString
}
'string' {
$Result[$fieldName], [string]$FieldValue
$Result[$fieldName] = [string]$FieldValue
}
}
Add-CIPPAzDataTableEntity @Table -Entity $Result -Force
Expand Down
1 change: 1 addition & 0 deletions Modules/CIPPCore/Public/CippQueue/New-CippQueueEntry.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ function New-CippQueueEntry {
}

if ($env:CIPPNG -eq 'true') {
[Craft.Services.QueueStatusBridge]::RegisterQueueMetadata($QueueEntry.RowKey, $Name, $Link, $Reference)
return $QueueEntry
}

Expand Down
2 changes: 1 addition & 1 deletion Modules/CIPPCore/Public/Compare-CIPPIntuneObject.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ function Compare-CIPPIntuneObject {
[Parameter(Mandatory = $false)]
[string[]]$CompareType = @()
)
if ($CompareType -ne 'Catalog') {
if ($CompareType -notcontains 'Catalog') {
$defaultExcludeProperties = @(
'id',
'createdDateTime',
Expand Down
Loading