Answered by:
AD Replication Monitoring - Time skew detected

Question
-
I constantly get errors on a DC in India.
AD Replication Monitoring : The following DCs have clocks which are set in the future. This can cause replication errors in Active Directory and prevents the 'AD Replication Monitoring' script from detecting replication errors.
When I enter the command w32tm /monitor I can see no time issues.
Tuesday, July 13, 2010 2:25 PM
Answers
-
The problem seem to have been solved after adding a time server as an overide on the rule..
- Marked as answer by Dan Rogers Monday, July 19, 2010 8:13 PM
Thursday, July 15, 2010 8:35 AM
All replies
-
When you simply look at those dc's, is the time and timezone correct? (GMT should be the same on all DC's in the forest).
Rob Korving
http://jama00.wordpress.com/Tuesday, July 13, 2010 4:12 PM -
We have three sites Canada, EU and India and all of them have different time zones.. time is set correctly on all machines... I have read that this script changes the admindescription record in the OpsMgrLatencyMonitors container in AD.
What I was thinking the script running on domain controllers to check that record do they check that in their local site or in the remote site. Else perhaps the script is wrong because replication might screw up the records. With other words: When the remote DC changes the admindescription value in their AD database it is not immidiatly replicated.
I know the MP documentation explains to create the OpsMgrLatencyMonitors in the configuration container in AD wich is replicated differently what might solve the issue... but then again the scripts comming with the MP try to create the OpsMgrLatencyMonitors in the domain partition not in the configuration partition..
This is the link to the online page that explains how to create the OpsMgrLatencyMonitors container http://technet.microsoft.com/en-us/library/dd262066.aspx.
I am not a script guru but so far as I can see this script does not create the OpsMgrLatencyMonitors in the configuration partition.
I talk about the AD_Replication_Monitoring.vbs script.
====================================================================
' Attempt to get the container object on the search master. If it does not exist,
' create it. If it does exist then just wait for it to be replicated to us.
'
Set oCont = GetObject(strLDAPSearchMaster & "CN=OpsMgrLatencyMonitors," & strRoot)
'
' If we encountered an error, assume it was an 'object did not exist' type
' of error and try to make the object. If it was an access error then
' we'll create an event when we try to create the object.
'
If Err <> 0 Then
Err.Clear
Dim oRoot
Set oRoot = GetObject(strLDAPSearchMaster & strRoot)
If 0 <> Err Then
ScriptError "GetObject('" & strLDAPSearchMaster & strRoot & "')" & GetErrorString(Err)
Else
Set oCont = oRoot.Create("container", "CN=" & MONITORING_CONTAINER_NAME)
If 0 <> Err Then
ScriptError "Create('container', 'CN=" & MONITORING_CONTAINER_NAME & "')." & GetErrorString(Err)
Else
oCont.SetInfo
If &H80070005 = Err Then
AccessError "create the " & MONITORING_CONTAINER_NAME & " container", strRoot
oCont = 0
ElseIf 0 <> Err Then
ScriptError "create the container 'CN=" & MONITORING_CONTAINER_NAME & "," & strRoot & "'." & _
GetErrorString(Err) & vbCrLf & vbCrLf & "Check the access permissions for this object."
oCont = 0
End If
End If
End If
Else
Set oCont = 0
End If
End If
End IfErr.Clear
If IsObject(oCont) Then
' Look for the local DCs object in the container
Set oObj = oCont.GetObject("container", "CN=" & strLocalDCShortName)If 0 <> Err Then
Err.Clear' Try to create the object
Set oObj = oCont.Create("container", "CN=" & strLocalDCShortName)
If 0 <> Err Then
ScriptError "create the object named '" & strLocalDCShortName & "' in the container " & _
"'CN=" & MONITORING_CONTAINER_NAME & "," & strRoot & "'." & GetErrorString(Err)
oObj = 0
End If
End If
End If
End IfIf IsObject(oObj) Then
' Update the adminDescription attribute
Dim strAdminDesc
strAdminDesc = Date2AdminDesc(Now, bLocalPerfData)
oObj.adminDescription = strAdminDesc
If 0 <> Err Then
ScriptError "write '" & strAdminDesc & "' to the adminDescription attribute of 'CN=" & _
strLocalDCShortName & ",CN=" & MONITORING_CONTAINER_NAME & "," & strRoot & "'." & GetErrorString(Err)
Else
oObj.SetInfo
If &H80070005 = Err Then
AccessError "update this DCs monitoring object", strRoot
oCont = 0
ElseIf 0 <> Err Then
ScriptError "write the adminDescription attribute of 'CN=" & strLocalDCShortName & ",CN=" & MONITORING_CONTAINER_NAME & "," & _
strRoot & "' to Active Directory." & GetErrorString(Err) & vbCrLf & "Check the access " & _
"permissions for this object."
Else
lUpdateCount = 1
UpdateMonitor = True
End If
End If
End If
Else
lUpdateCount = lUpdateCount + 1
' Only say we succeeded if the container object exists. If it does not exist then
' ReplCheck will create an error which will be misleading.
Set oCont = GetObject(strLDAPSearchComputer & "CN=" & MONITORING_CONTAINER_NAME & "," & strRoot)
If Err = 0 Then
UpdateMonitor = True
Set oCont = Nothing
End If
End IfSetData "ExecutionsSinceLastUpdate" & strRoot, lUpdateCount
End FunctionWednesday, July 14, 2010 7:05 AM -
The problem seem to have been solved after adding a time server as an overide on the rule..
- Marked as answer by Dan Rogers Monday, July 19, 2010 8:13 PM
Thursday, July 15, 2010 8:35 AM