Restore-DfsrPreservedFiles

Restore-DfsrPreservedFiles

Restores files and folders that DFS Replication previously preserved.

Syntax

Parameter Set: RestorePath
Restore-DfsrPreservedFiles [-Path] <String> [-RestoreToPath] <String> [[-RestoreAllVersions]] [[-CopyFiles]] [-AllowClobber] [-Force] [-Confirm] [-WhatIf] [ <CommonParameters>]

Parameter Set: RestoreOrigin
Restore-DfsrPreservedFiles [-Path] <String> [-RestoreToOrigin] [[-RestoreAllVersions]] [[-CopyFiles]] [-AllowClobber] [-Force] [-Confirm] [-WhatIf] [ <CommonParameters>]

Detailed Description

The Restore-DfsrPreservedFiles cmdlet restores preserved files and folders. The Distributed File System (DFS) Replication service preserves the following kinds of files and folders:

-- Conflicted. If users make changes to the same file on multiple servers before replication converges, a file might conflict with the current version. DFS Replication preserves previous conflicting versions of the file.
-- Deleted. When a member computer deletes a replicated file, other members also remove that file. Depending on membership settings, computers can preserve deleted files. To modify whether a member computer preserves deleted files, use the Set-DfsrMembership cmdlet.
-- Preexisting. If DFS Replication overwrites files during its initial synchronization, DFS Replication preserves those files.

For all three types, DFS Replication moves the files to <replicated folder>\DfsrPrivate\ConflictAndDeleted or <replicated folder>\DfsrPrivate\Preexisting. DFS Replication records these files in a manifest, either ConflictAndDeletedManifest.xml or PreExistingManifest.xml, as appropriate. Specify the ConflictAndDeletedManifest.xml manifest to restore conflicted and deleted files and folders. Specify the PreExistingManifest.xml manifest to restore preexisting files and folders. You can use the Get-DfsrPreservedFiles cmdlet to view preserved files and folders.

CAUTION By default, this cmdlet moves all files and removes any existing preserved files, including older versions of files. Consider backing up the ConflictsAndDeleted and Preexisting folder before you use this cmdlet.

Parameters

-AllowClobber

Indicates that the cmdlet overwrites files of the same name that currently exist in the destination. If you do not specify this parameter, the cmdlet prompts you before overwriting existing files.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-CopyFiles

Indicates that the cmdlet copies files instead of moving them.

If you do not specify this parameter, the cmdlet moves the preserved files but restores only the latest version of a file. You will lose previous versions of conflicted or deleted files. Preexisting files never have multiple versions. To avoid losing previous versions, consider backing up the ConflictsAndDeleted folder. As an alternative, specify the RestoreAllVersions parameter.

Aliases

none

Required?

false

Position?

4

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-Force

Forces the command to run without asking for user confirmation.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-Path<String>

Specifies the path of a manifest. By default, the manifest files exist in the <Replicated Folder>\DfsrPrivate folder. Specify ConflictAndDeletedManifest.xml to restore conflicted and deleted files. Specify PreExistingManifest.xml to restore preexisting files.

Aliases

none

Required?

true

Position?

1

Default Value

none

Accept Pipeline Input?

True (ByValue, ByPropertyName)

Accept Wildcard Characters?

false

-RestoreAllVersions

Indicates that the cmdlet restores all versions of a file. The cmdlet adds a time stamp to the file name. This parameter affects only conflicted files or deleted files. Preexisting files never have multiple versions.

If you do not specify this parameter, the cmdlet restores only the most recent version of the file. If you do not specify this parameter and do not specify the CopyFiles parameter, the cmdlet restores the most recent version and removes all versions from the ConflictsAndDeleted folder. Consider backing up the ConflictsAndDeleted folder before you use this cmdlet.

Aliases

none

Required?

false

Position?

3

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-RestoreToOrigin

Indicates that the cmdlet restores all files and folders recorded in the ConflictAndDeletedManifest.xml manifest or the PreExistingManifest.xml manifest to their original locations. To restore to a different location, specify a path by using the RestoreToPath parameter.

Aliases

none

Required?

true

Position?

2

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-RestoreToPath<String>

Specifies a location for files and folders recorded in the ConflictAndDeletedManifest.xml manifest or the PreExistingManifest.xml manifest. To restore to the original locations, specify the RestoreToOrigin parameter.

Aliases

none

Required?

true

Position?

2

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-Confirm

Prompts you for confirmation before running the cmdlet.

Required?

false

Position?

named

Default Value

false

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-WhatIf

Shows what would happen if the cmdlet runs. The cmdlet is not run.

Required?

false

Position?

named

Default Value

false

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

<CommonParameters>

This cmdlet supports the common parameters: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer, and -OutVariable. For more information, see    about_CommonParameters (https://go.microsoft.com/fwlink/p/?LinkID=113216).

Inputs

The input type is the type of the objects that you can pipe to the cmdlet.

  • string

Outputs

The output type is the type of the objects that the cmdlet emits.

  • [none]

Examples

Example 1: Restore preexisting files to their original locations

This command restores preexisting files and folders in the replicated folder C:\RF01 to their original locations. The command does not specify the CopyFiles parameter. Therefore, it moves the files and leaves the Preexisting folder empty.

PS C:\> Restore-DfsrPreservedFiles -Path "C:\RF01\DfsrPrivate\PreExistingManifest.xml" -RestoreToOrigin

Example 2: Restore copies of preexisting files to a different location

This command restores copies of preexisting files and folders in the replicated folder C:\RF01 to the location C:\DFSRTest. The command specifies the location by using the RestoreToPath parameter. The command uses the AllowClobber parameter. Therefore, it overwrites existing files that have the same names in the specified location. The command uses the Verbose parameter to display information in the console.

PS C:\> Restore-DfsrPreservedFiles -Path "C:\RF01\DfsrPrivate\PreExistingManifest.xml" -RestoreToPath "C:\DFSRTest" -CopyFiles -AllowClobber -Verbose

Example 3: Restore conflicted and deleted files to a different location

This example restores multiple versions of conflicted and deleted files to a specified location.

The first command restores conflicted and deleted files and folders for the replicated folder C:\FR01 to the location C:\DFSRRestore. The command restores all preserved versions of the files. The command includes the Force parameter, and therefore, it does not prompt you for confirmation and overwrites any files in the destination.

The second command uses the Get-ChildItem cmdlet to display information about the restored files. For more information, type Get-Help Get-ChildItem. In this example, the first command restores multiple versions of the same file.

PS C:\> Restore-DfsrPreservedFiles -Path "C:\RF01\DfsrPrivate\ConflictAndDeletedManifest.xml" -RestoreToPath "C:\DFSRRestore" -RestoreAllVersions -Force
PS C:\> Get-ChildItem -Path "C:\DFSRRestore"

Get-DfsrPreservedFiles

Set-DfsrMembership