Public/Exchange/Enable-CASMailboxProtocols.ps1
function Enable-CASMailboxProtocols { <# .SYNOPSIS Run first Get-CASMailboxProtocols to review CAS mailbox protocols state Force enable ALL CAS mailboxes protocols to TRUE .DESCRIPTION Run first Get-CASMailboxProtocols to review CAS mailbox protocols state Force enable ALL CAS mailboxes protocols to TRUE .EXAMPLE Enable-CASMailboxProtocols -CsvFile C:\Scripts\GetCASMailboxProtocols.csv | Out-GridView .NOTES General notes #> param ( [Parameter(ParameterSetName = "CsvFile")] $CsvFile, [Parameter(ParameterSetName = "PrimarySmtpAddress")] $PrimarySmtpAddress ) if ($CsvFile) { $Enabled = $true $csv = $null $csv = Import-Csv -Path $CsvFile foreach ($CurCsv in $csv) { $SetCAS = @{ Identity = $CurCsv.PrimarySmtpAddress ActiveSyncEnabled = $Enabled OWAEnabled = $Enabled OWAforDevicesEnabled = $Enabled EwsEnabled = $Enabled PopEnabled = $Enabled ImapEnabled = $Enabled MAPIEnabled = $Enabled UniversalOutlookEnabled = $Enabled OutlookMobileEnabled = $Enabled MacOutlookEnabled = $Enabled ErrorAction = "Stop" } $SetMbx = @{ Identity = $CurCsv.PrimarySmtpAddress AuditEnabled = $Enabled ErrorAction = "Stop" } try { Set-CASMailbox @SetCAS [PSCustomObject]@{ DisplayName = $CurCsv.DisplayName PrimarySmtpAddress = $CurCsv.PrimarySmtpAddress RecipientTypeDetails = $CurCsv.RecipientTypeDetails Result = 'SUCCESS' Log = 'SUCCESS' } } catch { [PSCustomObject]@{ DisplayName = $CurCsv.DisplayName PrimarySmtpAddress = $CurCsv.PrimarySmtpAddress RecipientTypeDetails = $CurCsv.RecipientTypeDetails Result = 'FAILED' Log = "$($_.Exception.Message)" } } try { Set-Mailbox @SetMbx [PSCustomObject]@{ DisplayName = $CurCsv.DisplayName PrimarySmtpAddress = $CurCsv.PrimarySmtpAddress RecipientTypeDetails = $CurCsv.RecipientTypeDetails Result = 'SUCCESS' Log = 'SUCCESS' } } catch { [PSCustomObject]@{ DisplayName = $CurCsv.DisplayName PrimarySmtpAddress = $CurCsv.PrimarySmtpAddress RecipientTypeDetails = $CurCsv.RecipientTypeDetails Result = 'FAILED' Log = "$($_.Exception.Message)" } } } } elseif ($PrimarySmtpAddress) { $Enabled = $true $CASmbx = $null $mbx = $null $CASmbx = Get-CASMailbox -Identity $PrimarySmtpAddress $mbx = Get-Mailbox -Identity $PrimarySmtpAddress foreach ($CurCASmbx in $CASmbx) { $SetCAS = @{ Identity = $CurCASmbx.PrimarySmtpAddress ActiveSyncEnabled = $Enabled OWAEnabled = $Enabled OWAforDevicesEnabled = $Enabled EwsEnabled = $Enabled PopEnabled = $Enabled ImapEnabled = $Enabled MAPIEnabled = $Enabled UniversalOutlookEnabled = $Enabled OutlookMobileEnabled = $Enabled MacOutlookEnabled = $Enabled ErrorAction = "Stop" } $SetMbx = @{ Identity = $CurCASmbx.PrimarySmtpAddress AuditEnabled = $Enabled ErrorAction = "Stop" } try { Set-CASMailbox @SetCAS [PSCustomObject]@{ DisplayName = $CurCASmbx.DisplayName PrimarySmtpAddress = $CurCASmbx.PrimarySmtpAddress RecipientTypeDetails = $mbx.RecipientTypeDetails Result = 'SUCCESS' Log = 'SUCCESS' } } catch { [PSCustomObject]@{ DisplayName = $CurCASmbx.DisplayName PrimarySmtpAddress = $CurCASmbx.PrimarySmtpAddress RecipientTypeDetails = $mbx.RecipientTypeDetails Result = 'FAILED' Log = "$($_.Exception.Message)" } } try { Set-Mailbox @SetMbx [PSCustomObject]@{ DisplayName = $CurCASmbx.DisplayName PrimarySmtpAddress = $CurCASmbx.PrimarySmtpAddress RecipientTypeDetails = $mbx.RecipientTypeDetails Result = 'SUCCESS' Log = 'SUCCESS' } } catch { [PSCustomObject]@{ DisplayName = $CurCASmbx.DisplayName PrimarySmtpAddress = $CurCASmbx.PrimarySmtpAddress RecipientTypeDetails = $mbx.RecipientTypeDetails Result = 'FAILED' Log = "$($_.Exception.Message)" } } } } } |