# Exchange Toolkit ## How to use Exchange Toolkit 1. Download the script or clone this repository 2. Make sure the execution policy is set properly (Or run Set-ExecutionPolicy Bypass -Scope Process) 3. Run the script. 4. Follow the on-screen prompts. > _If target is Exchange Server, run script from the Exchange Management Shell._ > >_If target is Exchange Online, run from a PS session that has already connected to Exchange Online Management Shell._ ## Exchange Toolkit Options ### 1. List contents of a .csv Use this option to verify that your .csv file containing email addresses is formatted correctly. The output should look like: > _Display Name_ > > _Email Address 1_ > > _Email Address 2_ > > _Email Address 3_ If the email addresses are on a single line, your formatting isn't correct and the import will import all your addresses as a single email address. ### 2. Apply the contents of a .csv to the currently logged in Exchange session Use this option to apply the email addresses when you've verified that the .csv is formatted correctly. > ***This will apply the email addresses based on Display Name, so make sure that if display names were changed between environments, the .csv has been edited to reflect the changes.*** ### 3. Create a .csv based on a search term This option will create a .csv with the columns Displayname and EmailAddresses based on the search term given. This uses `Get-Mailbox | Where-Object $_.EmailAddresses -like "$SearchTerm"`, so it will support wildcards. > ***This won't give you a .csv you can apply by default, this is by design. You need to replace the spaces with ; in the EmailAddresses column. This was implemented to ensure double-checking no unwanted addresses are included into the import.*** ### 4. Use the legacy search script and output the alias list to console. This does the same as the above option, but outputs the results to console with some nice-ish formatting. This is an adaptation of search-email-addresses. ### 5. Export a series of mailboxes to .pst This has only been tested against On-Prem Exchange. This option will export the mailboxes found via the search term to a .pst. For some reason, Exchange requires a UNC path for the export. ### 6. Set mailbox locale based on a search term This allows you to change a large number of mailboxes' language, time zone and date format settings in one go. ### 7. and 8. List mailbox permissions based on a search term These allow you to list all permissions for mailboxes based on a search term or export them to .csv.