@@ -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