public/Enable-O365Settings.ps1

<#
.Synopsis
This powershell cmdlet allows you to enable mailbox features such as audilogging and in-place archiving.
  
.Description
Enable mailbox features - as of Version 1.0 you can only enable audit logging and in-place archiving.
  
.Example
Enable-O365Settings -SettingName AuditLogging
 
.Example
Enable-O365Settings -SettingName InPlaceArchive
 
.Example
Enable-O365Settings -SettingName InPlaceArchive -MailAlias "Jon Doe"
#>


Function Enable-O365Settings{
    [cmdletbinding()]
    Param (
    [Parameter(Position=0,mandatory=$true)] [string]$SettingName,
    [Parameter(Position=1)] [string]$MailAlias
       )
    # End of Parameters
    Process {
            Test-O365Connection
            
    switch ($SettingName)
        {
        AuditLogging    {  $UserMailbox = ReadHost -Prompt "Input User Mailbox: " 
                           Get-Mailbox -ResultSize Unlimited -Filter {RecipientTypeDetails -eq "UserMailbox"} | Set-Mailbox -AuditEnabled $true
                           }
        InPlaceArchive  {  $select = Read-Host -Prompt "(A) All Mailboxes ; (S) Single Mailbox "
                            
                            Switch($select)
                                {
                                 A       { (Get-Mailbox) | ForEach {Enable-Mailbox â€“identity $_.PrimarySMTPAddress â€“Archive}
                                           }
                                 S       { If(!$MailAlias) { $MailAlias = Read-Host "Enter User Alias: "
                                                            }
                                            Enable-Mailbox "$MailAlias" -Archive
                                           }
                                 default {"Invalid selection"}
                                 }
                        }
        
                    }
        
                } #End Process
    }