Adding 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 SolutionIT Management SuiteAsset Management Suite
Issue/Introduction
Asset Management 8.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.
Environment
ITMS 8.x
Resolution
Asset Management 8.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, Broadcom 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 KB 175179 "Contacting Symantec Professional Services for consulting and training" to obtain assistance for implementing these instructions. The instructions in this article provide the only way to add this custom functionality.
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 8.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.
Add the new custom data class to the desired resource type.
Follow these steps for Asset Management 7.x/8.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.
Create or edit the desired resource type.
Under the new section "License Keys", click on the Add button to add license keys one at 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).
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, these 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 list 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:
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.