Introduction:
The Unknown Software Handler tool was created based on customer needs to gain clarity on their Software Inventory data and to categorise the myriad of unknown software components that relate to a software installation into a Software Product in an automated and reliable manner. A secondary aim is to help consolidate customer data into a Definitive Software Library if possible.
Usage overview:
For safety reasons and to ensure no unwanted Software Product are created the tool uses a 3 steps process, shown below:
Phase 1: of the process is the export of the Unknown Software Component list and the corresponding Software Product to be created to a CSV output file.
Phase 2: is the manual review and tweaking steps taken by the Software Catalog administrator to ensure components that are used to create product match the user needs.
Phase 3: is the import process at which time a Software Product will be created and associated with the specified component, company and version. The Software component is then marked as managed.
The tool has an extensive set of command line (run with /? for details) that should cater for most needs, however you can always contact the author for feature implementation and important bug fixes.
Full command line help message:
Unknown Software Handler version 0.8 Generic commands: /? Displays this help message /createdictionnary Write a sample UTF-8 dictionnary file named dictionnary.txt. You can then this file to normalise the product names and remove unwanted string that can be language or component specific. EXPORT commands: Phase 1 of any automated product creation requires the output from the unknown software component details to a CSV format for administrator validation. This is to ensure that the created product have been reviewed and that the products to be created can be reviewed before they are committed to the Symantec CMDB. By default the tool will output data to a UTF-8 CSV file (with headers) named output.csv. The following command line is required for the export process to start: /export Start the export process. If no other command line arguments are provided the export will use the Major version mode (as if using /version_major). The following command lines arguments are available for this export: /exportfile= /productname= This will force the output to output the string instead of the computed name from the SQL results. This is useful if you want to group many unwanted components into a product for example. /dictionnary= The provided dictionnary file will be used instead of the default file (if found in both cases). /corpname= Match this string with the Company Name associated with the software component to be exported. Note that this is an equality match. /corpfilter= You can use SQL wildcard to specify which company(ies) should be exported. Wildcard as % to match a string of any length and _ to match a single string. /nullcorp Export components fro which a company does not exist yet. /nullcorp= Export components fro which a company does not exist yet and set it to >catchall company name> in the output file. /componentfilter= You can use SQL wildcard to specify which components should be exported. Wildcard as % to match a string of any length and _ to match a single string. /version_none Remove any version data based on the Inv_Software_Component.Version field. In all cases the Software Product and product filter will not contain any version. If the version is not available the product name will use the component name as is. If the version is not the same in the component name as in the Inv_Software_Component.Version table the product name will use the component name as is. If the version is present in the software component name it will be remove before it is used as the product name. /version_major Use the data from Inv_Software_Component.MajorVersion as the product and filter version string. If the version is not available the product name will use the component name as is. If the version is not the same in the component name as in the Inv_Software_Component.Version table the product name will use the component name as is. If the version is present in the software component name it will be replaced by the MajorVersion before it is used as the product name. /version_majorminor Use the data from Inv_Software_Component.MajorVersion and the Inv_Software_Component.MinorVersion separated by a dot as the product and filter version string. If the version is not available the product name will use the component name as is. If the version is not the same in the component name as in the Inv_Software_Component.Version table the product name will use the component name as is. If the version is present in the software component name it will be replaced by the compound MajorVersion.MinorVersion before it is used as the product name. /version_exact Use the data from Inv_Software_Component.Version as the product and filter version string. The Software Product is created with the Component name as-is. IMPORT commands: Phase 2 of the tool requires an input.csv file to be placed in the running folder following the csv schema provided during the export phase. The following command line is required for the import process to start: /import Start the import and creation process. If no other command line arguments are provided the import run for each line in the input file. The following command line allow you to control the input and actions taken by the tool: /importfile= Specify a custom location for the input file. /dryrun Do not create any software product, simply output the data to the console. /testrun Run the import / creation process for up to 10 components / products and exits. /productname= This will force the import process to use string instead of the name from the CSV file. This is useful if you want to group many unwanted components into a product for example.
Conclusion:
With this tool you will be able to validate the product creation and automate it without having to go thru endless point-and-click procedure on the Software Catalog user interface. This should also help you reduce the count of unmanaged product and ensure that your software catalog and inventory data are tightly paired to allow you to manage the software installations, upgdates or upgrades from the comfort of the ITMS console.
Article History:
[1] Uploaded Version 1.1 of the tool for 7.6 and 8.0.