Test-VEXMailboxResolution

In this article

    Short Description

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

    Applies to: Veeam Backup & Replication, Veeam Backup for Microsoft Office 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 -Mailbox <VEXMailbox[]> [-Credential <PSCredential>] [-Office365Credential <PSCredential>] [-Domain <String>] [-Force [<SwitchParameter>]] [<CommonParameters>]

    • [Veeam Backup for Microsoft Office 365 only] Test resolution of mailboxes using Multi-factor authentication with an Azure AD application ID.

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

    • [Veeam Backup for Microsoft Office 365 only] Multi-factor authentication with an Azure AD application.

    Test-VEXMailboxResolution -Mailbox <VEXMailbox[]> -ApplicationId <Guid> -ApplicationCertificatePath <String> [-Credential <PSCredential>] -ApplicationCertificatePassword <SecureString> [-Domain <String>] [-Force [<SwitchParameter>]] [<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

    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

    ApplicationId

    Specifies an Azure AD 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 Office 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.

    Note: This parameter is available for restore from backups created by Veeam Backup for Microsoft Office 365 version 4c and later.

    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 an Azure AD 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.

    Note: This parameter is available for restore from backups created by Veeam Backup for Microsoft Office 365 version 4c and later.

    SecureString

    True

    Named

    False

    Domain

    Specifies a mailbox domain.

    String

    False

    Named

    False

    Force

    Defines that the cmdlet will ignore the certificated upon the connection.

    SwitchParameter

    False

    Named

    False

    Office365Credential

    Specifies Windows user credentials to connect to the Active Directory domain and the Exchange server.

    PSCredential

    False

    Named

    False

    Credential

    Specifies Office 365 user credentials to connect to the backup proxy server.

    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 Docs.

    Examples

    Test-VEXMailboxResolutionExample 1. Testing Mailbox Resolution [For Veeam Backup & Replication]

    This example shows how to test the availability of the Sales Exchange mailbox.

    $credentials = Get-Credential

    $session = Get-VBRExchangeItemRestoreSession

    $database = Get-VEXDatabase -Session $session -Name "DB_0754907780.edb"

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

    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 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 as the Credential parameter value.

    Test-VEXMailboxResolutionExample 2. Testing Mailboxes Resolution [For Veeam Backup for Microsoft Office 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 Office 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 $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 as the Credential parameter value.

    Test-VEXMailboxResolutionExample 3. Testing Mailbox Resolution Using Multi-Factor Authentication with Azure AD Application ID [For Veeam Backup for Microsoft Office 365]

    This example shows how to test the availability of the Sales Exchange mailbox. Veeam Backup for Microsoft Office 365 will use the 76397916-8dcb-4348-96ac-6e2e881f9292 Azure AD 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 Office 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 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 to authenticate to the Microsoft Office 365 server.

    Test-VEXMailboxResolutionExample 4. Testing Mailbox Resolution Using Multi-Factor Authentication with Azure AD Application [For Veeam Backup for Microsoft Office 365]

    This example shows how to test the availability of the Sales Exchange mailbox with an Azure AD application.

    $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 -ApplicationId "76397916-8dcb-4348-96ac-6e2e881f9292" -ApplicationCertificatePath "C:\certificate\cert.pfx" -ApplicationCertificatePassword $securePass

    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 Office 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 Read-Host cmdlet. Specify the message that the console will display as a prompt. Specify 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 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 to authenticate to the Microsoft Office 365 server.

    Related Commands

    I want to report a typo

    There is a misspelling right here:

     

    I want to let the Veeam Documentation Team know about that.