Skip to content

Commit d019386

Browse files
authored
Merge pull request #1336 from KelvinTegelaar/dev
Dev to hotfix
2 parents 42491ff + 6a99d01 commit d019386

8 files changed

+79
-41
lines changed

Modules/CIPPCore/Public/Entrypoints/HTTP Functions/CIPP/Extensions/Invoke-ExecExtensionMapping.ps1

+1-1
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ Function Invoke-ExecExtensionMapping {
115115
# Associate values to output bindings by calling 'Push-OutputBinding'.
116116
Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{
117117
StatusCode = $StatusCode
118-
Body = @{Results = $Result }
118+
Body = $Result
119119
})
120120

121121
}

Modules/CIPPCore/Public/Entrypoints/HTTP Functions/CIPP/Extensions/Invoke-ExecExtensionsConfig.ps1

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ Function Invoke-ExecExtensionsConfig {
1717
$Body = [PSCustomObject]$Request.Body
1818
$Results = try {
1919
# Check if NinjaOne URL is set correctly and the instance has at least version 5.6
20-
if ($Body.NinjaOne) {
20+
if ($Body.NinjaOne.Enabled -eq $true) {
2121
$AllowedNinjaHostnames = @(
2222
'app.ninjarmm.com',
2323
'eu.ninjarmm.com',

Modules/CIPPCore/Public/Entrypoints/HTTP Functions/CIPP/Settings/Invoke-ExecRunBackup.ps1

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ Function Invoke-ExecRunBackup {
1313
$APIName = $Request.Params.CIPPEndpoint
1414

1515
try {
16-
$CSVfile = New-CIPPBackup -BackupType 'CIPP' -Request $Request
16+
$CSVfile = New-CIPPBackup -BackupType 'CIPP' -Headers $Request.Headers
1717
$body = [pscustomobject]@{
1818
'Results' = @{
1919
resultText = 'Created backup'

Modules/CIPPCore/Public/New-CIPPAlertTemplate.ps1

+9-6
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,9 @@ function New-CIPPAlertTemplate {
66
$Format,
77
$LocationInfo,
88
$ActionResults,
9-
$CIPPURL
9+
$CIPPURL,
10+
$Tenant,
11+
$AuditLogLink
1012
)
1113
$Appname = '[{"Application Name":"ACOM Azure Website","Application IDs":"23523755-3a2b-41ca-9315-f81f3f566a95"},{"Application Name":"AEM-DualAuth","Application IDs":"69893ee3-dd10-4b1c-832d-4870354be3d8"},{"Application Name":"ASM Campaign Servicing","Application IDs":"0cb7b9ec-5336-483b-bc31-b15b5788de71"},{"Application Name":"Azure Advanced Threat Protection","Application IDs":"7b7531ad-5926-4f2d-8a1d-38495ad33e17"},{"Application Name":"Azure Data Lake","Application IDs":"e9f49c6b-5ce5-44c8-925d-015017e9f7ad"},{"Application Name":"Azure Lab Services Portal","Application IDs":"835b2a73-6e10-4aa5-a979-21dfda45231c"},{"Application Name":"Azure Portal","Application IDs":"c44b4083-3bb0-49c1-b47d-974e53cbdf3c"},{"Application Name":"AzureSupportCenter","Application IDs":"37182072-3c9c-4f6a-a4b3-b3f91cacffce"},{"Application Name":"Bing","Application IDs":"9ea1ad79-fdb6-4f9a-8bc3-2b70f96e34c7"},{"Application Name":"CPIM Service","Application IDs":"bb2a2e3a-c5e7-4f0a-88e0-8e01fd3fc1f4"},{"Application Name":"CRM Power BI Integration","Application IDs":"e64aa8bc-8eb4-40e2-898b-cf261a25954f"},{"Application Name":"Dataverse","Application IDs":"00000007-0000-0000-c000-000000000000"},{"Application Name":"Enterprise Roaming and Backup","Application IDs":"60c8bde5-3167-4f92-8fdb-059f6176dc0f"},{"Application Name":"IAM Supportability","Application IDs":"a57aca87-cbc0-4f3c-8b9e-dc095fdc8978"},{"Application Name":"IrisSelectionFrontDoor","Application IDs":"16aeb910-ce68-41d1-9ac3-9e1673ac9575"},{"Application Name":"MCAPI Authorization Prod","Application IDs":"d73f4b35-55c9-48c7-8b10-651f6f2acb2e"},{"Application Name":"Media Analysis and Transformation Service","Application IDs":"944f0bd1-117b-4b1c-af26-804ed95e767e<br>0cd196ee-71bf-4fd6-a57c-b491ffd4fb1e"},{"Application Name":"Microsoft 365 Support Service","Application IDs":"ee272b19-4411-433f-8f28-5c13cb6fd407"},{"Application Name":"Microsoft App Access Panel","Application IDs":"0000000c-0000-0000-c000-000000000000"},{"Application Name":"Microsoft Approval Management","Application IDs":"65d91a3d-ab74-42e6-8a2f-0add61688c74<br>38049638-cc2c-4cde-abe4-4479d721ed44"},{"Application Name":"Microsoft Authentication Broker","Application IDs":"29d9ed98-a469-4536-ade2-f981bc1d605e"},{"Application Name":"Microsoft Azure CLI","Application IDs":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},{"Application Name":"Microsoft Azure PowerShell","Application IDs":"1950a258-227b-4e31-a9cf-717495945fc2"},{"Application Name":"Microsoft Bing Search","Application IDs":"cf36b471-5b44-428c-9ce7-313bf84528de"},{"Application Name":"Microsoft Bing Search for Microsoft Edge","Application IDs":"2d7f3606-b07d-41d1-b9d2-0d0c9296a6e8"},{"Application Name":"Microsoft Bing Default Search Engine","Application IDs":"1786c5ed-9644-47b2-8aa0-7201292175b6"},{"Application Name":"Microsoft Defender for Cloud Apps","Application IDs":"3090ab82-f1c1-4cdf-af2c-5d7a6f3e2cc7"},{"Application Name":"Microsoft Docs","Application IDs":"18fbca16-2224-45f6-85b0-f7bf2b39b3f3"},{"Application Name":"Microsoft Dynamics ERP","Application IDs":"00000015-0000-0000-c000-000000000000"},{"Application Name":"Microsoft Edge Insider Addons Prod","Application IDs":"6253bca8-faf2-4587-8f2f-b056d80998a7"},{"Application Name":"Microsoft Exchange Online Protection","Application IDs":"00000007-0000-0ff1-ce00-000000000000"},{"Application Name":"Microsoft Forms","Application IDs":"c9a559d2-7aab-4f13-a6ed-e7e9c52aec87"},{"Application Name":"Microsoft Graph","Application IDs":"00000003-0000-0000-c000-000000000000"},{"Application Name":"Microsoft Intune Web Company Portal","Application IDs":"74bcdadc-2fdc-4bb3-8459-76d06952a0e9"},{"Application Name":"Microsoft Intune Windows Agent","Application IDs":"fc0f3af4-6835-4174-b806-f7db311fd2f3"},{"Application Name":"Microsoft Learn","Application IDs":"18fbca16-2224-45f6-85b0-f7bf2b39b3f3"},{"Application Name":"Microsoft Office","Application IDs":"d3590ed6-52b3-4102-aeff-aad2292ab01c"},{"Application Name":"Microsoft Office 365 Portal","Application IDs":"00000006-0000-0ff1-ce00-000000000000"},{"Application Name":"Microsoft Office Web Apps Service","Application IDs":"67e3df25-268a-4324-a550-0de1c7f97287"},{"Application Name":"Microsoft Online Syndication Partner Portal","Application IDs":"d176f6e7-38e5-40c9-8a78-3998aab820e7"},{"Application Name":"Microsoft password reset service","Application IDs":"93625bc8-bfe2-437a-97e0-3d0060024faa"},{"Application Name":"Microsoft Power BI","Application IDs":"871c010f-5e61-4fb1-83ac-98610a7e9110"},{"Application Name":"Microsoft Storefronts","Application IDs":"28b567f6-162c-4f54-99a0-6887f387bbcc"},{"Application Name":"Microsoft Stream Portal","Application IDs":"cf53fce8-def6-4aeb-8d30-b158e7b1cf83"},{"Application Name":"Microsoft Substrate Management","Application IDs":"98db8bd6-0cc0-4e67-9de5-f187f1cd1b41"},{"Application Name":"Microsoft Support","Application IDs":"fdf9885b-dd37-42bf-82e5-c3129ef5a302"},{"Application Name":"Microsoft Teams","Application IDs":"1fec8e78-bce4-4aaf-ab1b-5451cc387264"},{"Application Name":"Microsoft Teams Services","Application IDs":"cc15fd57-2c6c-4117-a88c-83b1d56b4bbe"},{"Application Name":"Microsoft Teams Web Client","Application IDs":"5e3ce6c0-2b1f-4285-8d4b-75ee78787346"},{"Application Name":"Microsoft Whiteboard Services","Application IDs":"95de633a-083e-42f5-b444-a4295d8e9314"},{"Application Name":"O365 Suite UX","Application IDs":"4345a7b9-9a63-4910-a426-35363201d503"},{"Application Name":"Office 365 Exchange Online","Application IDs":"00000002-0000-0ff1-ce00-000000000000"},{"Application Name":"Office 365 Management","Application IDs":"00b41c95-dab0-4487-9791-b9d2c32c80f2"},{"Application Name":"Office 365 Search Service","Application IDs":"66a88757-258c-4c72-893c-3e8bed4d6899"},{"Application Name":"Office 365 SharePoint Online","Application IDs":"00000003-0000-0ff1-ce00-000000000000"},{"Application Name":"Office Delve","Application IDs":"94c63fef-13a3-47bc-8074-75af8c65887a"},{"Application Name":"Office Online Add-in SSO","Application IDs":"93d53678-613d-4013-afc1-62e9e444a0a5"},{"Application Name":"Office Online Client AAD- Augmentation Loop","Application IDs":"2abdc806-e091-4495-9b10-b04d93c3f040"},{"Application Name":"Office Online Client AAD- Loki","Application IDs":"b23dd4db-9142-4734-867f-3577f640ad0c"},{"Application Name":"Office Online Client AAD- Maker","Application IDs":"17d5e35f-655b-4fb0-8ae6-86356e9a49f5"},{"Application Name":"Office Online Client MSA- Loki","Application IDs":"b6e69c34-5f1f-4c34-8cdf-7fea120b8670"},{"Application Name":"Office Online Core SSO","Application IDs":"243c63a3-247d-41c5-9d83-7788c43f1c43"},{"Application Name":"Office Online Search","Application IDs":"a9b49b65-0a12-430b-9540-c80b3332c127"},{"Application Name":"Office.com","Application IDs":"4b233688-031c-404b-9a80-a4f3f2351f90"},{"Application Name":"Office365 Shell WCSS-Client","Application IDs":"89bee1f7-5e6e-4d8a-9f3d-ecd601259da7"},{"Application Name":"OfficeClientService","Application IDs":"0f698dd4-f011-4d23-a33e-b36416dcb1e6"},{"Application Name":"OfficeHome","Application IDs":"4765445b-32c6-49b0-83e6-1d93765276ca"},{"Application Name":"OfficeShredderWacClient","Application IDs":"4d5c2d63-cf83-4365-853c-925fd1a64357"},{"Application Name":"OMSOctopiPROD","Application IDs":"62256cef-54c0-4cb4-bcac-4c67989bdc40"},{"Application Name":"OneDrive SyncEngine","Application IDs":"ab9b8c07-8f02-4f72-87fa-80105867a763"},{"Application Name":"OneNote","Application IDs":"2d4d3d8e-2be3-4bef-9f87-7875a61c29de"},{"Application Name":"Outlook Mobile","Application IDs":"27922004-5251-4030-b22d-91ecd9a37ea4"},{"Application Name":"Partner Customer Delegated Admin Offline Processor","Application IDs":"a3475900-ccec-4a69-98f5-a65cd5dc5306"},{"Application Name":"Password Breach Authenticator","Application IDs":"bdd48c81-3a58-4ea9-849c-ebea7f6b6360"},{"Application Name":"Power BI Service","Application IDs":"00000009-0000-0000-c000-000000000000"},{"Application Name":"SharedWithMe","Application IDs":"ffcb16e8-f789-467c-8ce9-f826a080d987"},{"Application Name":"SharePoint Online Web Client Extensibility","Application IDs":"08e18876-6177-487e-b8b5-cf950c1e598c"},{"Application Name":"Signup","Application IDs":"b4bddae8-ab25-483e-8670-df09b9f1d0ea"},{"Application Name":"Skype for Business Online","Application IDs":"00000004-0000-0ff1-ce00-000000000000"},{"Application Name":"Sway","Application IDs":"905fcf26-4eb7-48a0-9ff0-8dcc7194b5ba"},{"Application Name":"Universal Store Native Client","Application IDs":"268761a2-03f3-40df-8a8b-c3db24145b6b"},{"Application Name":"Vortex [wsfed enabled]","Application IDs":"5572c4c0-d078-44ce-b81c-6cbf8d3ed39e"},{"Application Name":"Windows Azure Active Directory","Application IDs":"00000002-0000-0000-c000-000000000000"},{"Application Name":"Windows Azure Service Management API","Application IDs":"797f4846-ba00-4fd7-ba43-dac1f8f63013"},{"Application Name":"WindowsDefenderATP Portal","Application IDs":"a3b79187-70b2-4139-83f9-6016c58cd27b"},{"Application Name":"Windows Search","Application IDs":"26a7ee05-5602-4d76-a7ba-eae8b7b67941"},{"Application Name":"Windows Spotlight","Application IDs":"1b3c667f-cde3-4090-b60b-3d2abd0117f0"},{"Application Name":"Windows Store for Business","Application IDs":"45a330b1-b1ec-4cc1-9161-9f03992aa49f"},{"Application Name":"Yammer","Application IDs":"00000005-0000-0ff1-ce00-000000000000"},{"Application Name":"Yammer Web","Application IDs":"c1c74fed-04c9-4704-80dc-9f79a2e515cb"},{"Application Name":"Yammer Web Embed","Application IDs":"e1ef36fd-b883-4dbf-97f0-9ece4b576fc6"}]' | ConvertFrom-Json | Where-Object -Property 'Application IDs' -EQ $data.applicationId
1214
$HTMLTemplate = Get-Content 'TemplateEmail.HTML' -Raw | Out-String
@@ -40,7 +42,7 @@ function New-CIPPAlertTemplate {
4042
$LocationTable = ($LocationInfo | ConvertTo-Html -Fragment -As List | Out-String).Replace('<table>', ' <table class="table-modern">')
4143
$IntroText = $IntroText + "<p>The (potential) location information for this IP is as follows:</p>$LocationTable"
4244
}
43-
$ButtonUrl = "$CIPPURL/identity/administration/ViewBec?userId=$($data.UserId)&tenantDomain=$($data.OrganizationId)"
45+
$ButtonUrl = "$CIPPURL/identity/administration/users/user/bec?userId=$($data.UserId)&tenantFilter=$Tenant"
4446
$ButtonText = 'Start BEC Investigation'
4547
$AfterButtonText = '<p>If you believe this is a suspect rule, you can click the button above to start the investigation.</p>'
4648
}
@@ -53,7 +55,7 @@ function New-CIPPAlertTemplate {
5355
$LocationTable = ($LocationInfo | ConvertTo-Html -Fragment -As List | Out-String).Replace('<table>', ' <table class="table-modern">')
5456
$IntroText = $IntroText + "<p>The (potential) location information for this IP is as follows:</p>$LocationTable"
5557
}
56-
$ButtonUrl = "$CIPPURL/identity/administration/ViewBec?userId=$($data.UserId)&tenantDomain=$($data.OrganizationId)"
58+
$ButtonUrl = "$CIPPURL/identity/administration/users/user/bec?userId=$($data.UserId)&tenantFilter=$Tenant"
5759
$ButtonText = 'Start BEC Investigation'
5860
$AfterButtonText = '<p>If you believe this is a suspect rule, you can click the button above to start the investigation.</p>'
5961
}
@@ -183,7 +185,7 @@ function New-CIPPAlertTemplate {
183185
$LocationTable = ($LocationInfo | ConvertTo-Html -Fragment -As List | Out-String).Replace('<table>', ' <table class="table-modern">')
184186
$IntroText = $IntroText + "<p>The (potential) location information for this IP is as follows:</p>$LocationTable"
185187
}
186-
$ButtonUrl = "$CIPPURL/identity/administration/ViewBec?userId=$($data.ObjectId)&tenantDomain=$($data.OrganizationId)"
188+
$ButtonUrl = "$CIPPURL/identity/administration/users/user/bec?userId=$($data.ObjectId)&tenantFilter=$Tenant"
187189
$ButtonText = 'User Management'
188190
$AfterButtonText = '<p>If this is incorrect, use the user management screen to block the user and revoke the sessions</p>'
189191
}
@@ -196,21 +198,22 @@ function New-CIPPAlertTemplate {
196198
$LocationTable = ($LocationInfo | ConvertTo-Html -Fragment -As List | Out-String).Replace('<table>', ' <table class="table-modern">')
197199
$IntroText = $IntroText + "<p>The (potential) location information for this IP is as follows:</p>$LocationTable"
198200
}
199-
$ButtonUrl = "$CIPPURL/identity/administration/users?customerId=$($data.OrganizationId)"
201+
$ButtonUrl = "$CIPPURL/identity/administration/users?tenantFilter=$Tenant"
200202
$ButtonText = 'User Management'
201203
}
202204
}
203205

204206
if ($Format -eq 'html') {
205207
return [pscustomobject]@{
206208
title = $Title
207-
htmlcontent = $HTMLTemplate -f $Title, $IntroText, $ButtonUrl, $ButtonText, $AfterButtonText
209+
htmlcontent = $HTMLTemplate -f $Title, $IntroText, $ButtonUrl, $ButtonText, $AfterButtonText, $AuditLogLink
208210
}
209211
} elseif ($Format -eq 'json') {
210212
return [pscustomobject]@{
211213
title = $Title
212214
buttonurl = $ButtonUrl
213215
buttontext = $ButtonText
216+
auditlog = $AuditLogLink
214217
}
215218
}
216219
}

Modules/CIPPCore/Public/Webhooks/Invoke-CIPPWebhookProcessing.ps1

+2-2
Original file line numberDiff line numberDiff line change
@@ -85,8 +85,8 @@ function Invoke-CippWebhookProcessing {
8585
}
8686
$LogId = Send-CIPPAlert @CIPPAlert
8787

88-
$AuditLogLink = '{0}/tenant/administration/audit-logs?customerId={1}&logId={2}' -f $CIPPURL, $Tenant.customerId, $LogId
89-
$GenerateEmail = New-CIPPAlertTemplate -format 'html' -data $Data -ActionResults $ActionResults -CIPPURL $CIPPURL
88+
$AuditLogLink = '{0}/tenant/administration/audit-logs/log?logId={2}' -f $CIPPURL, $LogId
89+
$GenerateEmail = New-CIPPAlertTemplate -format 'html' -data $Data -ActionResults $ActionResults -CIPPURL $CIPPURL -Tenant $Tenant.defaultDomainName -AuditLogLink $AuditLogLink
9090

9191
Write-Host 'Going to create the content'
9292
foreach ($action in $ActionList ) {

Modules/CIPPCore/Public/Webhooks/Test-CIPPAuditLogRules.ps1

+7-8
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@ function Test-CIPPAuditLogRules {
2626
'SAS:ProcessAuth'
2727
'deviceAuth:ReprocessTls'
2828
'Consent:Set'
29-
'Login:reprocess'
3029
)
3130

3231
$TrustedIPTable = Get-CIPPTable -TableName 'trustedIps'
@@ -100,14 +99,14 @@ function Test-CIPPAuditLogRules {
10099
$Data.clientip = $Data.clientip -replace ':\d+$', '' # Remove the port number if present
101100
}
102101
# Check if IP is on trusted IP list
103-
$TrustedIP = Get-CIPPAzDataTableEntity @TrustedIPTable -Filter "((PartitionKey eq '$TenantFilter') or (PartitionKey eq 'AllTenants')) and RowKey eq '$($Data.clientip)' and state eq 'Trusted'"
102+
$TrustedIP = Get-CIPPAzDataTableEntity @TrustedIPTable -Filter "((PartitionKey eq '$TenantFilter') or (PartitionKey eq 'AllTenants')) and RowKey eq '$($Data.clientip)' and state eq 'Trusted'"
104103
if ($TrustedIP) {
105104
#write-warning "IP $($Data.clientip) is trusted"
106105
$Trusted = $true
107106
}
108107
if (!$Trusted) {
109108
$CacheLookupStartTime = Get-Date
110-
$Location = Get-CIPPAzDataTableEntity @LocationTable -Filter "RowKey eq '$($Data.clientIp)'" | Select-Object -Last 1
109+
$Location = Get-CIPPAzDataTableEntity @LocationTable -Filter "RowKey eq '$($Data.clientIp)'" | Select-Object -Last 1 -ExcludeProperty Tenant
111110
$CacheLookupEndTime = Get-Date
112111
$CacheLookupSeconds = ($CacheLookupEndTime - $CacheLookupStartTime).TotalSeconds
113112
Write-Warning "Cache lookup for IP $($Data.clientip) took $CacheLookupSeconds seconds"
@@ -128,11 +127,11 @@ function Test-CIPPAuditLogRules {
128127
} catch {
129128
#write-warning "Unable to get IP location for $($Data.clientip): $($_.Exception.Message)"
130129
}
131-
$Country = if ($Location.CountryCode) { $Location.CountryCode } else { 'Unknown' }
132-
$City = if ($Location.City) { $Location.City } else { 'Unknown' }
133-
$Proxy = if ($Location.Proxy -ne $null) { $Location.Proxy } else { 'Unknown' }
134-
$hosting = if ($Location.Hosting -ne $null) { $Location.Hosting } else { 'Unknown' }
135-
$ASName = if ($Location.ASName) { $Location.ASName } else { 'Unknown' }
130+
$Country = if ($Location.countryCode) { $Location.countryCode } else { 'Unknown' }
131+
$City = if ($Location.city) { $Location.city } else { 'Unknown' }
132+
$Proxy = if ($Location.proxy -ne $null) { $Location.proxy } else { 'Unknown' }
133+
$hosting = if ($Location.hosting -ne $null) { $Location.hosting } else { 'Unknown' }
134+
$ASName = if ($Location.asname) { $Location.asname } else { 'Unknown' }
136135
$IP = $Data.ClientIP
137136
$LocationInfo = @{
138137
RowKey = [string]$Data.clientip

0 commit comments

Comments
 (0)