Restore-VETItem

In this article

    Short Description

    Restores Microsoft Teams items.

    Applies to: Veeam Backup for Microsoft Office 365

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

    Syntax

    This cmdlet provides parameter sets that allow you to:

    • Restore posts of a Microsoft Teams channel for a specified time period.

    Restore-VETItem [-Channel] <VETChannel> -Credential <pscredential> -PostsFrom <datetime> -PostsTo <datetime>  [<CommonParameters>]

    • Restore all posts of a Microsoft Teams channel.

    Restore-VETItem [-Channel] <VETChannel> -Credential <pscredential> -AllPosts  [<CommonParameters>]

    • Restore files of a Microsoft Teams channel.

    Restore-VETItem [-File] <VETFile[]> -Credential <pscredential> [-RestoreChangedItem] [-RestoreMissingItem] [-RestoreOnlyLatestVersion]  [<CommonParameters>]

    • Restore tabs of a Microsoft Teams channel.

    Restore-VETItem [-Tab] <VETOtherTab[]> -Credential <pscredential> [-RestoreChangedItem] [-RestoreMissingItem]  [<CommonParameters>]

    • Restore a Microsoft Teams channel.

    Restore-VETItem [-Channel] <VETChannel> -Credential <pscredential> [-RestoreChangedItem] [-RestoreMissingItem]  [<CommonParameters>]

    • Restore a Microsoft Teams team.

    Restore-VETItem [-Team] <VETTeam> -Credential <pscredential> [-RestoreChangedItem] [-RestoreMissingItem] [-RestoreMembers] [-RestoreSettings]  [<CommonParameters>]

    • Restore multiple Microsoft Teams teams.

    Restore-VETItem [-MultipleTeams] <VETTeam[]> -Credential <pscredential> [-RestoreChangedItem] [-RestoreMissingItem] [-RestoreMembers] [-RestoreSettings]  [<CommonParameters>]

    • Restore posts of a Microsoft Teams channel for a specified time period using Multi-factor authentication with an Azure AD application.

    Restore-VETItem [-Channel] <VETChannel> -ApplicationId <guid> -ApplicationCertificatePath <string> -ApplicationCertificatePassword <securestring> -PostsFrom <datetime> -PostsTo <datetime>  [<CommonParameters>]

    • Restore posts of a Microsoft Teams channel for a specified time period using Multi-factor authentication with an Azure AD application ID.

    Restore-VETItem [-Channel] <VETChannel> -ApplicationId <guid> -PostsFrom <datetime> -PostsTo <datetime>  [<CommonParameters>]

    • Restore all posts of a Microsoft Teams channel using Multi-factor authentication with an Azure AD application.

    Restore-VETItem [-Channel] <VETChannel> -ApplicationId <guid> -ApplicationCertificatePath <string> -ApplicationCertificatePassword <securestring> -AllPosts  [<CommonParameters>]

    • Restore all posts of a Microsoft Teams channel using Multi-factor authentication with an Azure AD application ID.

    Restore-VETItem [-Channel] <VETChannel> -ApplicationId <guid> -AllPosts  [<CommonParameters>]

    • Restore files using Multi-factor authentication with an Azure AD application.

    Restore-VETItem [-File] <VETFile[]> -ApplicationId <guid> -ApplicationCertificatePath <string> -ApplicationCertificatePassword <securestring> [-RestoreChangedItem] [-RestoreMissingItem] [-RestoreOnlyLatestVersion]  [<CommonParameters>]

    • Restore files using Multi-factor authentication with an Azure AD application ID.

    Restore-VETItem [-File] <VETFile[]> -ApplicationId <guid> [-RestoreChangedItem] [-RestoreMissingItem] [-RestoreOnlyLatestVersion]  [<CommonParameters>]

    • Restore tabs using Multi-factor authentication with an Azure AD application.

    Restore-VETItem [-Tab] <VETOtherTab[]> -ApplicationId <guid> -ApplicationCertificatePath <string> -ApplicationCertificatePassword <securestring> [-RestoreChangedItem] [-RestoreMissingItem]  [<CommonParameters>]

    • Restore tabs using Multi-factor authentication with an Azure AD application ID.

    Restore-VETItem [-Tab] <VETOtherTab[]> -ApplicationId <guid> [-RestoreChangedItem] [-RestoreMissingItem]  [<CommonParameters>]

    • Restore a channel using Multi-factor authentication with an Azure AD application.

    Restore-VETItem [-Channel] <VETChannel> -ApplicationId <guid> -ApplicationCertificatePath <string> -ApplicationCertificatePassword <securestring> [-RestoreChangedItem] [-RestoreMissingItem]  [<CommonParameters>]

    • Restore a channel using Multi-factor authentication with an Azure AD application ID.

    Restore-VETItem [-Channel] <VETChannel> -ApplicationId <guid> [-RestoreChangedItem] [-RestoreMissingItem]  [<CommonParameters>]

    • Restore a team using Multi-factor authentication with an Azure AD application.

    Restore-VETItem [-Team] <VETTeam> -ApplicationId <guid> -ApplicationCertificatePath <string> -ApplicationCertificatePassword <securestring> -ImpersonationAccountName <string> [-RestoreChangedItem] [-RestoreMissingItem] [-RestoreMembers] [-RestoreSettings]  [<CommonParameters>]

    • Restore a team using Multi-factor authentication with an Azure AD application ID.

    Restore-VETItem [-Team] <VETTeam> -ApplicationId <guid> [-RestoreChangedItem] [-RestoreMissingItem] [-RestoreMembers] [-RestoreSettings]  [<CommonParameters>]

    • Restore multiple teams using Multi-factor authentication with an Azure AD application.

    Restore-VETItem [-MultipleTeams] <VETTeam[]> -ApplicationId <guid> -ApplicationCertificatePath <string> -ApplicationCertificatePassword <securestring> -ImpersonationAccountName <string> [-RestoreChangedItem] [-RestoreMissingItem] [-RestoreMembers] [-RestoreSettings]  [<CommonParameters>]

    • Restore multiple teams using Multi-factor authentication with an Azure AD application ID.

    Restore-VETItem [-MultipleTeams] <VETTeam[]> -ApplicationId <guid> [-RestoreChangedItem] [-RestoreMissingItem] [-RestoreMembers] [-RestoreSettings]  [<CommonParameters>]

    Detailed Description

    This cmdlet allows you to restore Microsoft Teams items:

    • Teams
    • Channels
    • Posts
    • Files
    • Tabs

    You can restore Microsoft Teams items with one of the following authentication methods:

    • Authentication methods that utilize legacy protocols.
    • Multi-factor authentication. To restore data, the cmdlet utilizes an Azure AD application.

    Restore-VETItem Note:

    To perform restore operations, you must first start a restore session. For more information on how to start a restore session, see the Start-VBOTeamsItemRestoreSession cmdlet.

    Parameters

    Parameter

    Description

    Type

    Required

    Position

    Accept Pipeline Input

    Credential

    Specifies credentials that will be used to authenticate against the Microsoft Office 365 organization.

    PSCredential

    True

    Named

    False

    Channel

    Specifies a Microsoft Teams team channel. The cmdlet will restore items of this channel.

    Accepts the VETChannel object. To get this object, run the Get-VETChannel cmdlet.

    True

    0

    True (ByValue)

    PostsFrom

    Specifies the point in time that defines the start of the period for which you want to restore posts of a Microsoft Teams channel.

    The cmdlet will restore posts published within the specified time period. The time when a post was published is defined by the last modification time of the post.

    If you use this parameter, you cannot use the AllPosts parameter.

    DateTime

    False

    Named

    False

    PostsTo

    Specifies the point in time that defines the end of the period for which you want to restore posts of a Microsoft Teams channel.

    The cmdlet will restore posts publish within the specified time period. The time when a post was published is defined by the last modification time of the post.

    If you use this parameter, you cannot use the AllPosts parameter.

    DateTime

    False

    Named

    False

    AllPosts

    Defines that the cmdlet will restore all posts of a Microsoft Teams channel.

    If you use this parameter, you cannot use the PostsFrom and PostsTo parameters.

    SwitchParameter

    False

    Named

    False

    RestoreChangedItem

    Defines that the cmdlet will restore items that have changed in the original location since the time when the backup was created.

    SwitchParameter

    False

    Named

    False

    RestoreMissingItem

    Defines that the cmdlet will restore items that are missing in the original location.

    SwitchParameter

    False

    Named

    False

    File

    Specifies Microsoft Teams team channel files. The cmdlet will restore the specified files.

    Accepts the VETFile[] type. To get this object, run the Get-VETFile cmdlet.

    True

    0

    True (ByValue)

    RestoreOnlyLatestVersion

    Defines that the cmdlet will restore only the latest version of a backed-up file.

    If you do not use this parameter, Veeam Explorer for Microsoft Teams will restore all versions of a file from the backup.

    SwitchParameter

    False

    Named

    False

    Tab

    Specifies Microsoft Teams channel tabs. The cmdlet will restore the specified tabs.

    Accepts the VETOtherTab[] type. To get this object, run the Get-VETOtherTab cmdlet.

    True

    0

    True (ByValue)

    Team

    Specifies Microsoft Teams team. The cmdlet will restore items of this team.

    Accepts the VETTeam type. To get this object, run the Get-VETTeam cmdlet.

    True

    0

    True (ByValue)

    MultipleTeam

    Specifies Microsoft Teams teams. The cmdlet will restore items of these teams.

    Accepts the VETTeam[] type. To get this object, run the Get-VETTeam cmdlet.

    True

    0

    True (ByValue)

    RestoreMembers

    Defines that the cmdlet will restore team members of the specified team along with their roles.

    SwitchParameter

    False

    Named

    False

    RestoreSettings

    Defines that the cmdlet will restore settings of the specified team.

    SwitchParameter

    False

    Named

    False

    ApplicationId

    To restore data using Multi-factor authentication.

    Specifies an ID of an Azure AD application. The cmdlet will use this application ID to set up a secure connection to a Microsoft organization.

    Guid

    True

    Named

    False

    ApplicationCertificatePath

    To restore data using Multi-factor authentication.

    Specifies a path to the certificate. The cmdlet will import this certificate that is located in this path to set up an encrypted connection to a Microsoft organization.

    String

    True

    Named

    False

    ApplicationCertificatePassword

    To restore data 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. This parameter is obligatory.

    SecureString

    True

    Named

    False

    ImpersonationAccountName

    To restore data using Multi-factor authentication.

    Specifies a user name of the account that will be used as a team owner account to restore a team. This may be useful if you restore a previously removed team at the time when the original team owner account does not exist in Microsoft Office 365. Use this parameter together with the ApplicationCertificatePassword parameter.

    If you omit this parameter, the cmdlet will restore a team using an original team owner account from the backup.

    String

    True

    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.

    Output Object

    None.

    Examples

    Restore-VETItemExample 1. Restoring Microsoft Teams Posts

    This example shows how to restore posts of the General Microsoft Teams team channel created between 7/1/2020 10:00 AM and 8/31/2020 10:00 AM.

    $credentials = Get-Credential

    $session = Get-VBOTeamsItemRestoreSession

    $org = Get-VETOrganization -Session $session -Name "ABC"

    $team = Get-VETTeam -Organization $org -DisplayName "IT"

    $channel = Get-VETChannel -Team $team -DisplayName "General"

    Restore-VETItem -Credential $credentials -Channel $channel -PostsFrom "7/1/2020 10:00 AM" -PostsTo "8/31/2020 10:00 AM"

    Perform the following steps:

    1. Run the Get-Credential cmdlet to create a credential object. Type credentials that you want to use for connecting to the Microsoft 365 organization. Save the result to the $credentials variable.
    2. Get the Microsoft Teams channel:
    1. Run the Get-VBOTeamsItemRestoreSession cmdlet. Save the result to the $session variable.
    2. Run the Get-VETOrganization cmdlet. Set the $session variable as the Session parameter value. Specify the Name parameter value. Save the result to the $org variable.
    3. Run the Get-VETTeam cmdlet. Set the $org variable as the Organization parameter value. Specify the DisplayName parameter value. Save the result to the $team variable.
    4. Run the Get-VETChannel cmdlet. Set the $team variable as the Team parameter value. Specify the DisplayName parameter value. Save the result to the $channel variable.
    1. Run the Restore-VETItem cmdlet. Set the $credentials variable as the Credential parameter value. Set the $channel variable as the Channel parameter value. Specify the From and To parameter values.

    Restore-VETItemExample 2. Restoring Microsoft Teams Channel

    This example shows how to restore the General Microsoft Teams team channel with the following settings:

    • The cmdlet will restore changed items.
    • The cmdlet will restore missing items.

    $credentials = Get-Credential

    $session = Get-VBOTeamsItemRestoreSession

    $org = Get-VETOrganization -Session $session -Name "ABC"

    $team = Get-VETTeam -Organization $org -DisplayName "IT"

    $channel = Get-VETChannel -Team $team -DisplayName "General"

    Restore-VETItem -Credential $credentials -Channel $channel -RestoreChangedItem -RestoreMissingItem

    Perform the following steps:

    1. Run the Get-Credential cmdlet to create a credential object. Type credentials that you want to use for connecting to the Microsoft 365 organization. Save the result to the $credentials variable.
    2. Get the Microsoft Teams channel:
    1. Run the Get-VBOTeamsItemRestoreSession cmdlet. Save the result to the $session variable.
    2. Run the Get-VETOrganization cmdlet. Set the $session variable as the Session parameter value. Specify the Name parameter value. Save the result to the $org variable.
    3. Run the Get-VETTeam cmdlet. Set the $org variable as the Organization parameter value. Specify the DisplayName parameter value. Save the result to the $team variable.
    4. Run the Get-VETChannel cmdlet. Set the $team variable as the Team parameter value. Specify the DisplayName parameter value. Save the result to the $channel variable.
    1. Run the Restore-VETItem cmdlet. Specify the following settings:
    1. Set the $credentials variable as the Credential parameter value.
    2. Set the $channel variable as the Channel parameter value.
    3. Provide the RestoreChangedItem parameter.
    4. Provide the RestoreMissingItem parameter.

    Restore-VETItemExample 3. Restoring Microsoft Teams Files

    This example shows how to restore files of a Microsoft Teams team channel with the following settings:

    • The cmdlet will restore files whose names contain the report keyword.
    • The cmdlet will restore changed items.
    • The cmdlet will restore missing items.

    $credentials = Get-Credential

    $session = Get-VBOTeamsItemRestoreSession

    $org = Get-VETOrganization -Session $session -Name "ABC"

    $team = Get-VETTeam -Organization $org -DisplayName "IT"

    $channel = Get-VETChannel -Team $team -DisplayName "General"

    $file Get-VETFile -Channel $channel -Query "filename: report"

    Restore-VETItem -Credential $credentials -File $file -RestoreChangedItem -RestoreMissingItem

    Perform the following steps:

    1. Run the Get-Credential cmdlet to create a credential object. Type credentials that you want to use for connecting to the Microsoft 365 organization. Save the result to the $credentials variable.
    2. Get the files:
    1. Run the Get-VBOTeamsItemRestoreSession cmdlet. Save the result to the $session variable.
    2. Run the Get-VETOrganization cmdlet. Set the $session variable as the Session parameter value. Specify the Name parameter value. Save the result to the $org variable.
    3. Run the Get-VETTeam cmdlet. Set the $org variable as the Organization parameter value. Specify the DisplayName parameter value. Save the result to the $team variable.
    4. Run the Get-VETChannel cmdlet. Set the $team variable as the Team parameter value. Specify the DisplayName parameter value. Save the result to the $channel variable.
    5. Run the Get-VETFile cmdlet. Set the $channel variable as the Channel parameter value. Specify the Query parameter value. Save the result to the $file variable.
    1. Run the Restore-VETItem cmdlet. Specify the following settings:
    1. Set the $credentials variable as the Credential parameter value.
    2. Set the $file variable as the File parameter value.
    3. Provide the RestoreChangedItem parameter.
    4. Provide the RestoreMissingItem parameter.

    Restore-VETItemExample 4. Restoring Microsoft Teams Channel Tab

    This example shows how to restore the Website Microsoft Teams team channel tab with the following settings:

    • The cmdlet will restore changed items.
    • The cmdlet will restore missing items.

    $credentials = Get-Credential

    $session = Get-VBOTeamsItemRestoreSession

    $org = Get-VETOrganization -Session $session -Name "ABC"

    $team = Get-VETTeam -Organization $org -DisplayName "IT"

    $channel = Get-VETChannel -Team $team -DisplayName "General"

    $tab = Get-VETOtherTab -Channel $channel -Query "name: website"

    Restore-VETItem -Credential $credentials -Tab $tab -RestoreChangedItem -RestoreMissingItem

    Perform the following steps:

    1. Run the Get-Credential cmdlet to create a credential object. Type credentials that you want to use for connecting to the Microsoft 365 organization. Save the result to the $credentials variable.
    2. Get the Microsoft Teams channel tab:
    1. Run the Get-VBOTeamsItemRestoreSession cmdlet. Save the result to the $session variable.
    2. Run the Get-VETOrganization cmdlet. Set the $session variable as the Session parameter value. Specify the Name parameter value. Save the result to the $org variable.
    3. Run the Get-VETTeam cmdlet. Set the $org variable as the Organization parameter value. Specify the DisplayName parameter value. Save the result to the $team variable.
    4. Run the Get-VETChannel cmdlet. Set the $team variable as the Team parameter value. Specify the DisplayName parameter value. Save the result to the $channel variable.
    5. Run the Get-VETOtherTab cmdlet. Set the $channel variable as the Channel parameter value. Specify the Query parameter value. Save the result to the $tab variable.
    1. Run the Restore-VETItem cmdlet. Specify the following settings:
    1. Set the $credentials variable as the Credential parameter value.
    2. Set the $tab variable as the Tab parameter value.
    3. Provide the RestoreChangedItem parameter.
    4. Provide the RestoreMissingItem parameter.

    Restore-VETItemExample 5. Restoring Microsoft Teams Team

    This example shows how to restore the IT Microsoft Teams team channel with the following settings:

    • The cmdlet will restore changed items.
    • The cmdlet will restore missing items.
    • The cmdlet will restore team members.
    • The cmdlet will restore team settings.

    $credentials = Get-Credential

    $session = Get-VBOTeamsItemRestoreSession

    $org = Get-VETOrganization -Session $session -Name "ABC"

    $team = Get-VETTeam -Organization $org -DisplayName "IT"

    Restore-VETItem -Credential $credentials -Team $team -RestoreChangedItem -RestoreMissingItem -RestoreMembers -RestoreSettings

    Perform the following steps:

    1. Run the Get-Credential cmdlet to create a credential object. Type credentials that you want to use for connecting to the Microsoft 365 organization. Save the result to the $credentials variable.
    2. Get the Microsoft Teams channel:
    1. Run the Get-VBOTeamsItemRestoreSession cmdlet. Save the result to the $session variable.
    2. Run the Get-VETOrganization cmdlet. Set the $session variable as the Session parameter value. Specify the Name parameter value. Save the result to the $org variable.
    3. Run the Get-VETTeam cmdlet. Set the $org variable as the Organization parameter value. Specify the DisplayName parameter value. Save the result to the $team variable.
    1. Run the Restore-VETItem cmdlet. Specify the following settings:
    1. Set the $credentials variable as the Credential parameter value.
    2. Set the $team variable as the Team parameter value.
    3. Provide the RestoreChangedItem parameter.
    4. Provide the RestoreMissingItem parameter.
    5. Provide the RestoreMembers parameter.
    6. Provide the RestoreSettings parameter.

    Restore-VETItemExample 6. Restoring Microsoft Teams Channel Using Multi-Factor Authentication with Azure AD Application ID

    This example shows how to restore the General Microsoft Teams team channel with the following settings:

    • The cmdlet will use the c276f9ce-e4f2-4bdf-b9f2-e6c311c2e2a5 Azure AD application ID.
    • The cmdlet will restore changed items.
    • The cmdlet will restore missing items.

    $session = Get-VBOTeamsItemRestoreSession

    $org = Get-VETOrganization -Session $session -Name "ABC"

    $team = Get-VETTeam -Organization $org -DisplayName "IT"

    $channel = Get-VETChannel -Team $team -DisplayName "General"

    Restore-VETItem -ApplicationId "c276f9ce-e4f2-4bdf-b9f2-e6c311c2e2a5" -Channel $channel -RestoreChangedItem -RestoreMissingItem

    Perform the following steps:

    1. Get the Microsoft Teams channel:
    1. Run the Get-VBOTeamsItemRestoreSession cmdlet. Save the result to the $session variable.
    2. Run the Get-VETOrganization cmdlet. Set the $session variable as the Session parameter value. Specify the Name parameter value. Save the result to the $org variable.
    3. Run the Get-VETTeam cmdlet. Set the $org variable as the Organization parameter value. Specify the DisplayName parameter value. Save the result to the $team variable.
    4. Run the Get-VETChannel cmdlet. Set the $team variable as the Team parameter value. Specify the DisplayName parameter value. Save the result to the $channel variable.
    1. Run the Restore-VETItem cmdlet. Specify the following settings:
    1. Specify the ApplicationId parameter value
    2. Set the $channel variable as the Channel parameter value.
    3. Provide the RestoreChangedItem parameter.
    4. Provide the RestoreMissingItem parameter.
    1. To set up a secure connection to a Microsoft organization, open the https://microsoft.com/devicelogin link in a browser and enter the code that you get in the PowerShell Console to authenticate to the Microsoft Office 365 server.

    Restore-VETItemExample 7. Restoring Microsoft Teams Channel Using Multi-Factor Authentication with Azure AD Application

    This example shows how to restore the General Microsoft Teams team channel with the following settings:

    • The cmdlet will use the c276f9ce-e4f2-4bdf-b9f2-e6c311c2e2a5 Azure AD application ID.
    • The cmdlet will use the certificate located at the C:\Certificate\ path.
    • The cmdlet will restore changed items.
    • The cmdlet will restore missing items.

    $session = Get-VBOTeamsItemRestoreSession

    $org = Get-VETOrganization -Session $session -Name "ABC"

    $team = Get-VETTeam -Organization $org -DisplayName "IT"

    $channel = Get-VETChannel -Team $team -DisplayName "General"

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

    Enter password: ********

    Restore-VETItem -ApplicationId "c276f9ce-e4f2-4bdf-b9f2-e6c311c2e2a5" -ApplicationCertificatePath "C:\Certificate\" -ApplicationCertificatePassword $securepassword -Channel $channel -RestoreChangedItem -RestoreMissingItem

    Perform the following steps:

    1. Get the Microsoft Teams channel:
    1. Run the Get-VBOTeamsItemRestoreSession cmdlet. Save the result to the $session variable.
    2. Run the Get-VETOrganization cmdlet. Set the $session variable as the Session parameter value. Specify the Name parameter value. Save the result to the $org variable.
    3. Run the Get-VETTeam cmdlet. Set the $org variable as the Organization parameter value. Specify the DisplayName parameter value. Save the result to the $team variable.
    4. Run the Get-VETChannel cmdlet. Set the $team variable as the Team parameter value. Specify the DisplayName parameter value. Save the result to the $channel variable.
    1. Run the Read-Host cmdlet to specify the password. Specify the text that will show up in the password prompt window in the Prompt parameter. Provide the AsSecureString parameter to convert the password to a secure string.
    2. Enter the password.
    3. Run the Restore-VETItem cmdlet. Specify the following settings:
    1. Specify the ApplicationId parameter value
    2. Specify the ApplicationCertificatePath parameter value.
    3. Set the $securepassword variable as the ApplicationCertificatePassword parameter value.
    4. Set the $channel variable as the Channel parameter value.
    5. Provide the RestoreChangedItem parameter.
    6. Provide the RestoreMissingItem parameter.

    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.