PostgreMP.Windows.ApplDiscovery

PostgreMP.Windows.ApplDiscovery (Discovery)

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.TimedScript.DiscoveryProvider Default

Source Code:

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

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

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

Dim oShell, entry
On Error Resume Next

Set oShell = CreateObject("WScript.Shell")
entry = oShell.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\PostgreSQL\Installations\")
If Err.Number Then
'Err.Clear
'Wscript.Quit -1
'RegKeyExists = False
Else
Err.Clear
Dim conn
Set conn= CreateObject("ADODB.Connection")
conn.Open "Provider=MSDASQL.1;Data Source=PostgreSQL30;"
Dim version

Dim rs
Set rs = CreateObject("ADODB.recordset")
'---&gt;db version
rs.Open "Select version()", conn

do until rs.EOF
version = rs.Fields(0).value
rs.MoveNext
loop
rs.close

Dim oInstance
Set oInstance = oDiscoveryData.CreateClassInstance("$MPElement[Name='PostgreMP.Windows.Application']$")
Call oInstance.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", sComputerName)
Call oInstance.AddProperty("$MPElement[Name='PostgreMP.Windows.Application']/Info$", version)
Call oInstance.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", "PostgreSQL")
Call oDiscoveryData.AddInstance(oInstance)
conn.Close
End If
Call oAPI.Return(oDiscoveryData)
</Script></ScriptBody>
<TimeoutSeconds>300</TimeoutSeconds>
</DataSource>
</Discovery>