PostgreMP.Windows.TableDiscovery (Discovery)

Element properties:

TargetPostgreMP.Windows.Database
EnabledTrue
Frequency144000
RemotableFalse

Object Discovery Details:

Discovered Classes and their attribuets:

Member Modules:

ID Module Type TypeId RunAs 
DS DataSource Microsoft.Windows.TimedScript.DiscoveryProvider Default

Source Code:

<Discovery ID="PostgreMP.Windows.TableDiscovery" Enabled="true" Target="PostgreMP.Windows.Database" ConfirmDelivery="false" Remotable="true" Priority="Normal">
<Category>Discovery</Category>
<DiscoveryTypes>
<DiscoveryClass TypeID="PostgreMP.Windows.Table"/>
</DiscoveryTypes>
<DataSource ID="DS" TypeID="Windows!Microsoft.Windows.TimedScript.DiscoveryProvider">
<IntervalSeconds>144000</IntervalSeconds>
<SyncTime/>
<ScriptName>PostgresdbDiscovery.vbs</ScriptName>
<Arguments>$MPElement$ $Target/Id$ $Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/PrincipalName$ $Target/Property[Type="PostgreMP.Windows.Database"]/Dbname$</Arguments>
<ScriptBody><Script>
Option Explicit

Dim SourceId, ManagedEntityId, sComputerName, DbName
SourceId = WScript.Arguments(0)
ManagedEntityId = WScript.Arguments(1)
sComputerName = WScript.Arguments(2)
DbName = WScript.Arguments(3)

Dim oAPI
Set oAPI = CreateObject("MOM.ScriptAPI")
Dim oDiscoveryData
Set oDiscoveryData = oAPI.CreateDiscoveryData(0, SourceId, ManagedEntityId)

On Error Resume Next


Dim conn
Set conn= CreateObject("ADODB.Connection")
conn.Open "Provider=MSDASQL.1;Data Source=PostgreSQL30;Database="&amp;DbName
Dim version

Dim rs
Set rs = CreateObject("ADODB.recordset")
'---&gt;db version
rs.Open "SELECT table_name,Current_Database() FROM information_schema.tables Where table_schema='public'", conn

do until rs.EOF
version = rs.Fields(0).value
Dim oInstance
Set oInstance = oDiscoveryData.CreateClassInstance("$MPElement[Name='PostgreMP.Windows.Table']$")
Call oInstance.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", sComputerName)
Call oInstance.AddProperty("$MPElement[Name='PostgreMP.Windows.Database']/Dbname$", DbName)
Call oInstance.AddProperty("$MPElement[Name='PostgreMP.Windows.Table']/Dbname$", DbName)
Call oInstance.AddProperty("$MPElement[Name='PostgreMP.Windows.Table']/TableName$", version)
Call oInstance.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", version)
Call oDiscoveryData.AddInstance(oInstance)
rs.MoveNext
loop
rs.close

conn.Close
Call oAPI.Return(oDiscoveryData)
</Script></ScriptBody>
<TimeoutSeconds>300</TimeoutSeconds>
</DataSource>
</Discovery>