How to add software product license keys to an Asset Management Software Purchase or Computer as a custom data class

book

Article ID: 181047

calendar_today

Updated On:

Products

Asset Management Solution

Issue/Introduction

 

Resolution

Asset Management 7.x does not have any out of box functionality to track software product license keys and which computers these are used by. A way to implement this can be to create a custom data class to hold this data. This article provides instructions on how this can be implemented.

Please Note:
As the instructions in this article are for a customization to add new functionality to Asset Management, Symantec Technical Support is unable to help assist the user with implementing or troubleshooting this beyond providing basic guidance on how this works. As this is considered a consulting request, please contact Symantec Consulting Services at http://www.symantec.com/it-consulting-services to obtain assistance for implementing these instructions.  Note: A request for this type of functionality has been added as a product feature enhancement request to Development via Etrack 2923292. It is undetermined at this time if this will or will not become an out of box feature in a future version of Asset Management. Until then, the instructions in this article provide the only way to add this custom functionality.
 

  1. Create a new custom data class to hold the data for software product keys. This can then be added to a Software Purchase or Computer resource, or to any desired resource type. Note: Custom data classes are completely stand-alone and other areas in the Symantec Management Platform will not recognize these. For example, if a custom data class is added to a software purchase, receiving computers on it will not carry over the custom data class to the computer resources. Also, out of box reports will not display the custom data class without being modified.

    Follow these steps for Asset Management 7.x:

    a. In the Symantec Management Platform Console, click on the Settings button > All Settings.
    b. Click on Service and Asset Management > Resource and Data Class Settings > Data Classes > Contract Data Classes.
    c. Right click on the Contract Data Classes folder and choose New > Editable Data Class.
    d. Enter a value for the Name field, such as "License Keys for a Software Purchase".
    e. Leave the Multiple Rows field checked and enabled. Note: If only one license key is desired to be used, disable Multiple Rows.
    f. Click on the "Add new attribute" button.
    g. Enter a value for the Name field, such as "License Keys"
    h. Leave all the other fields as defaults, unless this is to be a required field, then click to select Required.
    i. Click on the OK button.
    j. Click on the "Save changes" button.

    Follow these steps for Asset Management 6.5:

    a. In the Altiris Console, click on the Configuration tab (or if using the Altiris Console 6.5, click on the View menu > Configuration).
    b. Click on Resource Settings > Data Classes > User Defined.
    c. Right click on the User Defined folder and choose New > Editable Data Class.
    d. Enter a value for the Name field, such as "License Keys for a Software Purchase".
    e. Click to enable the Multiple Rows field. Note: If only one license key is desired to be used, disable Multiple Rows.
    f. Click on the Add New Attribute button.
    g. Enter a value for the Name field, such as "License Keys"
    h. Leave all the other fields as defaults, unless this is to be a required field, then click to select Required.
    i. Click on the OK button.
    j. Click on the Create button.
     
  2. Add the new custom data class to the desired resource type.

    Follow these steps for Asset Management 7.x:

    a. While still in in the Symantec Management Platform Console from Step 1, and in All Settings, click on Service and Asset Management > Resource and Data Class Settings > Resource Types, find and select the desired resource type.
    b. Click on the "Add data classes" button.
    c. In the Items Selector window, click on Data Classes > Contract Data Classes > License Keys for a Software Purchase, the name given to the custom data class in Step 1.
    d. Click on the Save Changes button.
    e. Click on the "Save changes" button for the resource.

    Follow these steps for Asset Management 6.5:

    a.  While still in in the Altiris Console from Step 1, and in Configuration, click on Resource Settings > Resource Types, find and select the desired resource type.
    b. Click on the Add Data Classes button.
    c. In the Items Selector window, click on Resource Settings > Data Classes > User Defined > License Keys for a Software Purchase, the name given to the custom data class in Step 1.
    d. Click on the Apply button.
    e. Click on the Apply button for the resource.
     
  3. Create or edit the desired resource type.
  4. Under the new section "License Keys", click on the Add button to add license keys one a a time. Click on Remove to remove any unwanted ones. Note: Updating of this custom data class must be manually performed by the user as there is no out of box method to update, change or remove its value(s).
  5. When done editing, click on the Apply button.
     

Concerns and Limitations
 

  • As previously mentioned, the user is responsible for manually updating, changing or deleting software product license keys on the resources the custom data class has been added to. If the data is shared across multiple resources or needed to be seen on various reports, this further compounds the amount of effort needed to ensure the data is accurate everywhere it appears at. Leveraging a CMDB or Data Connector rule may help automate this to some degree. This article does not cover how these may be implemented.
  • There is no out of box method  to track which computer has a software product compared to if it has a custom data class "authorizing" it to use the software product. Asset Management includes the ability to set authorized computers by using a software license's Authorized Clients list, but which cannot take into account a custom data class for this. A further customization to these instructions can then be to clone and modify an Inventory Solution report, such as Reports > Discovery and Inventory > Inventory > Cross-platform > Software/Applications > Software > Installed Software or Installed Software by Computer, and then adding the custom data class into that. Further logic could be added, such as if the custom data class is blank, and a computer is listed showing it has the software product, this could then be seen as being an "unauthorized" install. This article does not cover how to customize a report to do this, but it does include some suggestions, found below:

    * The following Inventory Solution SQL script could be used as a basis for a custom report. This lists installed software products, the computers they are found on, and who their user is and their email address and telephone number.

    USE Symantec_CMDB
    SELECT iifd.Name AS 'Product Name', ifd.FileSize 'File Size', Path, vComputer.Name AS 'Computer', vComputer.Domain + '\' + vComputer.[User] AS
    'User', vUser.[Office Location], vUser.Email, vUser.[Office Telephone]
    FROM Inv_Installed_File_Details iifd
    JOIN vComputer
    ON _ResourceGuid = Guid
    JOIN vUser
    ON vComputer.Domain = vUser.Domain
    AND vComputer.[User] = vUser.Name
    JOIN Inv_File_Details ifd
    ON iifd.FileResourceGuid = ifd._ResourceGuid
    WHERE iifd.Name LIKE '%.exe%'
    ORDER BY iifd.Name
     
  • Custom data classes are accessed in SQL (such as for a custom report) by the following naming convention: Inv_Custom_Data_Class_Name. For example, if a custom data class is named "License Keys for a Software Purchase", this will create a new table called Inv_License_Keys_for_a_Software_Purchase. Its GUID column references the GUID of the parent resource it is tied to, such as a computer GUID. References to this can then be easily inserted into a cloned/custom report, such as:

    SELECT (fields, where the SQL script is setting up the SELECT statement, followed normally by numerous JOIN statements)
    FROM (table or view, such as vAsset>

    --> Inserted new join:
    LEFT JOIN Inv_License_Keys_for_a_Software_Purchase icust
    ON icust.Guid = va._ResourceGuid

    Any column name can then be added into the SELECT column list after the JOIN is made.
     
  • Software compliancy does not enforce which users can install or use software. This is covered in the below article:

    Can Asset Management control which users can install or use software?
    http://www.symantec.com/business/support/index?page=content&id=HOWTO95445
     
  • Lastly, Asset Management is not a license server. Meaning, it does not control licenses for third party products. For example, it cannot dole out a Word license on-demand by the client. This type of functionality is beyond the scope of Altiris and Asset Management.


Related Articles

Best practices for retiring a computer
http://www.symantec.com/business/support/index?page=content&id=HOWTO95111

How to use the CMDB task "Inventory Clean Up"
http://www.symantec.com/business/support/index?page=content&id=HOWTO95110

How to configure, use and troubleshoot Asset Management 6.5 Win32 Licenses
http://www.symantec.com/business/support/index?page=content&id=HOWTO74410