Windows Server 2012 Built-in SMTP Virtual Server State Monitor Type

Microsoft.Windows.InternetInformationServices.CheckLegacySMTPVirtualServerState (UnitMonitorType)

Element properties:

RunAsSystem.PrivilegedMonitoringAccount
AccessibilityInternal
Support Monitor RecalculateTrue

Member Modules:

ID Module Type TypeId RunAs 
DS DataSource Microsoft.Windows.Server.IIS.IISLegacyStateDataSource.8 Default
SMTPVirtualServerStateProbe ProbeAction Microsoft.Windows.Server.IIS.IISLegacyStateProbe.8 Default
FilterStarted ConditionDetection System.ExpressionFilter Default
FilterStopped ConditionDetection System.ExpressionFilter Default

Overrideable Parameters:

IDParameterTypeSelectorDisplay NameDescription
PeriodInSecondsint$Config/PeriodInSeconds$Interval(sec)

Source Code:

<UnitMonitorType ID="Microsoft.Windows.InternetInformationServices.CheckLegacySMTPVirtualServerState" Accessibility="Internal" RunAs="System!System.PrivilegedMonitoringAccount">
<MonitorTypeStates>
<MonitorTypeState ID="Started" NoDetection="false"/>
<MonitorTypeState ID="Stopped" NoDetection="false"/>
</MonitorTypeStates>
<Configuration>
<IncludeSchemaTypes>
<SchemaType>System!System.ExpressionEvaluatorSchema</SchemaType>
</IncludeSchemaTypes>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" minOccurs="1" name="PeriodInSeconds" type="xsd:integer"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" minOccurs="1" name="SiteID" type="xsd:string"/>
</Configuration>
<OverrideableParameters>
<OverrideableParameter ID="PeriodInSeconds" Selector="$Config/PeriodInSeconds$" ParameterType="int"/>
</OverrideableParameters>
<MonitorImplementation>
<MemberModules>
<DataSource ID="DS" TypeID="Microsoft.Windows.Server.IIS.IISLegacyStateDataSource.8">
<PeriodInSeconds>$Config/PeriodInSeconds$</PeriodInSeconds>
<Type>8</Type>
</DataSource>
<ProbeAction ID="SMTPVirtualServerStateProbe" TypeID="Microsoft.Windows.Server.IIS.IISLegacyStateProbe.8">
<Type>8</Type>
</ProbeAction>
<ConditionDetection ID="FilterStarted" TypeID="System!System.ExpressionFilter">
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">Property[@Name='$Config/SiteID$']</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">2</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</ConditionDetection>
<ConditionDetection ID="FilterStopped" TypeID="System!System.ExpressionFilter">
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">Property[@Name='$Config/SiteID$']</XPathQuery>
</ValueExpression>
<Operator>NotEqual</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">2</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</ConditionDetection>
</MemberModules>
<RegularDetections>
<RegularDetection MonitorTypeStateID="Started">
<Node ID="FilterStarted">
<Node ID="DS"/>
</Node>
</RegularDetection>
<RegularDetection MonitorTypeStateID="Stopped">
<Node ID="FilterStopped">
<Node ID="DS"/>
</Node>
</RegularDetection>
</RegularDetections>
<OnDemandDetections>
<OnDemandDetection MonitorTypeStateID="Started">
<Node ID="FilterStarted">
<Node ID="SMTPVirtualServerStateProbe"/>
</Node>
</OnDemandDetection>
<OnDemandDetection MonitorTypeStateID="Stopped">
<Node ID="FilterStopped">
<Node ID="SMTPVirtualServerStateProbe"/>
</Node>
</OnDemandDetection>
</OnDemandDetections>
</MonitorImplementation>
</UnitMonitorType>