- This script uses the Exchange Online Management PowerShell Module and requires an App Registration with App permissions:
- Manage Exchange As Application Exchange.ManageAsApp
- And a role with the permissions for Exchange Online:
- The Exchange Administrator role should provide the required permissions for any task in Exchange Online PowerShell. However, some actions may not be allowed, such as managing other admin accounts, for this the Global Administrator would be required. Please note that the required role may vary based on your configuration.
This code snippet executes the following tasks:
- Imports the ExchangeOnlineManagement module.
- Define a wildcard search query
$searchValue
based on the search parameter$datasource.searchValue
- Creates a session to Exchange Online.
- List all mailboxes in Exchange Online that match the wildcard search query
$searchValue
in their name or email addresses using the API call: Get-EXOMailboxThe filter property -filter accepts different values See the Microsoft Docs page
- Return a hash table for each user account using the
Write-Output
cmdlet.
To view an example of the data source output, please refer to the JSON code pasted below.
{
"searchValue": "Consultancy"
}