Question: I can't find where Asset Management, using Software Compliance, lists the available Software License count for each license. Is this listed somewhere? Answer: Asset Management does not track or list how many Software Licenses are available. Instead, it totals all Software Purchase Quantities for the Software Product. This works in the following way:
A Software Purchase is first created, which includes the Quantity of how many of the Software Product was purchased. For example, 10.
A Software License is next created, which links to the Software Purchase. This also links to the Software Product, such as Adobe 9.
Inventory Solution's plug-in is used to gather software data from computers using its Hardware Policy. For example, this may show Adobe 9 installed 3 times.
Asset Management's Software Product Licensing Recalculation Operation Task is then ran. This updates Software Compliance data that can then be used in reports, etc. Note: This task should be scheduled by the user to run periodically to automatically update Software Compliance data, which is never real-time in the database.
Manage > Software or Software Compliance reports can finally be reviewed to check Software Compliance, such as Reports > Service and Asset Management > Contract Management > Software Licensing > Software Product Licensing Compliance. Such reports will show the Software Product, its total purchases, and how many installs are in compliance. For our above examples, this would show Purchased 10, Installed 3, Compliance 7, meaning, there are 7 available "licenses" for Adobe 9 that can still be used. Note: Asset Management 7.5 includes a new Software Compliance report, Software Product Licensing Compliance by Location, which can further break down Software Compliance by the Software Purchase and Compute Location, if these have been configured. While this still doesn't list how many Software Licenses are available, it can help to more easily keep track of what Software Products are being used in which Location.
Using Software Compliance with Authorized Client lists
Software Compliance does not take into account Authorized Client lists as it counts the total Quantities of Software Purchases for the Software Product, not per Software License, for the Software Product Licensing Compliance report. There is no feature in the Symantec Management Platform that can do this as Asset Management is not designed to work like this, as described above. It's possible, however, to theoretically obtain this data by using a SQL script that could then be used in a custom report. The following information is provided "AS IS" as a convenience to the customer, that they may be able to make use of this on their own or via a consultant, to devise their own new functionality.
Basic Software Compliance SQL script
A SQL script would need to evaluate many Software Compliance-related tables and views in the Altiris database. These can include the following:
vContract_SoftwareLicensePurchases. This is the main view to check, as only Software Licenses that are linked to Software Purchases and Software Products are listed here. (Without all of those being tied together, Software Compliance cannot work for that Software Product.)
ResourceAssociation. This must be evaluated to obtain the related Software Management Software Product GUID to compare against Asset Management's Software Product Guid from vContract_SoftwareLicensePurchases view.
Inv_InstalledSoftware. Lists installed software as found by Inventory Solution's Hardware Policy. If InstallFlag = 1, then the Software Product is installed on the specified computer.
The following is an example of how to use all of these tables and views together:
USE Symantec_CMDB SELECT slp.SoftwareProductGuid, slp.SoftwarePurchaseGuid, spur.[Purchase Date], spur.Quantity, slp.SoftwareLicenseGuid, iis._SoftwareComponentGuid FROM vContract_SoftwareLicensePurchases slp JOIN vSoftwarePurchase spur ON spur._ResourceGuid = slp.SoftwarePurchaseGuid LEFT JOIN ResourceAssociation ra ON ra.ParentResourceGuid = slp.SoftwareProductGuid AND ra.ResourceAssociationTypeGuid = '9D67B0C6-BEFF-4FCD-86C1-4A40028FE483' LEFT JOIN Inv_InstalledSoftware iis ON ra.ChildResourceGuid = iis._SoftwareComponentGuid AND iis.InstallFlag = 1 WHERE slp.SoftwareLicenseGuid = slp.SoftwareLicenseGuid
Authorized Clients SQL information
The output of the first SQL script would then need to evaluate Authorized Client lists from their related tables and views. These can include the following. Note: Because of the increasing complexity of what is needed in SQL, this article does not further go into detail about how to continue to elaborate on writing SQL scripts to further accomplish the following information's goals.
Inv_Authorized_Clients. Lists the Software License and its Authorized Client lists (filter GUIDs).
CollectionMembership. Lists which computers are part of a specific filter.
By evaluating these tables and views, it can be found which computers from which Authorized Client (filter) lists from which Software License are "consuming" licenses for Software Products. However, the key problem with this is that this does not take into account any unauthorized installs that are in the same area that the authorized installs are in. For example, if an Authorized Client list was based on a location or organizational group, this would show, for example, Adobe 9 installed and in compliance 3 times from a total of 10 licenses. However, it does not show if any unauthorized computers in the same location or organizational group are also installed with Adobe 9, which makes this entire process meaningless because it's more likely than not that there are some unauthorized installs.
Theoretically then, the SQL script would need to evaluate computers based on their location or organizational group, and then compare that list with the Authorized Client list, finally then deriving which are authorized and which are not, to then more or less determine how many "licenses" are available at that location or organizational group.
Beyond this SQL script customization, customers may find it easier to use out of box reports to check installed software reports or adapt these to include locations or organizational groups. For example, the Installed Software by Computer report could be customized to show the computer's Location field. This data could then be cross-referenced by the Software Purchase's Location. But as there is no simple way to tell, geographically, which computers in an OU are consuming licenses, a fair amount of reporting would need to be utilized to determine this.
Note: The ability to track available licenses has been submitted to the Asset Management developers as a feature request for a possible inclusion in a future version of the product.