Skip to content

DFSReplicationGroupConnection

dscbot edited this page Nov 22, 2025 · 6 revisions

Parameters

ParameterAttributeDataTypeDescriptionAllowed Values
DestinationComputerNameKeyStringThe name of the Replication Group destination computer for the connection. This can be specified using either the ComputerName or FQDN name for the member. If an FQDN name is used and the DomainName parameter is set, the FQDN domain name must match.
GroupNameKeyStringThe name of the DFS Replication Group.
SourceComputerNameKeyStringThe name of the Replication Group source computer for the connection. This can be specified using either the ComputerName or FQDN name for the member. If an FQDN name is used and the DomainName parameter is set, the FQDN domain name must match.
DescriptionWriteStringA description for the DFS Replication Group connection.
DomainNameWriteStringThe name of the AD Domain the DFS Replication Group connection should be in.
EnsureWriteStringSpecifies whether the DFS Replication Group connection should exist.Present, Absent
EnsureCrossFileRDCEnabledWriteStringEnsures cross-file similarity remote differential compression is Enabled or Disabled.Enabled, Disabled
EnsureEnabledWriteStringEnsures that connection is either Enabled or Disabled.Enabled, Disabled
EnsureRDCEnabledWriteStringEnsures remote differential compression is Enabled or Disabled.Enabled, Disabled
MinimumRDCFileSizeInKBWriteUInt32The file size threshold for RDC to apply in KB.

Description

This resource is used to create, edit and remove DFS Replication Group connections. This resource should ONLY be used if the Topology parameter in the Resource Group is set to Manual.

Examples

Example 1

Create a DFS Replication Group called Public containing two members, FileServer1 and FileServer2. The Replication Group contains a single folder called Software. A description will be set on the Software folder and it will be set to exclude the directory Temp from replication. The resource group topology is left set to 'Manual' so that the replication group connections can be defined.

ConfigurationDFSReplicationGroupConnection_Complete_Config
{
param
(
[Parameter()]
[PSCredential]
$Credential
)
Import-DscResource-Module DFSDsc
Node localhost
{
<# Install the Prerequisite features first Requires Windows Server 2012 R2 Full install#>
WindowsFeature RSATDFSMgmtConInstall
{
Ensure ='Present'
Name ='RSAT-DFS-Mgmt-Con'
}
# Configure the Replication Group
DFSReplicationGroup RGPublic
{
GroupName ='Public'
Description ='Public files for use by all departments'
Ensure ='Present'
Members ='FileServer1.contoso.com','FileServer2.contoso.com'
Folders ='Software'
PSDSCRunAsCredential =$Credential
DependsOn ='[WindowsFeature]RSATDFSMgmtConInstall'
} # End of RGPublic Resource
DFSReplicationGroupConnection RGPublicC1
{
GroupName ='Public'
Ensure ='Present'
SourceComputerName ='FileServer1.contoso.com'
DestinationComputerName ='FileServer2.contoso.com'
PSDSCRunAsCredential =$Credential
} # End of DFSReplicationGroupConnection Resource
DFSReplicationGroupConnection RGPublicC2
{
GroupName ='Public'
Ensure ='Present'
SourceComputerName ='FileServer2.contoso.com'
DestinationComputerName ='FileServer1.contoso.com'
PSDSCRunAsCredential =$Credential
} # End of DFSReplicationGroupConnection Resource
DFSReplicationGroupFolder RGSoftwareFolder
{
GroupName ='Public'
FolderName ='Software'
Description ='DFS Share for storing software installers'
DirectoryNameToExclude ='Temp'
PSDSCRunAsCredential =$Credential
DependsOn ='[DFSReplicationGroup]RGPublic'
} # End of RGPublic Resource
DFSReplicationGroupMembership RGPublicSoftwareFS1
{
GroupName ='Public'
FolderName ='Software'
ComputerName ='FileServer1.contoso.com'
ContentPath ='d:\Public\Software'
PrimaryMember =$true
PSDSCRunAsCredential =$Credential
DependsOn ='[DFSReplicationGroupFolder]RGSoftwareFolder'
} # End of RGPublicSoftwareFS1 Resource
DFSReplicationGroupMembership RGPublicSoftwareFS2
{
GroupName ='Public'
FolderName ='Software'
ComputerName ='FileServer2.contoso.com'
ContentPath ='e:\Data\Public\Software'
PSDSCRunAsCredential =$Credential
DependsOn ='[DFSReplicationGroupFolder]RGSoftwareFolder'
} # End of RGPublicSoftwareFS2 Resource
} # End of Node
} # End of Configuration

Example 2

Create a Hub and Spoke style DFS Replication Group called WebSite containing one Hub member and one or more Spoke members. The name of the Hub computer is passed in the HubComputerName parameter and defaults to 'Hub'. The Hub member contains a folder called WebSiteFiles with the path 'd:\inetpub\wwwroot\WebSiteFiles'. This path is replicated to all members of the SpokeComputerName parameter array into the 'd:\inetpub\wwwroot\WebSiteFiles' folder. The spoke computers are passed in the SpokeComputerName parameter and defaults to 'Spoke1', 'Spoke2' and 'Spoke3'.

ConfigurationDFSReplicationGroupConnection_HubAndSpoke_Config
{
param
(
[Parameter()]
[PSCredential]
$Credential,
[Parameter()]
[System.String]
$HubComputerName='Hub',
[Parameter()]
[System.String[]]
$SpokeComputerName=@('Spoke1','Spoke2','Spoke3')
)
Import-DscResource-Module DFSDsc
Node localhost
{
<# Install the Prerequisite features first Requires Windows Server 2012 R2 Full install#>
WindowsFeature RSATDFSMgmtConInstall
{
Ensure ='Present'
Name ='RSAT-DFS-Mgmt-Con'
}
# Configure the Replication Group
DFSReplicationGroup RGWebSite
{
GroupName ='WebSite'
Description ='Files for web server'
Ensure ='Present'
Members =@() +$HubComputerName+$SpokeComputerName
Folders ='WebSiteFiles'
PSDSCRunAsCredential =$Credential
DependsOn ='[WindowsFeature]RSATDFSMgmtConInstall'
} # End of RGWebSite Resource
DFSReplicationGroupFolder RGWebSiteFolder
{
GroupName ='WebSite'
FolderName ='WebSiteFiles'
Description ='DFS Share for replicating web site files'
PSDSCRunAsCredential =$Credential
DependsOn ='[DFSReplicationGroup]RGWebSite'
} # End of RGWebSiteFolder Resource
DFSReplicationGroupMembership RGWebSiteMembershipHub
{
GroupName ='WebSite'
FolderName ='WebSiteFiles'
ComputerName =$HubComputerName
ContentPath ='d:\inetpub\wwwroot\WebSiteFiles'
PrimaryMember =$true
PSDSCRunAsCredential =$Credential
DependsOn ='[DFSReplicationGroupFolder]RGWebSiteFolder'
} # End of RGWebSiteMembershipHub Resource# Configure the connection and membership for each Spokeforeach ($spokein$SpokeComputerName)
{
DFSReplicationGroupConnection "RGWebSiteConnection$spoke"
{
GroupName ='WebSite'
Ensure ='Present'
SourceComputerName =$HubComputerName
DestinationComputerName =$spoke
PSDSCRunAsCredential =$Credential
DependsOn ='[DFSReplicationGroupFolder]RGWebSiteFolder'
} # End of RGWebSiteConnection$spoke Resource
DFSReplicationGroupMembership "RGWebSiteMembership$spoke"
{
GroupName ='WebSite'
FolderName ='WebSiteFiles'
ComputerName =$spoke
ContentPath ='d:\inetpub\wwwroot\WebSiteFiles'
PSDSCRunAsCredential =$Credential
DependsOn ="[DFSReplicationGroupConnection]RGWebSiteConnection$spoke"
} # End of RGWebSiteMembership$spoke Resource
}
} # End of Node
} # End of Configuration

Clone this wiki locally