Skip to content

Commit 7f97482

Browse files
Merge branch 'dev' of https://github.com/KelvinTegelaar/CIPP-API into dev
2 parents ad9a7c0 + 880a96e commit 7f97482

10 files changed

Lines changed: 92 additions & 70 deletions

Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Tenant/Standards/Invoke-ExecUpdateDriftDeviation.ps1

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ function Invoke-ExecUpdateDriftDeviation {
99
param($Request, $TriggerMetadata)
1010

1111
$APIName = $TriggerMetadata.FunctionName
12-
Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message 'Accessed this API' -Sev 'Debug'
12+
Write-LogMessage -Headers $Request.Headers -API $APINAME -message 'Accessed this API' -Sev 'Debug'
1313

1414
try {
1515
$TenantFilter = $Request.Body.TenantFilter
@@ -25,7 +25,7 @@ function Invoke-ExecUpdateDriftDeviation {
2525
success = $true
2626
result = "All drift customizations removed for tenant $TenantFilter"
2727
})
28-
Write-LogMessage -tenant $TenantFilter -user $request.headers.'x-ms-client-principal' -API $APINAME -message "Removed all drift customizations for tenant $TenantFilter" -Sev 'Info'
28+
Write-LogMessage -tenant $TenantFilter -Headers $Request.Headers -API $APINAME -message "Removed all drift customizations for tenant $TenantFilter" -Sev 'Info'
2929
} else {
3030
$Deviations = $Request.Body.deviations
3131
$Reason = $Request.Body.reason
@@ -39,7 +39,7 @@ function Invoke-ExecUpdateDriftDeviation {
3939
success = $true
4040
result = $Result
4141
}
42-
Write-LogMessage -tenant $TenantFilter -user $request.headers.'x-ms-client-principal' -API $APINAME -message "Updated drift deviation status for $($Deviation.standardName) to $($Deviation.status) with reason: $Reason" -Sev 'Info'
42+
Write-LogMessage -tenant $TenantFilter -Headers $Request.Headers -API $APINAME -message "Updated drift deviation status for $($Deviation.standardName) to $($Deviation.status) with reason: $Reason" -Sev 'Info'
4343
if ($Deviation.status -eq 'DeniedRemediate') {
4444
$Setting = $Deviation.standardName -replace 'standards\.', ''
4545
$StandardTemplate = Get-CIPPTenantAlignment -TenantFilter $TenantFilter | Where-Object -Property standardType -EQ 'drift'
@@ -62,7 +62,7 @@ function Invoke-ExecUpdateDriftDeviation {
6262
}
6363
}
6464
if (-not $MatchedTemplate) {
65-
Write-LogMessage -tenant $TenantFilter -user $request.headers.'x-ms-client-principal' -API $APINAME -message "Could not find IntuneTemplate $TemplateId in drift standard settings for remediation" -Sev 'Warn'
65+
Write-LogMessage -tenant $TenantFilter -Headers $Request.Headers -API $APINAME -message "Could not find IntuneTemplate $TemplateId in drift standard settings for remediation" -Sev 'Warn'
6666
} else {
6767
$MatchedTemplate | Add-Member -MemberType NoteProperty -Name 'remediate' -Value $true -Force
6868
$MatchedTemplate | Add-Member -MemberType NoteProperty -Name 'report' -Value $true -Force
@@ -132,7 +132,7 @@ function Invoke-ExecUpdateDriftDeviation {
132132
}
133133
}
134134
Add-CIPPScheduledTask -Task $PersistentTaskBody -hidden $false
135-
Write-LogMessage -tenant $TenantFilter -user $request.headers.'x-ms-client-principal' -API $APINAME -message "Scheduled persistent drift remediation task (12h recurrence) for $Setting" -Sev 'Info'
135+
Write-LogMessage -tenant $TenantFilter -Headers $Request.Headers -API $APINAME -message "Scheduled persistent drift remediation task (12h recurrence) for $Setting" -Sev 'Info'
136136
}
137137
}
138138
if ($Deviation.status -eq 'deniedDelete') {
@@ -148,10 +148,10 @@ function Invoke-ExecUpdateDriftDeviation {
148148
Write-Host "Going to delete Policy with ID $($Policy.ID) Deviation Name is $($Deviation.standardName)"
149149
$null = New-GraphPostRequest -uri "https://graph.microsoft.com/beta/$($URLName)/$($ID)" -type DELETE -tenant $TenantFilter
150150
"Deleted Policy $($ID)"
151-
Write-LogMessage -tenant $TenantFilter -user $request.headers.'x-ms-client-principal' -API $APINAME -message "Deleted Policy with ID $($ID)" -Sev 'Info'
151+
Write-LogMessage -tenant $TenantFilter -Headers $Request.Headers -API $APINAME -message "Deleted Policy with ID $($ID)" -Sev 'Info'
152152
} else {
153153
"could not find policy with ID $($ID)"
154-
Write-LogMessage -tenant $TenantFilter -user $request.headers.'x-ms-client-principal' -API $APINAME -message "Could not find Policy with ID $($ID) to delete for remediation" -sev 'Warn'
154+
Write-LogMessage -tenant $TenantFilter -Headers $Request.Headers -API $APINAME -message "Could not find Policy with ID $($ID) to delete for remediation" -sev 'Warn'
155155
}
156156

157157

@@ -162,7 +162,7 @@ function Invoke-ExecUpdateDriftDeviation {
162162
success = $false
163163
error = $_.Exception.Message
164164
}
165-
Write-LogMessage -tenant $TenantFilter -user $request.headers.'x-ms-client-principal' -API $APINAME -message "Failed to update drift deviation for $($Deviation.standardName): $($_.Exception.Message)" -Sev 'Error'
165+
Write-LogMessage -tenant $TenantFilter -Headers $Request.Headers -API $APINAME -message "Failed to update drift deviation for $($Deviation.standardName): $($_.Exception.Message)" -Sev 'Error'
166166
}
167167
}
168168
}
@@ -175,7 +175,7 @@ function Invoke-ExecUpdateDriftDeviation {
175175
})
176176

177177
} catch {
178-
Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message "Failed to update drift deviation: $($_.Exception.Message)" -Sev 'Error'
178+
Write-LogMessage -Headers $Request.Headers -API $APINAME -message "Failed to update drift deviation: $($_.Exception.Message)" -Sev 'Error'
179179
return ([HttpResponseContext]@{
180180
StatusCode = [HttpStatusCode]::BadRequest
181181
Body = @{error = $_.Exception.Message }

Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardAutopilotStatusPage.ps1

Lines changed: 22 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -93,22 +93,29 @@ function Invoke-CIPPStandardAutopilotStatusPage {
9393

9494
# Remediate if the state is not correct
9595
if ($Settings.remediate -eq $true) {
96-
try {
97-
$Parameters = @{
98-
TenantFilter = $Tenant
99-
ShowProgress = $Settings.ShowProgress
100-
BlockDevice = $Settings.BlockDevice
101-
InstallWindowsUpdates = $InstallWindowsUpdates
102-
AllowReset = $Settings.AllowReset
103-
EnableLog = $Settings.EnableLog
104-
ErrorMessage = $Settings.ErrorMessage
105-
TimeOutInMinutes = $Settings.TimeOutInMinutes
106-
AllowFail = $Settings.AllowFail
107-
OBEEOnly = $Settings.OBEEOnly
108-
}
96+
if ($StateIsCorrect -eq $true) {
97+
Write-LogMessage -API 'Standards' -tenant $Tenant -message 'Autopilot Enrollment Status Page is already configured correctly.' -sev Info
98+
} else {
99+
try {
100+
$Parameters = @{
101+
TenantFilter = $Tenant
102+
ShowProgress = $Settings.ShowProgress
103+
BlockDevice = $Settings.BlockDevice
104+
InstallWindowsUpdates = $InstallWindowsUpdates
105+
AllowReset = $Settings.AllowReset
106+
EnableLog = $Settings.EnableLog
107+
ErrorMessage = $Settings.ErrorMessage
108+
TimeOutInMinutes = $Settings.TimeOutInMinutes
109+
AllowFail = $Settings.AllowFail
110+
OBEEOnly = $Settings.OBEEOnly
111+
}
109112

110-
Set-CIPPDefaultAPEnrollment @Parameters
111-
} catch {
113+
Set-CIPPDefaultAPEnrollment @Parameters
114+
Write-LogMessage -API 'Standards' -tenant $Tenant -message 'Autopilot Enrollment Status Page settings have been updated.' -sev Info
115+
} catch {
116+
$ErrorMessage = Get-CippException -Exception $_
117+
Write-LogMessage -API 'Standards' -tenant $Tenant -message "Failed to update Autopilot Enrollment Status Page: $($ErrorMessage.NormalizedError)" -sev Error -LogData $ErrorMessage
118+
}
112119
}
113120
}
114121

Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardDisableGuests.ps1

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ function Invoke-CIPPStandardDisableGuests {
121121
Write-LogMessage -API 'Standards' -tenant $tenant -message "Failed to process bulk disable guests request: $($ErrorMessage.NormalizedError)" -sev Error -LogData $ErrorMessage
122122
}
123123
} else {
124-
Write-LogMessage -API 'Standards' -tenant $tenant -message "No guests accounts with a login longer than $checkDays days ago." -sev Info
124+
Write-LogMessage -API 'Standards' -tenant $tenant -message "No guests accounts with a login longer than $checkDays days ago - all guest accounts are already compliant." -sev Info
125125
}
126126
}
127127
if ($Settings.alert -eq $true) {

Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardEXODisableAutoForwarding.ps1

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -45,21 +45,24 @@ function Invoke-CIPPStandardEXODisableAutoForwarding {
4545

4646
try {
4747
$CurrentInfo = New-ExoRequest -tenantid $Tenant -cmdlet 'Get-HostedOutboundSpamFilterPolicy' -cmdParams @{Identity = 'Default' } -useSystemMailbox $true
48-
}
49-
catch {
48+
} catch {
5049
$ErrorMessage = Get-NormalizedError -Message $_.Exception.Message
5150
Write-LogMessage -API 'Standards' -Tenant $Tenant -Message "Could not get the EXODisableAutoForwarding state for $Tenant. Error: $ErrorMessage" -Sev Error
5251
return
5352
}
5453
$StateIsCorrect = $CurrentInfo.AutoForwardingMode -eq 'Off'
5554

5655
if ($Settings.remediate -eq $true) {
57-
try {
58-
New-ExoRequest -tenantid $tenant -cmdlet 'Set-HostedOutboundSpamFilterPolicy' -cmdParams @{ Identity = 'Default'; AutoForwardingMode = 'Off' } -useSystemMailbox $true
59-
Write-LogMessage -API 'Standards' -tenant $tenant -message 'Disabled auto forwarding' -sev Info
60-
} catch {
61-
$ErrorMessage = Get-CippException -Exception $_
62-
Write-LogMessage -API 'Standards' -tenant $tenant -message "Could not disable auto forwarding. $($ErrorMessage.NormalizedError)" -sev Error
56+
if ($StateIsCorrect -eq $true) {
57+
Write-LogMessage -API 'Standards' -tenant $tenant -message 'Auto forwarding is already disabled.' -sev Info
58+
} else {
59+
try {
60+
New-ExoRequest -tenantid $tenant -cmdlet 'Set-HostedOutboundSpamFilterPolicy' -cmdParams @{ Identity = 'Default'; AutoForwardingMode = 'Off' } -useSystemMailbox $true
61+
Write-LogMessage -API 'Standards' -tenant $tenant -message 'Disabled auto forwarding' -sev Info
62+
} catch {
63+
$ErrorMessage = Get-CippException -Exception $_
64+
Write-LogMessage -API 'Standards' -tenant $tenant -message "Could not disable auto forwarding. $($ErrorMessage.NormalizedError)" -sev Error
65+
}
6366
}
6467
}
6568

Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardNudgeMFA.ps1

Lines changed: 26 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -48,30 +48,34 @@ function Invoke-CIPPStandardNudgeMFA {
4848

4949
if ($Settings.remediate -eq $true) {
5050
$StateName = $State.Substring(0, 1).ToUpper() + $State.Substring(1)
51-
try {
52-
$GraphRequest = @{
53-
tenantid = $Tenant
54-
uri = 'https://graph.microsoft.com/beta/policies/authenticationMethodsPolicy'
55-
AsApp = $false
56-
Type = 'PATCH'
57-
ContentType = 'application/json'
58-
Body = @{
59-
registrationEnforcement = @{
60-
authenticationMethodsRegistrationCampaign = @{
61-
state = $State
62-
snoozeDurationInDays = $Settings.snoozeDurationInDays
63-
enforceRegistrationAfterAllowedSnoozes = $true
64-
includeTargets = $CurrentState.registrationEnforcement.authenticationMethodsRegistrationCampaign.includeTargets
65-
excludeTargets = $CurrentState.registrationEnforcement.authenticationMethodsRegistrationCampaign.excludeTargets
51+
if ($StateIsCorrect -eq $true) {
52+
Write-LogMessage -API 'Standards' -tenant $Tenant -message "Authenticator App Nudge is already set to $State with a snooze duration of $($Settings.snoozeDurationInDays)." -sev Info
53+
} else {
54+
try {
55+
$GraphRequest = @{
56+
tenantid = $Tenant
57+
uri = 'https://graph.microsoft.com/beta/policies/authenticationMethodsPolicy'
58+
AsApp = $false
59+
Type = 'PATCH'
60+
ContentType = 'application/json'
61+
Body = @{
62+
registrationEnforcement = @{
63+
authenticationMethodsRegistrationCampaign = @{
64+
state = $State
65+
snoozeDurationInDays = $Settings.snoozeDurationInDays
66+
enforceRegistrationAfterAllowedSnoozes = $true
67+
includeTargets = $CurrentState.registrationEnforcement.authenticationMethodsRegistrationCampaign.includeTargets
68+
excludeTargets = $CurrentState.registrationEnforcement.authenticationMethodsRegistrationCampaign.excludeTargets
69+
}
6670
}
67-
}
68-
} | ConvertTo-Json -Depth 10 -Compress
71+
} | ConvertTo-Json -Depth 10 -Compress
72+
}
73+
New-GraphPostRequest @GraphRequest
74+
Write-LogMessage -API 'Standards' -tenant $Tenant -message "$StateName Authenticator App Nudge with a snooze duration of $($Settings.snoozeDurationInDays)" -sev Info
75+
} catch {
76+
$ErrorMessage = Get-CippException -Exception $_
77+
Write-LogMessage -API 'Standards' -tenant $Tenant -message "Failed to set Authenticator App Nudge to $State. Error: $($ErrorMessage.NormalizedError)" -sev Error -LogData $ErrorMessage
6978
}
70-
New-GraphPostRequest @GraphRequest
71-
Write-LogMessage -API 'Standards' -tenant $Tenant -message "$StateName Authenticator App Nudge with a snooze duration of $($Settings.snoozeDurationInDays)" -sev Info
72-
} catch {
73-
$ErrorMessage = Get-CippException -Exception $_
74-
Write-LogMessage -API 'Standards' -tenant $Tenant -message "Failed to set Authenticator App Nudge to $State. Error: $($ErrorMessage.NormalizedError)" -sev Error -LogData $ErrorMessage
7579
}
7680
}
7781

Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardPerUserMFA.ps1

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ function Invoke-CIPPStandardPerUserMFA {
5858
$UpdateDB = $false
5959
if (($UsersWithoutMFA | Measure-Object).Count -gt 0) {
6060
try {
61-
$MFAMessage = Set-CIPPPerUserMFA -TenantFilter $Tenant -userId @($UsersWithoutMFA.userPrincipalName) -State 'enforced'
61+
$MFAMessage = Set-CIPPPerUserMFA -TenantFilter $Tenant -UserId @($UsersWithoutMFA.userPrincipalName) -State 'enforced'
6262
Write-LogMessage -API 'Standards' -tenant $tenant -message $MFAMessage -sev Info
6363
$UpdateDB = $true
6464
} catch {
@@ -74,6 +74,8 @@ function Invoke-CIPPStandardPerUserMFA {
7474
Write-LogMessage -API 'Standards' -tenant $Tenant -message "Failed to refresh user cache after remediation: $($_.Exception.Message)" -sev Warning
7575
}
7676
}
77+
} else {
78+
Write-LogMessage -API 'Standards' -tenant $tenant -message 'All users already have Legacy MFA enforced.' -sev Info
7779
}
7880
}
7981
if ($Settings.alert -eq $true) {

Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardQuarantineRequestAlert.ps1

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ function Invoke-CIPPStandardQuarantineRequestAlert {
5050

5151
if ($Settings.remediate -eq $true) {
5252
if ($StateIsCorrect -eq $true) {
53-
Write-LogMessage -API 'Standards' -Tenant $Tenant -Message 'Quarantine Request Alert is configured correctly' -sev Info
53+
Write-LogMessage -API 'Standards' -Tenant $Tenant -Message 'Quarantine Request Alert is already configured correctly.' -sev Info
5454
} else {
5555
$cmdParams = @{
5656
'NotifyUser' = $Settings.NotifyUser

Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardSharePointMassDeletionAlert.ps1

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ function Invoke-CIPPStandardSharePointMassDeletionAlert {
6666

6767
if ($Settings.remediate -eq $true) {
6868
if ($StateIsCorrect -eq $true) {
69-
Write-LogMessage -API 'Standards' -Tenant $Tenant -Message 'SharePoint mass deletion of files alert is configured correctly' -sev Info
69+
Write-LogMessage -API 'Standards' -Tenant $Tenant -Message 'SharePoint mass deletion of files alert is already configured correctly.' -sev Info
7070
} else {
7171
$cmdParams = @{
7272
'NotifyUser' = $Settings.NotifyUser.value

Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardUserPreferredLanguage.ps1

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,8 @@ function Invoke-CIPPStandardUserPreferredLanguage {
7777
Write-LogMessage -API 'Standards' -tenant $Tenant -message "Failed to refresh user cache after remediation: $($_.Exception.Message)" -sev Warning
7878
}
7979
}
80+
} else {
81+
Write-LogMessage -API 'Standards' -tenant $Tenant -message "All users already have the preferred language set to $preferredLanguage." -sev Info
8082
}
8183
}
8284

0 commit comments

Comments
 (0)