Microsoft Dynamics NAV 2013 Web Server Role Discovery

Microsoft.Dynamics.Nav.2013.WebServerRoleDiscovery (Discovery)

This object discovery finds a seed for Microsoft Dynamics NAV 2013 Web Server role.

Knowledge Base article:

Summary

This object discovery finds a seed for the Microsoft Dynamics NAV 2013 Web Server role. This object indicates that the specified server computer contains the Microsoft Dynamics NAV 2013 Web Server role.

Element properties:

TargetMicrosoft.Windows.Computer
EnabledTrue
Frequency14400
RemotableFalse

Object Discovery Details:

Discovered Classes and their attribuets:

Member Modules:

ID Module Type TypeId RunAs 
DS DataSource Microsoft.Windows.FilteredRegistryDiscoveryProvider Default

Source Code:

<Discovery ID="Microsoft.Dynamics.Nav.2013.WebServerRoleDiscovery" Target="Windows!Microsoft.Windows.Computer" Enabled="true" ConfirmDelivery="false" Remotable="true" Priority="Normal">
<Category>Discovery</Category>
<DiscoveryTypes>
<DiscoveryClass TypeID="Microsoft.Dynamics.Nav.2013.WebServerRole"/>
</DiscoveryTypes>
<DataSource ID="DS" TypeID="Windows!Microsoft.Windows.FilteredRegistryDiscoveryProvider">
<ComputerName>$Target/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<RegistryAttributeDefinitions>
<RegistryAttributeDefinition>
<AttributeName>WebServerRole70Installed</AttributeName>
<!-- Ideally we would like to check for an Installed value like for the Service, but it isn't available in NAV 2013 -->
<Path>SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{00000000-0000-7000-0000-0100F5DFFF46}</Path>
<PathType>0</PathType>
<AttributeType>0</AttributeType>
</RegistryAttributeDefinition>
<RegistryAttributeDefinition>
<AttributeName>WebServerRole71Installed</AttributeName>
<Path>SOFTWARE\Microsoft\Microsoft Dynamics NAV\71\Web Client\Installed</Path>
<PathType>1</PathType>
<AttributeType>2</AttributeType>
</RegistryAttributeDefinition>
</RegistryAttributeDefinitions>
<Frequency>14400</Frequency>
<ClassId>$MPElement[Name="Microsoft.Dynamics.Nav.2013.WebServerRole"]$</ClassId>
<InstanceSettings>
<Settings>
<Setting>
<Name>$MPElement[Name="Windows!Microsoft.Windows.Computer"]/PrincipalName$</Name>
<Value>$Target/Property[Type="Windows!Microsoft.Windows.Computer"]/PrincipalName$</Value>
</Setting>
</Settings>
</InstanceSettings>
<Expression>
<Or>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="Boolean">Values/WebServerRole70Installed</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="Boolean">true</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="Integer">Values/WebServerRole71Installed</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="Integer">1</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</Or>
</Expression>
</DataSource>
</Discovery>