MSSQL 2016: General Custom User Policy Discovery

Microsoft.SQLServer.2016.AlwaysOn.GeneralUserPolicyDiscovery (Discovery)

Discovery of Custom User Policies for Always On objects. Note: This discovery is disabled by default. Please use overrides to enable it when necessary.

Knowledge Base article:

Summary

This is main discovery of Custom User Policies for Microsoft SQL Server 2016 Always On objects including Availability Groups, Availability Replicas and Database Replicas

Overrideable Parameters

Name

Description

Default Value

Enabled

Enables or disables the workflow.

No

Interval (seconds)

The recurring interval of time in seconds in which to run the workflow.

14400

Timeout (seconds)

Specifies the time the workflow is allowed to run before being closed and marked as failed.

300

Element properties:

TargetMicrosoft.SQLServer.2016.AlwaysOn.AvailabilityGroupHealth
EnabledFalse
Frequency14400
RemotableFalse

Object Discovery Details:

Discovered Classes and their attribuets:

Member Modules:

ID Module Type TypeId RunAs 
PowerShellDiscoveryProvider DataSource Microsoft.SQLServer.2016.AlwaysOn.UserPolicyDataSource Microsoft.SQLServer.DiscoveryAccount

Source Code:

<Discovery ID="Microsoft.SQLServer.2016.AlwaysOn.GeneralUserPolicyDiscovery" Enabled="false" Target="Microsoft.SQLServer.2016.AlwaysOn.AvailabilityGroupHealth" ConfirmDelivery="false" Remotable="true" Priority="Normal">
<Category>Discovery</Category>
<DiscoveryTypes>
<DiscoveryClass TypeID="Microsoft.SQLServer.2016.AlwaysOn.AvailabilityGroupErrorUserPolicy"/>
</DiscoveryTypes>
<DataSource ID="PowerShellDiscoveryProvider" RunAs="GPMP!Microsoft.SQLServer.DiscoveryAccount" TypeID="Microsoft.SQLServer.2016.AlwaysOn.UserPolicyDataSource">
<InstanceName>$Target/Property[Type="Microsoft.SQLServer.2016.AlwaysOn.AvailabilityGroupHealth"]/InstanceName$</InstanceName>
<IntervalSeconds>14400</IntervalSeconds>
<TimeoutSeconds>300</TimeoutSeconds>
</DataSource>
</Discovery>