Skip to content

Commit 7eba580

Browse files
done
1 parent 67ff06f commit 7eba580

File tree

1 file changed

+40
-36
lines changed

1 file changed

+40
-36
lines changed

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

Lines changed: 40 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -39,10 +39,10 @@ function Invoke-CIPPStandardcalDefault {
3939
# Input validation
4040
if ([string]::IsNullOrWhiteSpace($permissionLevel) -or $permissionLevel -eq 'Select a value') {
4141
Write-LogMessage -API 'Standards' -tenant $tenant -message 'calDefault: Invalid permissionLevel parameter set' -sev Error
42-
Return
42+
return
4343
}
4444

45-
If ($Settings.remediate -eq $true) {
45+
if ($Settings.remediate -eq $true) {
4646
$Mailboxes = New-ExoRequest -tenantid $Tenant -cmdlet 'Get-Mailbox' | Sort-Object UserPrincipalName
4747
$TotalMailboxes = $Mailboxes.Count
4848
Write-LogMessage -API 'Standards' -tenant $Tenant -message "Started setting default calendar permissions for $($TotalMailboxes) mailboxes." -sev Info
@@ -67,44 +67,48 @@ function Invoke-CIPPStandardcalDefault {
6767
$Mailbox = $_
6868
try {
6969
New-ExoRequest -tenantid $Tenant -cmdlet 'Get-MailboxFolderStatistics' -cmdParams @{identity = $Mailbox.UserPrincipalName; FolderScope = 'Calendar' } -Anchor $Mailbox.UserPrincipalName | Where-Object { $_.FolderType -eq 'Calendar' } |
70-
ForEach-Object {
71-
try {
72-
New-ExoRequest -tenantid $Tenant -cmdlet 'Set-MailboxFolderPermission' -cmdParams @{Identity = "$($Mailbox.UserPrincipalName):$($_.FolderId)"; User = 'Default'; AccessRights = $permissionLevel } -Anchor $Mailbox.UserPrincipalName
73-
Write-LogMessage -API 'Standards' -tenant $Tenant -message "Set default folder permission for $($Mailbox.UserPrincipalName):\$($_.Name) to $permissionLevel" -sev Debug
74-
$SuccessCounter++
75-
} catch {
76-
$ErrorMessage = Get-CippException -Exception $_
77-
Write-Host "Setting cal failed: $ErrorMessage"
78-
Write-LogMessage -API 'Standards' -tenant $Tenant -message "Could not set default calendar permissions for $($Mailbox.UserPrincipalName). Error: $($ErrorMessage.NormalizedError)" -sev Error -LogData $ErrorMessage
79-
}
70+
ForEach-Object {
71+
try {
72+
New-ExoRequest -tenantid $Tenant -cmdlet 'Set-MailboxFolderPermission' -cmdParams @{Identity = "$($Mailbox.UserPrincipalName):$($_.FolderId)"; User = 'Default'; AccessRights = $permissionLevel } -Anchor $Mailbox.UserPrincipalName
73+
Write-LogMessage -API 'Standards' -tenant $Tenant -message "Set default folder permission for $($Mailbox.UserPrincipalName):\$($_.Name) to $permissionLevel" -sev Debug
74+
$SuccessCounter++
75+
} catch {
76+
$ErrorMessage = Get-CippException -Exception $_
77+
Write-Host "Setting cal failed: $ErrorMessage"
78+
Write-LogMessage -API 'Standards' -tenant $Tenant -message "Could not set default calendar permissions for $($Mailbox.UserPrincipalName). Error: $($ErrorMessage.NormalizedError)" -sev Error -LogData $ErrorMessage
8079
}
81-
} catch {
82-
$ErrorMessage = Get-CippException -Exception $_
83-
Write-LogMessage -API 'Standards' -tenant $Tenant -message "Could not set default calendar permissions for $($Mailbox.UserPrincipalName). Error: $($ErrorMessage.NormalizedError)" -sev Error -LogData $ErrorMessage
84-
}
85-
$processedMailboxes++
86-
if ($processedMailboxes % 25 -eq 0) {
87-
$LastRun = @{
88-
RowKey = 'calDefaults'
89-
PartitionKey = $Tenant
90-
totalMailboxes = $TotalMailboxes
91-
processedMailboxes = $processedMailboxes
92-
currentSuccessCount = $SuccessCounter
93-
}
94-
Add-CIPPAzDataTableEntity @LastRunTable -Entity $LastRun -Force
95-
Write-Host "Processed $processedMailboxes mailboxes"
9680
}
81+
} catch {
82+
$ErrorMessage = Get-CippException -Exception $_
83+
Write-LogMessage -API 'Standards' -tenant $Tenant -message "Could not set default calendar permissions for $($Mailbox.UserPrincipalName). Error: $($ErrorMessage.NormalizedError)" -sev Error -LogData $ErrorMessage
9784
}
98-
99-
$LastRun = @{
100-
RowKey = 'calDefaults'
101-
PartitionKey = $Tenant
102-
totalMailboxes = $TotalMailboxes
103-
processedMailboxes = $processedMailboxes
104-
currentSuccessCount = $SuccessCounter
85+
$processedMailboxes++
86+
if ($processedMailboxes % 25 -eq 0) {
87+
$LastRun = @{
88+
RowKey = 'calDefaults'
89+
PartitionKey = $Tenant
90+
totalMailboxes = $TotalMailboxes
91+
processedMailboxes = $processedMailboxes
92+
currentSuccessCount = $SuccessCounter
93+
}
94+
Add-CIPPAzDataTableEntity @LastRunTable -Entity $LastRun -Force
95+
Write-Host "Processed $processedMailboxes mailboxes"
10596
}
106-
Add-CIPPAzDataTableEntity @LastRunTable -Entity $LastRun -Force
97+
}
10798

108-
Write-LogMessage -API 'Standards' -tenant $Tenant -message "Successfully set default calendar permissions for $SuccessCounter out of $TotalMailboxes mailboxes." -sev Info
99+
$LastRun = @{
100+
RowKey = 'calDefaults'
101+
PartitionKey = $Tenant
102+
totalMailboxes = $TotalMailboxes
103+
processedMailboxes = $processedMailboxes
104+
currentSuccessCount = $SuccessCounter
109105
}
106+
Add-CIPPAzDataTableEntity @LastRunTable -Entity $LastRun -Force
107+
108+
Write-LogMessage -API 'Standards' -tenant $Tenant -message "Successfully set default calendar permissions for $SuccessCounter out of $TotalMailboxes mailboxes." -sev Info
109+
}
110+
if ($Settings.report -eq $true) {
111+
#This script always returns true, as it only disables the Safe Senders list
112+
Set-CIPPStandardsCompareField -FieldName 'standards.SafeSendersDisable' -FieldValue $true -Tenant $Tenant
110113
}
114+
}

0 commit comments

Comments
 (0)