Test-VEXMailboxResolution
Short Description
Tests the availability of Microsoft Exchange mailboxes before a bulk mailbox restore.
Product: Veeam Backup & Replication, Veeam Backup for Microsoft 365
Product Edition: Community, Standard, Enterprise, Enterprise Plus, Veeam Universal License
Syntax
This cmdlet provides the following parameter sets:
-
DefaultParameterSet (Default)
|
Test-VEXMailboxResolution [-Credential <PSCredential>] -Mailbox <VEXMailbox[]>
[-Office365Credential <PSCredential>] [-Domain <String>] [-Force] [<CommonParameters>] |
-
OAuthParameterSet
|
Test-VEXMailboxResolution [-Credential <PSCredential>] -Mailbox <VEXMailbox[]> -ApplicationId <Guid>
[-Domain <String>] [-Force] [<CommonParameters>] |
-
OAuthAppOnlyParameterSet
|
Test-VEXMailboxResolution [-Credential <PSCredential>] -Mailbox <VEXMailbox[]> -ApplicationId <Guid>
-ApplicationCertificatePath <String> [-ApplicationCertificatePassword <SecureString>] [-Domain <String>]
[-Force] [<CommonParameters>] |
Detailed Description
This cmdlet tests the availability of mailboxes. You may want to run this cmdlet before you start a bulk mailbox restore.
Parameters
Parameters
|
Parameter
|
Description
|
Type
|
Required
|
Position
|
Accept Pipeline Input
|
|
ApplicationCertificatePassword
|
To test mailbox resolution using multi-factor authentication.
Specifies the certificate password. The cmdlet will use this password to confirm the certificate that you want to import to a Microsoft Entra application. After that the cmdlet will set up an encrypted connection to a Microsoft organization and will test the mailbox resolution. This parameter is obligatory.
|
SecureString
|
False
|
Named
|
False
|
|
ApplicationCertificatePath
|
To test mailbox resolution using multi-factor authentication.
Specifies a path to the folder where the certificate is located. The cmdlet will import the certificate that is located in this path to set up an encrypted connection to a Microsoft organization and to test the mailbox resolution.
|
String
|
True
|
Named
|
False
|
|
ApplicationId
|
Specifies a Microsoft Entra application ID. The cmdlet will use this application ID to set up a secure connection to a Microsoft organization.
Note: This parameter works for mailboxes that are backed-up with Veeam Backup for Microsoft 365 only.
|
Guid
|
True
|
Named
|
False
|
|
Credential
|
Specifies Windows user credentials to connect to the Active Directory domain and the Exchange server.
Accepts the PSCredential object. To get this object, run the Get-Credential cmdlet.
|
PSCredential
|
False
|
Named
|
False
|
|
Domain
|
Specifies a mailbox domain.
|
String
|
False
|
Named
|
False
|
|
Force
|
Defines that the cmdlet will ignore the certificate upon the connection.
Default: False
|
SwitchParameter
|
False
|
Named
|
False
|
|
Mailbox
|
Specifies a mailbox. The cmdlet will check whether this mailbox is available.
Accepts the VEXMailbox[] object. To get this object, run the Get-VEXMailboxReturns Microsoft Exchange mailboxes. cmdlet.
|
VEXMailbox[]
|
True
|
Named
|
False
|
|
Office365Credential
|
Specifies a Microsoft 365 user account credentials to connect to the backup proxy server.
Accepts the PSCredential object. To get this object, run the Get-Credential cmdlet.
|
PSCredential
|
False
|
Named
|
False
|
<CommonParameters>
This cmdlet supports Microsoft PowerShell common parameters. For more information on common parameters, see the About Common Parameters section of Microsoft Learn.
Examples
Example 1. Testing Mailbox Resolution [For Veeam Backup & Replication]
|
This example shows how to test the availability of Exchange mailboxes.
|
$credentials = Get-Credential
$session = Get-VBRExchangeItemRestoreSession
$database = Get-VEXDatabase -Session $session -Name "DB_0754907780.edb"
$mailbox = Get-VEXMailbox -Database $database
Test-VEXMailboxResolution -Mailbox $mailboxes -Domain test.local -Credential $credentials |
Perform the following steps:
- Run the
Get-Credential cmdlet. Type Windows credentials to connect to the Active Directory domain and the Exchange server. Save the result to the $credentials variable.
- Run the
Get-VBRExchangeItemRestoreSessionReturns active restore sessions started to perform operations with backed-up Microsoft Exchange databases. cmdlet. Save the result to the $session variable.
- Run the
Get-VEXDatabaseReturns Microsoft Exchange mailbox databases. cmdlet. Set the $session variable as the Session parameter value. Specify the Name parameter value. Save the result to the $database variable.
- Run the
Get-VEXMailboxReturns Microsoft Exchange mailboxes. cmdlet. Set the $database variable as the Database parameter value. Save the result to the $mailbox variable.
- Run the
Test-VEXMailboxResolution cmdlet. Specify the following settings:
- Set the
$mailbox variable as the Mailbox parameter value.
- Specify the
Domain parameter value.
- Set the
$credentials variable as the Credential parameter value.
|
Example 2. Testing Mailboxes Resolution [For Veeam Backup for Microsoft 365]
|
This example shows how to test the availability of Exchange mailboxes from the support3backup.onmicrosoft.com backed-up Exchange organization.
|
$credentials = Get-Credential
$session = Get-VBOExchangeItemRestoreSession
$database = Get-VEXDatabase -Session $session -Name "support3backup*"
$mailboxes = Get-VEXMailbox -Database $database
Test-VEXMailboxResolution -Mailbox $mailboxes -Domain test.local -Credential $credentials |
Perform the following steps:
- Run the
Get-Credential cmdlet to create a credential object. Type Windows credentials to connect to the Active Directory domain and the Exchange server. Save the result to the $credentials variable.
- Run the
Get-VBOExchangeItemRestoreSessionReturns active restore sessions started to perform operations with backed-up Microsoft Exchange items. cmdlet. Save the result to the $session variable.
- Run the
Get-VEXDatabaseReturns Microsoft Exchange mailbox databases. cmdlet. Set the $session variable as the Session parameter value. Specify the Name parameter value. Use the * wildcard character to substitute the timestamp. Save the result to the $database variable.
- Run the
Get-VEXMailboxReturns Microsoft Exchange mailboxes. cmdlet. Set the $database variable as the Database parameter value. Save the result to the $mailboxes variable.
- Run the
Test-VEXMailboxResolution cmdlet. Specify the following settings:
- Set the
$mailboxes variable as the Mailbox parameter value.
- Specify the
Domain parameter value.
- Set the
$credentials variable as the Credential parameter value.
|
Example 3. Testing Mailbox Resolution Using Multi-Factor Authentication with Microsoft Entra Application ID [For Veeam Backup for Microsoft 365]
|
This example shows how to test the availability of the Sales Exchange mailbox. Veeam Backup for Microsoft 365 will use the 76397916-8dcb-4348-96ac-6e2e881f9292 Microsoft Entra application ID to set up a secure connection to a Microsoft organization.
|
$session = Get-VBOExchangeItemRestoreSession
$database = Get-VEXDatabase -Session $session -Name "support3backup*"
$mailbox = Get-VEXMailbox -Database $database -Name "Sales"
Test-VEXMailboxResolution -Mailbox $mailbox -Domain test.local -ApplicationId 76397916-8dcb-4348-96ac-6e2e881f9292 |
Perform the following steps:
- Run the
Get-VBOExchangeItemRestoreSessionReturns active restore sessions started to perform operations with backed-up Microsoft Exchange items. cmdlet. Save the result to the $session variable.
- Run the
Get-VEXDatabaseReturns Microsoft Exchange mailbox databases. cmdlet. Set the $session variable as the Session parameter value. Specify the Name parameter value. Use the * wildcard character to substitute the timestamp. Save the result to the $database variable.
- Run the
Get-VEXMailboxReturns Microsoft Exchange mailboxes. cmdlet. Set the $database variable as the Database parameter value. Specify the Name parameter value. Save the result to the $mailbox variable.
- Run the
Test-VEXMailboxResolution cmdlet. Specify the following settings:
- Set the
$mailbox variable as the Mailbox parameter value.
- Specify the
Domain parameter value.
- Specify the
ApplicationId parameter value.
- To set up a secure connection to a Microsoft organization, open the https://microsoft.com/devicelogin link in your browser and enter the code that you get in the PowerShell Console to authenticate to the Microsoft 365 server.
|
Example 4. Testing Mailbox Resolution Using Multi-Factor Authentication with Microsoft Entra Application Certificate [For Veeam Backup for Microsoft 365]
|
This example shows how to test the availability of the Sales Exchange mailbox with the Microsoft Entra application certificate.
|
$session = Get-VBOExchangeItemRestoreSession
$database = Get-VEXDatabase -Session $session -Name "support3backup*"
$mailbox = Get-VEXMailbox -Database $database -Name "Sales"
$securepassword = Read-Host "Enter your password" -AsSecureString
Enter your password: **********
Test-VEXMailboxResolution -Mailbox $mailbox -Domain test.local -ApplicationCertificatePath "C:\certificate\cert.pfx" -ApplicationCertificatePassword $securepassword |
Perform the following steps:
- Run the
Get-VBOExchangeItemRestoreSessionReturns active restore sessions started to perform operations with backed-up Microsoft Exchange items. cmdlet. Save the result to the $session variable.
- Run the
Get-VEXDatabaseReturns Microsoft Exchange mailbox databases. cmdlet. Set the $session variable as the Session parameter value. Specify the Name parameter value. Use the * wildcard character to substitute the timestamp. Save the result to the $database variable.
- Run the
Get-VEXMailboxReturns Microsoft Exchange mailboxes. cmdlet. Set the $database variable as the Database parameter value. Specify the Name parameter value. Save the result to the $mailbox variable.
- Run the
Read-Host cmdlet. Specify the message that the console will display as a prompt. Provide the AsSecureString parameter. Save the result to the $securepassword variable.
- Enter the password.
- Run the
Test-VEXMailboxResolution cmdlet. Specify the following settings:
- Set the
$mailbox variable as the Mailbox parameter value.
- Specify the
Domain parameter value.
- Specify the
ApplicationCertificatePath parameter value.
- Set the
$securepassword variable as the ApplicationCertificatePassword parameter value.
- To set up a secure connection to a Microsoft organization, open the https://microsoft.com/devicelogin link in your browser and enter the code that you get in the PowerShell Console to authenticate to the Microsoft 365 server.
|
Related Commands