Microsoft Azure .Net Framework Rule

Microsoft.SystemCenter.MicrosoftAzure.DotNetVersion.Rule (Rule)

Microsoft Azure .Net Framework rule

Knowledge Base article:

Summary

Check for a supported version of .Net Framework

Element properties:

TargetMicrosoft.SystemCenter.ManagementService
CategoryAlert
EnabledFalse
Alert GenerateTrue
Alert SeverityError
Alert PriorityHigh
RemotableTrue
Alert Message
.NET Framework 4.5.2 or newer has not been installed on Microsoft Azure Resource Pool computer
Microsoft Azure Management Pack requires .NET Framework 4.5.2 or newer installed on all Management Servers in Microsoft Azure Resource Pool. Please, update .NET Framework on this Management Server.

Member Modules:

ID Module Type TypeId RunAs 
RegistryData DataSource Microsoft.Windows.RegistryProvider Default
Filter ConditionDetection System.ExpressionFilter Default
GenerateAlert WriteAction System.Health.GenerateAlert Default

Source Code:

<Rule ID="Microsoft.SystemCenter.MicrosoftAzure.DotNetVersion.Rule" Enabled="false" Target="SC!Microsoft.SystemCenter.ManagementService" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
<Category>Alert</Category>
<DataSources>
<DataSource ID="RegistryData" TypeID="Windows!Microsoft.Windows.RegistryProvider">
<ComputerName>.</ComputerName>
<RegistryAttributeDefinitions>
<RegistryAttributeDefinition>
<AttributeName>Framework452Installed</AttributeName>
<Path>SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full\Release</Path>
<PathType>1</PathType>
<AttributeType>2</AttributeType>
</RegistryAttributeDefinition>
</RegistryAttributeDefinitions>
<Frequency>900</Frequency>
</DataSource>
</DataSources>
<ConditionDetection ID="Filter" TypeID="System!System.ExpressionFilter">
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="Integer">Values/Framework452Installed</XPathQuery>
</ValueExpression>
<Operator>Less</Operator>
<ValueExpression>
<Value Type="Integer">379893</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</ConditionDetection>
<WriteActions>
<WriteAction ID="GenerateAlert" TypeID="Health!System.Health.GenerateAlert">
<Priority>2</Priority>
<Severity>2</Severity>
<AlertName/>
<AlertDescription/>
<AlertMessageId>$MPElement[Name='Microsoft.SystemCenter.MicrosoftAzure.DotNetVersion45NotFound.AlertMessage']$</AlertMessageId>
<Suppression>
<SuppressionValue>$Target/Id$</SuppressionValue>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>