Discover TFS Analysis Services

TeamFoundationServer2008.DiscoverTFSAnalysisServices (Discovery)

Discover TFS Analysis Services

Knowledge Base article:

Summary

This rule discovers the SQL Server Analysis Services instance which is part of TFS

Element properties:

TargetMicrosoft.SQLServer.2005.AnalysisServices
EnabledTrue
Frequency900
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="TeamFoundationServer2008.DiscoverTFSAnalysisServices" Enabled="true" Target="MicrosoftSQLServer2005Discovery!Microsoft.SQLServer.2005.AnalysisServices" ConfirmDelivery="false" Remotable="true" Priority="Normal">
<Category>Discovery</Category>
<DiscoveryTypes>
<DiscoveryClass TypeID="TeamFoundationServer2008.TFSAnalysisServices"/>
</DiscoveryTypes>
<DataSource ID="DS" TypeID="Windows!Microsoft.Windows.TimedScript.DiscoveryProvider">
<IntervalSeconds>900</IntervalSeconds>
<SyncTime/>
<ScriptName>DskTFS-SSAS.vbs</ScriptName>
<Arguments>$MPElement$ $Target/Id$ $Target/Property[Type="MicrosoftSQLServerLibrary!Microsoft.SQLServer.AnalysisServices"]/ServiceName$ $Target/Property[Type="MicrosoftSQLServerLibrary!Microsoft.SQLServer.AnalysisServices"]/Version$ $Target/Property[Type="MicrosoftSQLServerLibrary!Microsoft.SQLServer.AnalysisServices"]/Edition$ $Target/Property[Type="MicrosoftSQLServerLibrary!Microsoft.SQLServer.AnalysisServices"]/InstallPath$ $Target/Property[Type="MicrosoftSQLServerLibrary!Microsoft.SQLServer.ServerRole"]/InstanceName$ $Target/Property[Type="System!System.Entity"]/DisplayName$ $Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/PrincipalName$</Arguments>
<ScriptBody><Script>Dim Explcit

Dim oArgs
Set oArgs = WScript.Arguments
if oArgs.Count &lt; 9 Then
Wscript.Quit -1
End If

Dim oInst
Dim vServiceName, vVersion, vEdition, vInstallPath, vInstanceName, vDisplayName,vPrincipalName

vSourceId = oArgs(0) '$MPElement$
vManagedEntityId = oArgs(1) '$Target/Id$

vServiceName = "$Target/Property[Type="MicrosoftSQLServerLibrary!Microsoft.SQLServer.AnalysisServices"]/ServiceName$"
vVersion= "$Target/Property[Type="MicrosoftSQLServerLibrary!Microsoft.SQLServer.AnalysisServices"]/Version$"
vEdition = "$Target/Property[Type="MicrosoftSQLServerLibrary!Microsoft.SQLServer.AnalysisServices"]/Edition$"
vInstallPath = "$Target/Property[Type="MicrosoftSQLServerLibrary!Microsoft.SQLServer.AnalysisServices"]/InstallPath$"
vInstanceName = "$Target/Property[Type="MicrosoftSQLServerLibrary!Microsoft.SQLServer.ServerRole"]/InstanceName$"
vDisplayName = "$Target/Property[Type="System!System.Entity"]/DisplayName$"
vPrincipalName = "$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/PrincipalName$"


Set oAPI = CreateObject("MOM.ScriptAPI")
set oDiscoveryData = oAPI.CreateDiscoveryData(0, vSourceId, vManagedEntityId)


'Call TraceLogMessage("Creating Class Instance: TFSAnalysisServices")
set oInst = oDiscoveryData.CreateClassInstance("$MPElement[Name='TeamFoundationServer2008.TFSAnalysisServices']$")
call oInst.AddProperty("$MPElement[Name='MicrosoftSQLServerLibrary!Microsoft.SQLServer.AnalysisServices']/ServiceName$",vServiceName)
call oInst.AddProperty("$MPElement[Name='MicrosoftSQLServerLibrary!Microsoft.SQLServer.AnalysisServices']/Version$",vVersion)
call oInst.AddProperty("$MPElement[Name='MicrosoftSQLServerLibrary!Microsoft.SQLServer.AnalysisServices']/Edition$",vEdition)
call oInst.AddProperty("$MPElement[Name='MicrosoftSQLServerLibrary!Microsoft.SQLServer.AnalysisServices']/InstallPath$",vInstallPath)
call oInst.AddProperty("$MPElement[Name='MicrosoftSQLServerLibrary!Microsoft.SQLServer.ServerRole']/InstanceName$",vInstanceName)
call oInst.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$",vDisplayName)
call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$",vPrincipalName)

'Call TraceLogMEssage("TFSAnalysisServices: Adding instance Data")
call oDiscoveryData.AddInstance(oInst)
Call oAPI.Return(oDiscoveryData)



Function TraceLogMessage(ByVal sMessage)
Dim lsEventInformation
WScript.Echo sMessage
' Retrieve the name of this (running) script
Dim FSO, ScriptFileName
Set FSO = CreateObject("Scripting.FileSystemObject")
ScriptFileName = FSO.GetFile(WScript.ScriptFullName).Name
Set FSO = Nothing

On Error Resume Next
Dim oAPITemp
Set oAPITemp = CreateObject("MOM.ScriptAPI")
lsEventInformation = 3
oAPITemp.LogScriptEvent ScriptFileName, 4000, lsEventInformation, sMessage
On Error Goto 0
End Function</Script></ScriptBody>
<TimeoutSeconds>360</TimeoutSeconds>
</DataSource>
</Discovery>