Test-VEXMailboxResolution

Short Description

Tests the availability of Microsoft Exchange mailboxes before a bulk mailbox restore.

Applies to

Veeam Backup & Replication, Veeam Backup for Microsoft 365

Product Edition: Community, Standard, Enterprise, Enterprise Plus, Veeam Universal License

Syntax

This cmdlet provides cmdlet sets that allow you to:

  • Test mailbox resolution.

Test-VEXMailboxResolution [-Credential <PSCredential>] -Mailbox <VEXMailbox[]> [-Office365Credential <PSCredential>] [-Domain <String>] [-Force] [<CommonParameters>]

  • [For Veeam Backup for Microsoft 365 only] Test resolution of mailboxes using multi-factor authentication with a Microsoft Entra application ID.

Test-VEXMailboxResolution [-Credential <PSCredential>] -Mailbox <VEXMailbox[]> -ApplicationId <Guid> [-Domain <String>] [-Force] [<CommonParameters>]

  • [For Veeam Backup for Microsoft 365 only] Multi-factor authentication with a Microsoft Entra application.

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

Parameter

Description

Type

Required

Position

Accept Pipeline Input

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.

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-VEXMailbox cmdlet.

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.

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

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

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

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

<CommonParameters>

This cmdlet supports Microsoft PowerShell common parameters. For more information on common parameters, see the About CommonParameters section of Microsoft Docs.

Examples

Test-VEXMailboxResolutionExample 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:

  1. Run the Get-Credential cmdlet. Type Windows credentials to connect to the Veeam Backup & Replication server. Save the result to the $credentials variable.
  2. Run the Get-VBRExchangeItemRestoreSession cmdlet. Save the result to the $session variable.
  3. Run the Get-VEXDatabase cmdlet. Set the $session variable as the Session parameter value. Specify the Name parameter value. Save the result to the $database variable.
  4. Run the Get-VEXMailbox cmdlet. Set the $database variable as the Database parameter value. Save the result to the $mailbox variable.
  5. 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.

Test-VEXMailboxResolutionExample 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 database.

$credentials = Get-Credential

$session = Get-VBOExchangeItemRestoreSession

$database = Get-VEXDatabase -Session $session -Name support3backup.onmicrosoft.com

$mailboxes = Get-VEXMailbox -Database $database

Test-VEXMailboxResolution -Mailbox $mailboxes -Domain test.local -Credential $credentials

Perform the following steps:

  1. Run the Get-Credential cmdlet to create a credential object. Type Windows credentials to connect to the Veeam Backup for Microsoft 365 server. Save the result to the $credentials variable.
  2. Run the Get-VBOExchangeItemRestoreSession cmdlet. Save the result to the $session variable.
  3. Run the Get-VEXDatabase cmdlet. Set the $session variable as the Session parameter value. Specify the Name parameter value. Save the result to the $database variable.
  4. Run the Get-VEXMailbox cmdlet. Set the $database variable as the Database parameter value. Save the result to the $mailboxes variable.
  5. 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.

Test-VEXMailboxResolutionExample 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.

$credentials = Get-Credential

$session = Get-VBOExchangeItemRestoreSession

$database = Get-VEXDatabase -Session $session -Name support3backup.onmicrosoft.com

$mailbox = Get-VEXMailbox -Database $database -Name "Sales"

Test-VEXMailboxResolution -Mailbox $mailbox -Domain test.local -Credential $credentials -ApplicationId 76397916-8dcb-4348-96ac-6e2e881f9292

Perform the following steps:

  1. Run the Get-Credential cmdlet to create a credential object. Type Windows credentials to connect to the Veeam Backup for Microsoft 365 server. Save the result to the $credentials variable.
  2. Run the Get-VBOExchangeItemRestoreSession cmdlet. Save the result to the $session variable.
  3. Run the Get-VEXDatabase cmdlet. Set the $session variable as the Session parameter value. Specify the Name parameter value. Save the result to the $database variable.
  4. Run the Get-VEXMailbox cmdlet. Set the $database as the Database parameter value. Specify the Name parameter value. Save the result to the $mailbox variable.
  5. 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.
  • Specify the ApplicationId parameter value.
  1. 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 for authenticating to the Microsoft 365 server.

Test-VEXMailboxResolutionExample 4. Testing Mailbox Resolution Using Multi-Factor Authentication with 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.

$credentials = Get-Credential

$session = Get-VBOExchangeItemRestoreSession

$database = Get-VEXDatabase -Session $session -Name support3backup.onmicrosoft.com

$mailbox = Get-VEXMailbox -Database $database -Name "Sales"

$securepassword = Read-Host "Enter your password" -AsSecureString

Enter your password: **********

Test-VEXMailboxResolution -Mailbox $mailbox -Domain test.local -Credential $credentials -ApplicationCertificatePath "C:\certificate\cert.pfx" -ApplicationCertificatePassword $securepassword

Perform the following steps:

  1. Run the Get-Credential cmdlet to create a credential object. Type Windows credentials to connect to the Veeam Backup for Microsoft 365 server. Save the result to the $credentials variable.
  2. Run the Get-VBOExchangeItemRestoreSession cmdlet. Save the result to the $session variable.
  3. Run the Get-VEXDatabase cmdlet. Set the $session variable as the Session parameter value. Specify the Name parameter value. Save the result to the $database variable.
  4. Run the Get-VEXMailbox cmdlet. Set the $database variable as the Database parameter value. Specify the Name parameter value. Save the result to the $mailbox variable.
  5. 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.
  6. Enter the password.
  7. 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.
  • Specify the ApplicationCertificatePath parameter value.
  • Set the $securepassword variable as the ApplicationCertificatePassword parameter value.
  1. 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 for authenticating to the Microsoft 365 server.

Related Commands

Page updated 9/3/2024

Page content applies to build 12.3.0.310