Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
73 commits
Select commit Hold shift + click to select a range
b71032d
Add or update the Azure App Service build and deployment workflow config
criani Oct 25, 2024
36c41a6
Merge branch 'KelvinTegelaar:master' into master
criani Nov 13, 2024
aba9bdc
Merge branch 'KelvinTegelaar:master' into master
criani Dec 4, 2024
9f7df9a
Merge branch 'KelvinTegelaar:master' into master
criani Jan 21, 2025
870ccfa
Merge branch 'KelvinTegelaar:master' into master
criani Jan 28, 2025
3742706
Merge branch 'KelvinTegelaar:master' into master
criani Mar 23, 2025
e2b02c7
Merge branch 'KelvinTegelaar:master' into master
criani Apr 3, 2025
b2909b4
Merge branch 'KelvinTegelaar:master' into master
criani May 2, 2025
4eb826f
Merge branch 'KelvinTegelaar:master' into master
criani Aug 26, 2025
8c713a9
Merge branch 'KelvinTegelaar:master' into master
criani Oct 29, 2025
d485382
Merge branch 'KelvinTegelaar:master' into master
criani Oct 29, 2025
3b767bc
Merge branch 'KelvinTegelaar:master' into master
criani Nov 21, 2025
f983135
Update Invoke-CIPPStandardPhishProtection.ps1
criani Nov 21, 2025
a5a8030
Merge branch 'KelvinTegelaar:master' into master
criani Nov 21, 2025
0bd6241
Update Invoke-CIPPStandardPhishProtection.ps1
criani Nov 21, 2025
bf07786
Update Invoke-CIPPStandardPhishProtection.ps1
criani Nov 26, 2025
c32d4a5
Merge branch 'KelvinTegelaar:master' into master
criani Nov 26, 2025
7fbf1ec
Merge branch 'KelvinTegelaar:master' into master
criani Dec 23, 2025
4a0c111
Update Invoke-CIPPStandardPhishProtection.ps1
criani Dec 23, 2025
72050d3
feat: add auto enable archive mailbox standard
kris6673 Jan 16, 2026
0791a3e
Merge pull request #1773 from kris6673/issue5198
KelvinTegelaar Jan 16, 2026
7d4f249
fix typo
JohnDuprey Jan 17, 2026
fb5ca9a
Merge branch 'KelvinTegelaar:master' into master
criani Jan 17, 2026
dd32e67
Delete .github/workflows/master_cippjiuus.yml
criani Jan 17, 2026
d9c60c7
Update Invoke-ListMFAUsers.ps1
criani Jan 18, 2026
79e523e
Update Get-CIPPMFAState.ps1
criani Jan 18, 2026
ff01a49
Delete .github/workflows/master_prospectorcipp62evl.yml
criani Jan 18, 2026
d96bb4a
Update Invoke-CIPPStandardPhishProtection.ps1
criani Jan 18, 2026
f97cb87
Merge pull request #1778 from criani/dev
KelvinTegelaar Jan 18, 2026
8634610
Create Get-CIPPAlertSecureScore.ps1
Zacgoose Jan 19, 2026
65c48fc
Filter tenants using Get-Tenants in report scripts
JohnDuprey Jan 19, 2026
276c049
Merge pull request #1779 from Zacgoose/securescore-alert
KelvinTegelaar Jan 19, 2026
682bda5
Nullify Package and SHA only if present in template
JohnDuprey Jan 20, 2026
7bc5a5e
sort names
JohnDuprey Jan 20, 2026
c5b167f
Improve filtering logic for count rows in Get-CIPPDbItem
JohnDuprey Jan 20, 2026
70f86d2
Add calendar permissions batch processing and storage
JohnDuprey Jan 20, 2026
c9c7320
Refactor cache data collection to dynamic orchestration
JohnDuprey Jan 20, 2026
8f75c4d
remove log
JohnDuprey Jan 20, 2026
5baa5d1
fixes compares for some results
KelvinTegelaar Jan 20, 2026
c407c9d
Merge branch 'dev' of https://github.com/KelvinTegelaar/CIPP-API into…
KelvinTegelaar Jan 20, 2026
a8a7b6f
arr fix
KelvinTegelaar Jan 20, 2026
efe1c1a
arr fix
KelvinTegelaar Jan 20, 2026
3f91512
control update
KelvinTegelaar Jan 20, 2026
4a2a9fc
fix reporting
KelvinTegelaar Jan 20, 2026
e9a3a63
fixes reporting
KelvinTegelaar Jan 20, 2026
493cb38
fixes reporting
KelvinTegelaar Jan 20, 2026
3b5927f
improve CA handling.
KelvinTegelaar Jan 20, 2026
978075a
Fixes CA compare
KelvinTegelaar Jan 20, 2026
4314e73
Add 'On' mode to Set-CIPPAssignedPolicy
JohnDuprey Jan 20, 2026
1aa1df2
Add DateFilter support and output to log listing
JohnDuprey Jan 20, 2026
98a3ceb
CA compares
KelvinTegelaar Jan 20, 2026
1b1ff42
Merge branch 'dev' of https://github.com/KelvinTegelaar/CIPP-API into…
KelvinTegelaar Jan 20, 2026
191e269
Deprecate Sync-CippExtensionData and update cleanup rules
JohnDuprey Jan 20, 2026
7d59134
Improve error handling in report endpoints
JohnDuprey Jan 20, 2026
7f88c32
Add calendar permission report retrieval
JohnDuprey Jan 20, 2026
9f77cf5
fix: update tenant data check to fix unhandled exception
kris6673 Jan 20, 2026
2adc33f
Include OpenIdConfig in external tenant info response
JohnDuprey Jan 20, 2026
1bcce83
fix mx alert so that cache data is stored before trace is written.
KelvinTegelaar Jan 20, 2026
8a6a648
feat: dedupe licenses and add in new ones
kris6673 Jan 20, 2026
06ce65a
feat: initialize excluded licenses from config
kris6673 Jan 20, 2026
b768b5e
feat: refactor license exclusion management
kris6673 Jan 20, 2026
af03ef5
Fixes list groups
KelvinTegelaar Jan 20, 2026
942e7ed
Skip members without GroupId in tenant group scripts
JohnDuprey Jan 21, 2026
25e10ef
Add licenseProcessingState to group select fields
JohnDuprey Jan 21, 2026
89e3746
perform tenant data collection in sequence
JohnDuprey Jan 21, 2026
86cdd9d
Add function to reprocess user license assignments
JohnDuprey Jan 21, 2026
05a48af
Merge pull request #1781 from kris6673/excluded--SKUs
KelvinTegelaar Jan 21, 2026
2ad2b4d
Merge pull request #1780 from kris6673/fix-assesments-not-updating
KelvinTegelaar Jan 21, 2026
a0af36e
expansion fix
KelvinTegelaar Jan 21, 2026
3292b86
Merge branch 'dev' of https://github.com/KelvinTegelaar/CIPP-API into…
KelvinTegelaar Jan 21, 2026
1b1ca42
Improve MFA user data handling and error logging
JohnDuprey Jan 21, 2026
defe3b9
bump version to 10.0.3
JohnDuprey Jan 21, 2026
80bd036
Merge pull request #1783 from KelvinTegelaar/dev
JohnDuprey Jan 21, 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
30 changes: 0 additions & 30 deletions .github/workflows/master_cippjiuus.yml

This file was deleted.

144 changes: 28 additions & 116 deletions Config/ExcludeSkuList.JSON
Original file line number Diff line number Diff line change
Expand Up @@ -3,42 +3,10 @@
"GUID": "90d8b3f8-712e-4f7b-aa1e-62e7ae6cbe96",
"Product_Display_Name": "Business Apps (free)"
},
{
"GUID": "90d8b3f8-712e-4f7b-aa1e-62e7ae6cbe96",
"Product_Display_Name": "Business Apps (free)"
},
{
"GUID": "f30db892-07e9-47e9-837c-80727f46fd3d",
"Product_Display_Name": "MICROSOFT FLOW FREE"
},
{
"GUID": "f30db892-07e9-47e9-837c-80727f46fd3d",
"Product_Display_Name": "MICROSOFT FLOW FREE"
},
{
"GUID": "f30db892-07e9-47e9-837c-80727f46fd3d",
"Product_Display_Name": "MICROSOFT FLOW FREE"
},
{
"GUID": "16ddbbfc-09ea-4de2-b1d7-312db6112d70",
"Product_Display_Name": "MICROSOFT TEAMS (FREE)"
},
{
"GUID": "16ddbbfc-09ea-4de2-b1d7-312db6112d70",
"Product_Display_Name": "MICROSOFT TEAMS (FREE)"
},
{
"GUID": "16ddbbfc-09ea-4de2-b1d7-312db6112d70",
"Product_Display_Name": "MICROSOFT TEAMS (FREE)"
},
{
"GUID": "16ddbbfc-09ea-4de2-b1d7-312db6112d70",
"Product_Display_Name": "MICROSOFT TEAMS (FREE)"
},
{
"GUID": "16ddbbfc-09ea-4de2-b1d7-312db6112d70",
"Product_Display_Name": "MICROSOFT TEAMS (FREE)"
},
{
"GUID": "16ddbbfc-09ea-4de2-b1d7-312db6112d70",
"Product_Display_Name": "MICROSOFT TEAMS (FREE)"
Expand All @@ -47,10 +15,6 @@
"GUID": "a403ebcc-fae0-4ca2-8c8c-7a907fd6c235",
"Product_Display_Name": "Power BI (free)"
},
{
"GUID": "a403ebcc-fae0-4ca2-8c8c-7a907fd6c235",
"Product_Display_Name": "Power BI (free)"
},
{
"GUID": "61e6bd70-fbdb-4deb-82ea-912842f39431",
"Product_Display_Name": "Dynamics 365 Customer Service Insights Trial"
Expand All @@ -59,26 +23,6 @@
"GUID": "bc946dac-7877-4271-b2f7-99d2db13cd2c",
"Product_Display_Name": "Dynamics 365 Customer Voice Trial"
},
{
"GUID": "bc946dac-7877-4271-b2f7-99d2db13cd2c",
"Product_Display_Name": "Dynamics 365 Customer Voice Trial"
},
{
"GUID": "bc946dac-7877-4271-b2f7-99d2db13cd2c",
"Product_Display_Name": "Dynamics 365 Customer Voice Trial"
},
{
"GUID": "bc946dac-7877-4271-b2f7-99d2db13cd2c",
"Product_Display_Name": "Dynamics 365 Customer Voice Trial"
},
{
"GUID": "bc946dac-7877-4271-b2f7-99d2db13cd2c",
"Product_Display_Name": "Dynamics 365 Customer Voice Trial"
},
{
"GUID": "338148b6-1b11-4102-afb9-f92b6cdc0f8d",
"Product_Display_Name": "DYNAMICS 365 P1 TRIAL FOR INFORMATION WORKERS"
},
{
"GUID": "338148b6-1b11-4102-afb9-f92b6cdc0f8d",
"Product_Display_Name": "DYNAMICS 365 P1 TRIAL FOR INFORMATION WORKERS"
Expand All @@ -87,26 +31,6 @@
"GUID": "fcecd1f9-a91e-488d-a918-a96cdb6ce2b0",
"Product_Display_Name": "Microsoft Dynamics AX7 User Trial"
},
{
"GUID": "fcecd1f9-a91e-488d-a918-a96cdb6ce2b0",
"Product_Display_Name": "Microsoft Dynamics AX7 User Trial"
},
{
"GUID": "dcb1a3ae-b33f-4487-846a-a640262fadf4",
"Product_Display_Name": "Microsoft Power Apps Plan 2 Trial"
},
{
"GUID": "dcb1a3ae-b33f-4487-846a-a640262fadf4",
"Product_Display_Name": "Microsoft Power Apps Plan 2 Trial"
},
{
"GUID": "dcb1a3ae-b33f-4487-846a-a640262fadf4",
"Product_Display_Name": "Microsoft Power Apps Plan 2 Trial"
},
{
"GUID": "dcb1a3ae-b33f-4487-846a-a640262fadf4",
"Product_Display_Name": "Microsoft Power Apps Plan 2 Trial"
},
{
"GUID": "dcb1a3ae-b33f-4487-846a-a640262fadf4",
"Product_Display_Name": "Microsoft Power Apps Plan 2 Trial"
Expand All @@ -116,71 +40,59 @@
"Product_Display_Name": "Microsoft Teams Trial"
},
{
"GUID": "74fbf1bb-47c6-4796-9623-77dc7371723b",
"Product_Display_Name": "Microsoft Teams Trial"
},
{
"GUID": "74fbf1bb-47c6-4796-9623-77dc7371723b",
"Product_Display_Name": "Microsoft Teams Trial"
},
{
"GUID": "74fbf1bb-47c6-4796-9623-77dc7371723b",
"Product_Display_Name": "Microsoft Teams Trial"
},
{
"GUID": "74fbf1bb-47c6-4796-9623-77dc7371723b",
"Product_Display_Name": "Microsoft Teams Trial"
"GUID": "606b54a9-78d8-4298-ad8b-df6ef4481c80",
"Product_Display_Name": "Power Virtual Agents Viral Trial"
},
{
"GUID": "74fbf1bb-47c6-4796-9623-77dc7371723b",
"Product_Display_Name": "Microsoft Teams Trial"
"GUID": "1f2f344a-700d-42c9-9427-5cea1d5d7ba6",
"Product_Display_Name": "MICROSOFT STREAM"
},
{
"GUID": "74fbf1bb-47c6-4796-9623-77dc7371723b",
"Product_Display_Name": "Microsoft Teams Trial"
"GUID": "6470687e-a428-4b7a-bef2-8a291ad947c9",
"Product_Display_Name": "WINDOWS STORE FOR BUSINESS"
},
{
"GUID": "74fbf1bb-47c6-4796-9623-77dc7371723b",
"Product_Display_Name": "Microsoft Teams Trial"
"GUID": "710779e8-3d4a-4c88-adb9-386c958d1fdf",
"Product_Display_Name": "MICROSOFT TEAMS EXPLORATORY"
},
{
"GUID": "74fbf1bb-47c6-4796-9623-77dc7371723b",
"Product_Display_Name": "Microsoft Teams Trial"
"GUID": "8c4ce438-32a7-4ac5-91a6-e22ae08d9c8b",
"Product_Display_Name": "Rights Management Adhoc"
},
{
"GUID": "74fbf1bb-47c6-4796-9623-77dc7371723b",
"Product_Display_Name": "Microsoft Teams Trial"
"GUID": "5b631642-bd26-49fe-bd20-1daaa972ef80",
"Product_Display_Name": "Microsoft Power Apps for Developer"
},
{
"GUID": "606b54a9-78d8-4298-ad8b-df6ef4481c80",
"Product_Display_Name": "Power Virtual Agents Viral Trial"
"GUID": "6a4a1628-9b9a-424d-bed5-4118f0ede3fd",
"Product_Display_Name": "Dynamics 365 Business Central for IWs"
},
{
"GUID": "606b54a9-78d8-4298-ad8b-df6ef4481c80",
"Product_Display_Name": "Power Virtual Agents Viral Trial"
"GUID": "6ec92958-3cc1-49db-95bd-bc6b3798df71",
"Product_Display_Name": "Dynamics 365 Sales Premium Viral Trial"
},
{
"GUID": "606b54a9-78d8-4298-ad8b-df6ef4481c80",
"Product_Display_Name": "Power Virtual Agents Viral Trial"
"GUID": "3f9f06f5-3c31-472c-985f-62d9c10ec167",
"Product_Display_Name": "Power Pages vTrial for Makers"
},
{
"GUID": "1f2f344a-700d-42c9-9427-5cea1d5d7ba6",
"Product_Display_Name": "MICROSOFT STREAM"
"GUID": "9c7bff7a-3715-4da7-88d3-07f57f8d0fb6",
"Product_Display_Name": "Dynamics 365 For Sales Professional Trial"
},
{
"GUID": "1f2f344a-700d-42c9-9427-5cea1d5d7ba6",
"Product_Display_Name": "MICROSOFT STREAM"
"GUID": "8f0c5670-4e56-4892-b06d-91c085d7004f",
"Product_Display_Name": "App Connect IW"
},
{
"GUID": "6470687e-a428-4b7a-bef2-8a291ad947c9",
"Product_Display_Name": "WINDOWS STORE FOR BUSINESS"
"GUID": "87bbbc60-4754-4998-8c88-227dca264858",
"Product_Display_Name": "Power Apps and Logic Flows"
},
{
"GUID": "6470687e-a428-4b7a-bef2-8a291ad947c9",
"Product_Display_Name": "WINDOWS STORE FOR BUSINESS"
"GUID": "e5788282-6381-469f-84f0-3d7d4021d34d",
"Product_Display_Name": "Office 365 Extra File Storage for GCC"
},
{
"GUID": "710779e8-3d4a-4c88-adb9-386c958d1fdf",
"Product_Display_Name": "MICROSOFT TEAMS EXPLORATORY"
"GUID": "99049c9c-6011-4908-bf17-15f496e6519d",
"Product_Display_Name": "Office 365 Extra File Storage"
}
]
11 changes: 6 additions & 5 deletions Modules/CIPPCore/Public/Alerts/Get-CIPPAlertMXRecordChanged.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -24,11 +24,6 @@ function Get-CIPPAlertMXRecordChanged {
"$($Domain.Domain): MX records changed from [$($PreviousRecords -join ', ')] to [$($CurrentRecords -join ', ')]"
}
}

if ($ChangedDomains) {
Write-AlertTrace -cmdletName $MyInvocation.MyCommand -tenantFilter $TenantFilter -data $ChangedDomains
}

# Update cache with current data
foreach ($Domain in $DomainData) {
$CurrentRecords = $Domain.ActualMXRecords.Hostname | Sort-Object
Expand All @@ -42,6 +37,12 @@ function Get-CIPPAlertMXRecordChanged {
}
Add-CIPPAzDataTableEntity @CacheTable -Entity $CacheEntity -Force
}

if ($ChangedDomains) {
Write-AlertTrace -cmdletName $MyInvocation.MyCommand -tenantFilter $TenantFilter -data $ChangedDomains
}
return $true

} catch {
Write-LogMessage -message "Failed to check MX record changes: $($_.Exception.Message)" -API 'MX Record Alert' -tenant $TenantFilter -sev Error
}
Expand Down
46 changes: 46 additions & 0 deletions Modules/CIPPCore/Public/Alerts/Get-CIPPAlertSecureScore.ps1
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@

function Get-CippAlertSecureScore {
<#
.FUNCTIONALITY
Entrypoint
#>
[CmdletBinding()]
param(
[Parameter(Mandatory = $false)]
[Alias('input')]
$InputValue,
$TenantFilter
)
try {
$SecureScore = New-GraphGetRequest -uri 'https://graph.microsoft.com/v1.0/security/secureScores?$top=1' -tenantid $TenantFilter -noPagination $true
if ($InputValue.ThresholdType.value -eq "absolute") {
if ($SecureScore.currentScore -lt $InputValue.InputValue) {
$SecureScoreResult = [PSCustomObject]@{
Message = "Secure Score is below acceptable threshold"
Tenant = $TenantFilter
CurrentScore = $SecureScore.currentScore
MaxSecureScore = $SecureScore.maxScore
}
} else {
$SecureScoreResult = @()
}
} elseif ($InputValue.ThresholdType.value -eq "percent") {
$PercentageScore = [math]::Round((($SecureScore.currentScore / $SecureScore.maxScore) * 100),2)
if ($PercentageScore -lt $InputValue.InputValue) {
$SecureScoreResult = [PSCustomObject]@{
Message = "Secure Score is below acceptable threshold"
Tenant = $TenantFilter
CurrentScore = $SecureScore.currentScore
MaxScore = $SecureScore.maxScore
CurrentScorePercentage = [math]::Round($PercentageScore,2)
ScoreThresholdPercentage = $InputValue.InputValue
}
} else {
$SecureScoreResult = @()
}
}
Write-AlertTrace -cmdletName $MyInvocation.MyCommand -tenantFilter $TenantFilter -data $SecureScoreResult -PartitionKey SecureScore
} catch {
Write-AlertMessage -tenant $($TenantFilter) -message "Could not get Secure Score for $($TenantFilter): $(Get-NormalizedError -message $_.Exception.message)"
}
}
Loading