Quantcast
Channel: Symantec Connect - Client Management Suite - Discussions
Viewing all articles
Browse latest Browse all 2021

Vb Script Custom Inventory

$
0
0
I need a solution

I need a vb script for a custom inventory on TPM.  I have a working script to geives me the results I need IF the pc has TPM activated.  However, if it is set to deactivat, then the script reurns no results and in the databse I get nulls.  The problem is, if I run the script against a pc that is not connected , I also get  no results and nulls in db.  I had posted the script on Stack Overflow and was given an IF statement to include.  However, it does not post the results as 'not applicable". Hoping Symantec can see what the issue is so I can complete this.  This is the working script (which does not work  on a pc that does not have TPM activated:

'===================================================================================================================

strComputer = "."

Set objWMIService = GetObject("winmgmts:\\"& strComputer & "\root\CIMV2\Security\MicrosoftTpm")

Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_Tpm", "WQL", wbemFlagReturnImmediately + wbemFlagForwardOnly)

'===================================================================================================================

'Create instance of Altiris NSE component

'===================================================================================================================

'Create instance of Altiris NSE component

dim nse

set nse = WScript.CreateObject ("Altiris.AeXNSEvent")

' Set the header data of the NSE

nse.To = "{1592B913-72F3-4C36-91D2-D4EDA21D2F96}"

nse.Priority = 1

'Create Inventory data block. Here assumption is that the data class with below guid is already configured on server

dim objDCInstance

'Modify this class guid to match the one generated when you create the custom data class

set objDCInstance = nse.AddDataClass ("{fb2182e6-f2db-4c62-8d0f-190dca8723c5}")

dim objDataClass

set objDataClass = nse.AddDataBlock (objDCInstance)

For each objInfo in colItems

dim objDataRow

set objDataRow = objDataClass.AddRow

WScript.Echo objInfo.IsActivated_InitialValue

WScript.Echo objInfo.IsEnabled_InitialValue

WScript.Echo objInfo.IsOwned_InitialValue

WScript.Echo objInfo.ManufacturerId

WScript.Echo objInfo.ManufacturerVersion

WScript.Echo objInfo.ManufacturerVersionInfo

WScript.Echo objInfo.PhysicalPresenceVersionInfo

WScript.Echo objInfo.SpecVersion

objDataRow.SetField 0, objInfo.IsActivated_InitialValue

objDataRow.SetField 1, objInfo.IsEnabled_InitialValue

objDataRow.SetField 2, objInfo.IsOwned_InitialValue

objDataRow.SetField 3, objInfo.ManufacturerId

objDataRow.SetField 4, objInfo.ManufacturerVersion

objDataRow.SetField 5, objInfo.ManufacturerVersionInfo

objDataRow.SetField 6, objInfo.PhysicalPresenceVersionInfo

objDataRow.SetField 7, objInfo.SpecVersion

Next

nse.SendQueued

'===================================================================================================================

This is the script that is supposed to ouput Not applicable but doesn't:

'===================================================================================================================

strComputer = "."

Set objWMIService = GetObject("winmgmts:\\"& strComputer & "\root\CIMV2\Security\MicrosoftTpm")

Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_Tpm", "WQL", wbemFlagReturnImmediately + wbemFlagForwardOnly)

'===================================================================================================================

'Create instance of Altiris NSE component

'===================================================================================================================

'Create instance of Altiris NSE component

dim nse

set nse = WScript.CreateObject ("Altiris.AeXNSEvent")

' Set the header data of the NSE

nse.To = "{1592B913-72F3-4C36-91D2-D4EDA21D2F96}"

nse.Priority = 1

'Create Inventory data block. Here assumption is that the data class with below guid is already configured on server

dim objDCInstance

'Modify this class guid to match the one generated when you create the custom data class

set objDCInstance = nse.AddDataClass ("{fb2182e6-f2db-4c62-8d0f-190dca8723c5}")

dim objDataClass

set objDataClass = nse.AddDataBlock (objDCInstance)

dim objDataRow

If colItems.Count > 0 Then
     For each objInfo in colItems
      set objDataRow = objDataClass.AddRow

 objDataRow.SetField 0, objInfo.IsActivated_InitialValue
        objDataRow.SetField 1, objInfo.IsEnabled_InitialValue
        objDataRow.SetField 2, objInfo.IsOwned_InitialValue
        objDataRow.SetField 3, objInfo.ManufacturerId
        objDataRow.SetField 4, objInfo.ManufacturerVersion
        objDataRow.SetField 5, objInfo.ManufacturerVersionInfo
        objDataRow.SetField 6, objInfo.PhysicalPresenceVersionInfo
        objDataRow.SetField 7, objInfo.SpecVersion
    Next

Else

    Set objDataRow = objDataClass.AddRow

    objDataRow.SetField 0, "Not Applicable"
    objDataRow.SetField 1, "Not Applicable"
    objDataRow.SetField 2, "Not Applicable"
    objDataRow.SetField 3, "Not Applicable"
    objDataRow.SetField 4, "Not Applicable"
    objDataRow.SetField 5, "Not Applicable"
    objDataRow.SetField 6, "Not Applicable"
    objDataRow.SetField 7, "Not Applicable"

End If

objDataRow.SetField 0, objInfo.IsActivated_InitialValue

objDataRow.SetField 1, objInfo.IsEnabled_InitialValue

objDataRow.SetField 2, objInfo.IsOwned_InitialValue

objDataRow.SetField 3, objInfo.ManufacturerId

objDataRow.SetField 4, objInfo.ManufacturerVersion

objDataRow.SetField 5, objInfo.ManufacturerVersionInfo

objDataRow.SetField 6, objInfo.PhysicalPresenceVersionInfo

objDataRow.SetField 7, objInfo.SpecVersion

nse.SendQueued

'===================================================================================================================

0

Viewing all articles
Browse latest Browse all 2021

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>