Replication Groups Discovery

Microsoft.Windows.FileServer.DFSR.ReplicationGroupDiscovery (Discovery)

This rule discovers replication groups on the monitored server.

Knowledge Base article:

Summary

This rule discovers replication groups on the monitored server. This discovery rule queries the DfsrLocalMemberInfo WMI class to find the replication groups and to discover properties of the groups such as the following:

Configuration

This discovery rule requires all computers hosting replicated folders to be enabled to act as an agent proxy. To enable the Agent Proxy setting, use the following procedure:

1. Open the Operations console and then click Administration.

2. In the Administration pane, click Agent Managed.

3. Double-click the server that you want to monitor.

4. Click the Security tab.

5. Select Allow this agent to act as a proxy and discover managed objects on other computers.

6. Repeat steps three through five for each server running DFS Replication.

Additional

Element properties:

TargetMicrosoft.Windows.FileServer.DFSR.ReplicationGroupMember
EnabledTrue
Frequency14400
RemotableFalse

Object Discovery Details:

Discovered Classes and their attribuets:
Discovered relationships and their attribuets:

Member Modules:

ID Module Type TypeId RunAs 
DS DataSource Microsoft.Windows.TimedScript.DiscoveryProvider Microsoft.Windows.FileServer.DFSR.MonitoringAccount

Source Code:

<Discovery ID="Microsoft.Windows.FileServer.DFSR.ReplicationGroupDiscovery" Enabled="true" Target="Microsoft.Windows.FileServer.DFSR.ReplicationGroupMember" ConfirmDelivery="false" Remotable="true" Priority="Normal">
<Category>Discovery</Category>
<DiscoveryTypes>
<DiscoveryClass TypeID="Microsoft.Windows.FileServer.DFSR.ReplicationGroup">
<Property TypeID="Microsoft.Windows.FileServer.DFSR.ReplicationGroup" PropertyID="ReplicationGroupGUID"/>
<Property TypeID="System!System.Entity" PropertyID="DisplayName"/>
</DiscoveryClass>
<DiscoveryClass TypeID="Microsoft.Windows.FileServer.DFSR.ReplicationGroupMember">
<Property TypeID="Microsoft.Windows.FileServer.DFSR.ReplicationGroupMember" PropertyID="MemberGUID"/>
</DiscoveryClass>
<DiscoveryRelationship TypeID="Microsoft.Windows.FileServer.DFSR.ReplicationGroup.Contains.ReplicationGroupMembers"/>
</DiscoveryTypes>
<DataSource ID="DS" RunAs="Microsoft.Windows.FileServer.DFSR.MonitoringAccount" TypeID="Windows!Microsoft.Windows.TimedScript.DiscoveryProvider">
<IntervalSeconds>14400</IntervalSeconds>
<SyncTime/>
<ScriptName>ReplicationGroupMembersDiscovery.vbs</ScriptName>
<Arguments>0 $MPElement$ $Target/Id$ $Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/PrincipalName$ $Target/Property[Type="Microsoft.Windows.FileServer.DFSR.ReplicationGroupMember"]/ReplicationGroupGUID$ "$Target/Property[Type="Microsoft.Windows.FileServer.DFSR.ReplicationGroupMember"]/RGName$" $Target/Property[Type="Microsoft.Windows.FileServer.DFSR.ReplicationGroupMember"]/MemberGUID$</Arguments>
<ScriptBody><Script>
Option Explicit

On Error Resume Next

Dim SourceType, SourceID, ManagedEntityId, oArgs, oAPI, ReplicationGroupId, ReplicationGroupName, ReplicationMemberId, sDfsrServerName

SetLocale("en-us")

Set oAPI = CreateObject("MOM.ScriptAPI")
Set oArgs = WScript.Arguments

if oArgs.Count &lt; 7 Then
call oAPI.LogScriptEvent("ReplicationGroupMembersDiscovery.vbs", 100, 1, "Expected 7 arguments. There were only " &amp; oArgs.Count &amp; " arguments. Exiting script.")
Wscript.Quit -1
End If

Dim oDiscData, oRGMembers, oRel, oReplicationGroup

SourceType = oArgs(0)
SourceId = oArgs(1)
ManagedEntityId = oArgs(2)
sDfsrServerName = oArgs(3)
ReplicationGroupId = oArgs(4)
ReplicationGroupName = oArgs(5)
ReplicationMemberId = oArgs(6)

set oDiscData = oAPI.CreateDiscoveryData(SourceType, SourceId, ManagedEntityId)

set oReplicationGroup = oDiscData.CreateClassInstance("$MPElement[Name='Microsoft.Windows.FileServer.DFSR.ReplicationGroup']$")

call oReplicationGroup.AddProperty("$MPElement[Name='Microsoft.Windows.FileServer.DFSR.ReplicationGroup']/ReplicationGroupGUID$", ReplicationGroupId)
call oReplicationGroup.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", ReplicationGroupName)

Call oDiscData.AddInstance(oReplicationGroup)

set oRGMembers = oDiscData.CreateClassInstance("$MPElement[Name='Microsoft.Windows.FileServer.DFSR.ReplicationGroupMember']$")

call oRGMembers.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", sDfsrServerName)
call oRGMembers.AddProperty("$MPElement[Name='Microsoft.Windows.FileServer.DFSR.ReplicationGroupMember']/MemberGUID$", ReplicationMemberId)
call oRGMembers.AddProperty("$MPElement[Name='Microsoft.Windows.FileServer.DFSR.ReplicationGroupMember']/ReplicationGroupGUID$", ReplicationGroupId)

Call oDiscData.AddInstance(oRGMembers)

Set oRel = oDiscData.CreateRelationshipInstance("$MPElement[Name='Microsoft.Windows.FileServer.DFSR.ReplicationGroup.Contains.ReplicationGroupMembers']$")

oRel.Source = oReplicationGroup
oRel.Target = oRGMembers

Call oDiscData.AddInstance(oRel)

Call oAPI.Return(oDiscData)
</Script></ScriptBody>
<TimeoutSeconds>900</TimeoutSeconds>
</DataSource>
</Discovery>