Rename alias-toolkit to exchange-toolkit because of added functionality

This commit is contained in:
Jeremy D. Berkleef 2021-10-29 11:25:35 +02:00
parent 0970627a22
commit c544743ce7
3 changed files with 28 additions and 6 deletions

View File

@ -1,5 +1,5 @@
# Alias Toolkit # Exchange Toolkit
## How to use Alias Toolkit ## How to use Exchange Toolkit
1. Download the script or clone this repository 1. Download the script or clone this repository
2. Make sure the execution policy is set properly (Or run Set-ExecutionPolicy Bypass -Scope Process) 2. Make sure the execution policy is set properly (Or run Set-ExecutionPolicy Bypass -Scope Process)
3. Run the script. 3. Run the script.
@ -9,7 +9,7 @@
> >
>_If target is Exchange Online, run from a PS session that has already connected to Exchange Online Management Shell._ >_If target is Exchange Online, run from a PS session that has already connected to Exchange Online Management Shell._
## Alias Toolkit Options ## Exchange Toolkit Options
### 1. List contents of a .csv ### 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: Use this option to verify that your .csv file containing email addresses is formatted correctly. The output should look like:
@ -35,4 +35,8 @@
> ***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.*** > ***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. ### 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. 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.

View File

@ -3,7 +3,7 @@
This repo contains various scripts used for management tasks (and migrations) on Exchange Server (and Exchange Online). You can click on the script name to see documentation for it. This repo contains various scripts used for management tasks (and migrations) on Exchange Server (and Exchange Online). You can click on the script name to see documentation for it.
# Scripts # Scripts
- [**Alias Toolkit**](Docs/alias-toolkit.md) - Easy to use, menu-based script for searching for, exporting and importing aliases from/to Exchange (Online). - [**Exchange Toolkit**](Docs/exchange-toolkit.md) - Easy to use, menu-based script for automating multiple tedious tasks in Exchange (Online).
- **Spam Filter Deployment Script** - Script to create the Connector and Enhanced Filtering rule for a spam gateway. - **Spam Filter Deployment Script** - Script to create the Connector and Enhanced Filtering rule for a spam gateway.
- **Mass Spam Filter Deployment Script** - Script to use delegated Partner (CSP) domains and deploy Connector and Enhanced Filtering rule for a spam gateway. - **Mass Spam Filter Deployment Script** - Script to use delegated Partner (CSP) domains and deploy Connector and Enhanced Filtering rule for a spam gateway.
- **List alias .csv contents** - _This has been integrated into Alias Toolkit._ - **List alias .csv contents** - _This has been integrated into Alias Toolkit._

View File

@ -1,6 +1,6 @@
function Show-Menu { function Show-Menu {
param ( param (
[string]$Title = 'Alias Toolkit by Jeremy Berkleef' [string]$Title = 'Exchange Toolkit by Jeremy Berkleef'
) )
Clear-Host Clear-Host
Write-Host -ForegroundColor Green "================ $Title ================" Write-Host -ForegroundColor Green "================ $Title ================"
@ -21,6 +21,10 @@
Write-Host -ForegroundColor Cyan " '4' " -NoNewline Write-Host -ForegroundColor Cyan " '4' " -NoNewline
Write-Host "to use the legacy search script and output the alias list to console." Write-Host "to use the legacy search script and output the alias list to console."
Write-Host "5: Press" -NoNewline
Write-Host -ForegroundColor Cyan " '5' " -NoNewline
Write-Host "to export a list of mailboxes to .pst based on a search term."
Write-Host "Q: Press" -NoNewline Write-Host "Q: Press" -NoNewline
Write-Host -ForegroundColor Red " 'Q' " -NoNewline Write-Host -ForegroundColor Red " 'Q' " -NoNewline
Write-Host "to quit." Write-Host "to quit."
@ -108,6 +112,20 @@ do
} }
} }
} }
'5' {
Write-Host -ForegroundColor Blue -BackgroundColor White "For exporting a single mailbox, prepend a * to the mailbox name (e.g. *mailbox@example.com)"
$searchTerm = Read-Host -Prompt "Search Query"
Write-Host -ForegroundColor Blue -BackgroundColor White "Path must be in UNC format for Exchange to export to."
$savePath = Read-Host -Prompt "Export Path"
$mailboxes = get-mailbox | Where-Object {$_.EmailAddresses -like "$searchTerm"}
Foreach ($mailbox in $mailboxes) {
#Concatenate the save path and the mailbox alias.
$exportPath = Join-Path $savePath $mailbox.Alias
New-MailboxExportRequest -Mailbox $mailbox -FilePath "$exportPath.pst"
}
}
} }
Read-Host -Prompt 'Press Enter to Continue' Read-Host -Prompt 'Press Enter to Continue'
} }