Importing Software Related to Computers via CSV

As a follow on post to the post on Importing Computers via CSV, I wanted to also share with you the method for importing information about the software installed on those computers.  Neil Lydick, one of the developers on our team, put together the resources you’ll need:

  • A management pack file that defines a new type projection.
  • A data mapping file for software and software updates.
  • A sample data file.

You’ll need to import the management pack file into SCSM first since the mapping file depends on it to import the data correctly.

Keep in mind that the System.SoftwareItem class has a compound key comprised of these five properties:

  1. Publisher
  2. ProductName
  3. VersionString
  4. IsVirtualApplication
  5. LocaleID

Each unique combination of those represents a new Software Item.  If you import a data file with this data:

Computer’s Principal Name Publisher Version String Product Name Is Virtual Application Locale ID
mycomputer1.mydomain.com Microsoft 1.0.0.0 Office Word false 1033
mycomputer1.mydomain.com Microsoft Corporation 1.0.0.0 Office Word false 1033
mycomputer2.mydomain.com Microsoft 1.0.0.0 Office Word false 1033

You will get 2 instances of Software Item – one for the one published by ‘Microsoft’ and another one published by ‘Microsoft Corporation’.  Because the first and third rows have the exact same values for all the key properties the third row will just create a new relationship between mycomputer2 and the software title that will already exist because it was created by importing the first row.

Note: If a Windows computer with the principal name specified does not already exist a new one will be created.

Software Update also has a compound key comprised of the following two properties:

  1. Title
  2. Vendor

Attached are the necessary files.

SoftwareCSVImport.zip