Advisor Agent Configuration Override Rule

Microsoft.KnowledgeServices.Internal.AgentConfigurationOverrideRule (Rule)

Element properties:

TargetMicrosoft.Windows.Computer
CategoryCustom
EnabledTrue
Alert GenerateFalse
RemotableTrue

Member Modules:

ID Module Type TypeId RunAs 
Scheduler DataSource System.Scheduler Default
ExecuteScript WriteAction Microsoft.Windows.ScriptWriteAction Default

Source Code:

<Rule ID="Microsoft.KnowledgeServices.Internal.AgentConfigurationOverrideRule" Enabled="true" Target="Windows!Microsoft.Windows.Computer" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
<Category>Custom</Category>
<DataSources>
<DataSource ID="Scheduler" TypeID="System!System.Scheduler">
<Scheduler>
<SimpleReccuringSchedule>
<Interval Unit="Days">28</Interval>
</SimpleReccuringSchedule>
<ExcludeDates/>
</Scheduler>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="ExecuteScript" TypeID="Windows!Microsoft.Windows.ScriptWriteAction">
<ScriptName>OverrideAdvisorConfiguration.vbs</ScriptName>
<Arguments/>
<ScriptBody><Script>
function readFromRegistry(strRegistryKey, default)
Dim WSHShell, value

On Error Resume Next
Set WSHShell = CreateObject("WScript.Shell")
value = WSHShell.RegRead(strRegistryKey)

if err.number &lt;&gt; 0 then
readFromRegistry=default
else
readFromRegistry=value
end if

set WSHShell = nothing
end function

Dim constOverrideUploadFrequency, constOverrideVersion, intUserOverrideVersion, strRegisterToManagementGroup
constOverrideUploadFrequency = 37600 ' 6 hrs = 16000 + 3600 * 6
constOverrideVersion = 1408 ' 2014 August Train
intUserOverrideVersion = readFromRegistry("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\System Center Operations Manager\12\Advisor\OverrideVersion", 0)
strRegisterToManagementGroup = readFromRegistry("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\System Center Operations Manager\12\Advisor\RegisterToManagementGroup", Empty)

if intUserOverrideVersion &lt;&gt; constOverrideVersion then
Dim WSHShell
Set WSHShell = CreateObject("WScript.Shell")

if strRegisterToManagementGroup &lt;&gt; Empty then
' Apply Advisor Configuration Override
WSHShell.RegWrite "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\System Center Operations Manager\12\Advisor\UploadFrequency", constOverrideUploadFrequency, "REG_DWORD"
end if

WSHShell.RegWrite "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\System Center Operations Manager\12\Advisor\OverrideVersion", constOverrideVersion, "REG_DWORD"
set WSHShell = nothing
end if
</Script></ScriptBody>
<TimeoutSeconds>60</TimeoutSeconds>
</WriteAction>
</WriteActions>
</Rule>