Skip navigation
All Places > Snow Product Hub > General Licensing Forums > Blog > 2018 > July
2018

Purpose

  • Define the high-level process and the steps required to carry out bulk computer archiving in Snow License Manager.
  • Provide an additional mechanism of control in respect to complying with internal company asset life cycle management policies.
  • Help save a significant amount of time ordinarily required to carry out this task manually on a machine by machine basis where there is a requirement to archive many machines in Snow on a periodic basis.

What is Archiving

Snow license manager provides two separate means of removing computer records from the Snow database using the Web UI.

Delete

Using the “Delete” option will permanently remove the computer record from the Snow database and there will be no further access to that computer inventory record in Snow.

Note: Choosing to delete instead of archiving will depend entirely on the needs of your business and should be detailed in your data retention policy so please ensure you refer to this prior to taking this action.

Archive

The Archive option will also perform the “Delete” function however, prior to the deletion it will take a point in time (POT) Snapshot of the machine records which it retains in the License Manager database as an archive record in case you need to refer to it in the future using the standard archived computer report available in Snow License Manager.

Note: Choosing to archive instead of deleting will depend entirely on the needs of your business and should be detailed in your data retention policy so please ensure you refer to this prior to taking this action.

Why Archive?

In short, computer assets will at some point of their lifecycle be permanently removed from the corporate network and disposed of for several reasons i.e. No longer supported, damaged, lost, replaced etc. If the computer records remain in Snow license manager and software applications are reported as installed and or in use on the respective computers, then they are consuming licenses not only for Snow but for those applications identified on the machines.

If you do not archive or delete these entries from Snow it will have a direct impact on the overall software license compliance position and in turn will have financial and potentially legal implications.

Refer to your organisations data retention policy as this will govern what records are kept and for how long.

Your company’s requirement to reference these archived computer records would typically arise either for audit, legal, security, transformation related activity or simply for historical reference purposes.

The high-level Process

Step 1 - Create a custom Field in Snow

You should only have to do this once, after that the field will always exist in the Snow custom field list unless it is removed as part of a manual clean-up process.

See screenshots below:

  • Click on Home --> Administration-->Custom fields

  • Click Add

  • Select the category -- ‘Computer/Mobile device’

  • Select the Type field – choose ‘Yes/No’
  • Type ‘Archive’ in the Name field – This will be the custom field name.
  • In the description field, you can add whatever test you feel appropriate here to help you identify why you have created this custom field. For this one a suggestion would be to add ‘Created to support bulk archiving of computers in Snow process. This adds a field against each computer in Snow with the ‘Archive’ yes or no option which can be updated manually one PC at a time or via a bulk import’.
  • Next add a check to the Mandatory field to enable it to be a mandatory item against each computer.
  • The last field provides you the option of choosing ‘Yes’ or ‘No’ for the default. In this case, it will be ‘No’ by default as the option. As we only want to add ‘Yes’ to the machines we want to archive.

Step 2 -Create Import Template

Create the excel import template – this is a simple two columns excel file using machine name and the custom field [Archive].

See sample below:

Step 3 – Create list of machines

Add the list of machines to the template – Insert all the machine names in the Computer name column and add the word Yes to the ‘[Archive]’ column.

See sample below:

Save this file with a unique name for audit purposes in the Archived computers folder with a date relevant to the date you are archiving the machines.

Don’t over write the template!

Step 4 – Start the Import

Start the import process.

  • go to [Home]--> [Import Data] and choose ‘Update Existing Computers’ option.

  • Then browse for the saved Archived computers list in the Archived computers folder you saved earlier as per step 3

  • Click Next

Since we are importing an update to existing computers, in Step 2 of 5 of the import process ensure that for the ‘New Organisation Action’ selection is set to ‘Do Nothing’ and that the ‘Obsolete computer action’ is also set to ‘Do nothing’

In the next stage, you will be asked to confirm the Field mappings and as there are only 2 fields that we are importing against i.e. ‘Computer Name’ and ‘[Archive]’ Snow will want to ensure that it maps correctly for the import so this stage will allow you to correct any Mapping errors.

In the screenshot below you will see what should happen at this stage of the process and how the fields should look.

The options – ‘Trim leading or trailing white space’ is for ensuring that you are not importing any whitespace as this will affect the way Snow locates the relevant computers you are trying to update so if you have copied the data into excel and there are potentially white spaces in the text then select this option to ensure better results and avoid repeating the process.

The option ‘Map by Index’ can be ignored but ensure there is no check in the box then click next

NOTE: Ensure that there are no other mappings in the field mapping section other than '[Archive]' to 'Archive'. The Computer name is already mapped in the Map identifiers section at the top of the screen as per the example screenshot. (Updated 06/08/2019)

  • Click Next.

The 4th stage of this import process will provide you a chance to preview and validate that the data you are importing and updating against will work and if any errors are identified i.e. if the computer name you are trying to update in Snow through this import is not found in the Snow computers list, then it will show up as an error at this point.

See example below:

If errors do exist, then you can take note of these now and complete the import process and deal with the errors separately or cancel the import and correct the problems then start the import process again.

To do this you will need to export the exceptions/errors – click on the export invalid rows option and save the resultant Excel file in the same location as the archive computers list so that you can deal with them as a separate task if required.

Example below

Once you have exported any exceptions, clicking next will provide a warning screen asking if you would like to continue excluding the exceptions. If not, then click cancel and go back to the beginning of the import process once you have resolved the exceptions.

Sometimes the machines with the errors are not identified in Snow as they may have been archived already or they just don’t exist in Snow at all. Check these exceptions and if you are happy to proceed then continue with the import process.

  • Click next and complete the import –

In this example, we have only imported against 1 machine so the completed import will show you in this case ‘1 row imported successfully’.

If in your import, you have multiple lines to import and there are errors then it will show you this along with the number of rows that encountered errors.

See screenshot below:

  • Click Finish.

Step 5 - Validate

To validate the list of computers to be archive and that your import/update was a success:

  • Click on ‘Computers’ --> ‘List all computers’.

  • Next use column selector to add the custom field you created called ‘Archive’.

  • Drag the ‘Archive’ field so that it slots in next to the ‘computer name’ field.
  • Next - use the drop-down in the ‘Archive’ field column and choose ‘Yes’, this will then list all the machines you have updated with the custom field option to ‘Yes’ – The result will list only the machines you have chosen to archive.

At this point, you can validate that the list of machines you have updated through your import matches that of the original import list. Once you are confident that they match you can move to step 6 which is where you can go ahead and archive the computers.

Step 6 - Archive

Now you need to perform the bulk archive – so select all the computers in this list, ensuring that you ONLY select the machines that have a ‘Yes’ against them in the Archive column.

  • Then choose the option next to the column selector and select ‘Edit computers’

Then you can add notes to the notes section

It is important now that you choose Archive and not delete the reason being is that Archiving takes a Snapshot of the machines prior to deletion and the deletion option does not. This enables an audit trail to exist and allows you to track the life-cycle of the machines, its users and the applications installed etc.

Once you select Archive, Snow will ask you to confirm. At this point, if there is any doubt you can back out and check off any doubt or simply go ahead and confirm the Archiving of the selected machines. Once a machine is Archived it cannot be un-archived you should simply wait until the computer is reconnected to the network and scanned again with a Snow inventory agent and that would then add that same machine name back into the Snow DB and then just repeat the process if necessary to archive it again if that were the requirement.

This will now be the end of the Bulk archiving process steps.

You can check in the ‘Archived Computers Report’ located in the ‘Standard Reports’ section of Snow License Manager to confirm that your computers have been successfully archived.

THIRD-PARTY INVENTORY CONNECTORS 

 

Snow Integration Connectors (SIC) can automatically consolidate audit data from multiple inventory tools into a single view of all software and hardware assets from across the network and beyond.  

 

All audit data imported through a Snow Connector is automatically processed through the Snow Software Recognition Service to ensure the accuracy of software titles, versions and more.  

 

In some cases, there are limited requirements, or customers are using a 3rd party tool / ITSM / Helpdesk, where Snow does not have a standard connector to date. In this scenario Snow offers a generic file and database inventory connector or bespoke integration options.

 

One scenario I am often asked by customers is, that they have a 3rd party tool in place and are looking into capabilities of visualising normalised data that’s been gathered by Snow in a tool they have already heavily invested in.

 

From a tool perspective, Snow has a few options available to customer using the tool.

  • Calling the Snow API to return specific data;
  • Utilising the Stock Reports within Snow License Manager and exporting these on a schedule for import into a 3rd party tool;
  • For those on-premise customers, from within the Snow Inventory console, exporting reports containing un-sanitised / ”raw” data

Where there is a need for specific data to be exported in a set format or data from more than one report this is where the above measures become redundant.

 

 

Why implement a 3rd party connector?

Snow can provide ITSM solutions and 3rd party tool integrations, with the valuable SAM intelligence required to both maximize the efficiency of a service desk function and ensure high user productivity.  


In a service desk function, clean and accurate data from Snow License Manager can be used to help: 

  • Accelerate problem resolution by providing accurate and normalised software data, including vendor name, title, version number and patch level
  • Facilitate new software deployments by confirming if the organisation holds appropriate licenses to fulfil requests;
  • Support change management processes by identifying software and hardware that does not comply with standards, or requires upgrading

 

Combining the power of Snow’s SAM platform with service management solutions provides organisations with a complete and integrated solution for managing software and hardware use across the network.  

 

REAL WORLD EXAMPLES

 

FOCUS: Snow License Manager / Snow inventory data visible in 3rd party tool

 

Business requirement

IT Support Desk receives calls from users detailing an issue. The IT Support Desk analyst needs to know further information about that users machine such as RAM, what processor they are using.

 

Despite providing instructions for the end user to provide this information, this is either “lost in translation” and the end user is unable to supply this OR they take so long to gather the requested information the ticket site unresolved for weeks.

 

Solution

The customer alongside Snow Services individuals undertake conversations that identify what information should be displayed in the 3rd party tool from Snow combined with any other sources.

 

This is translated into a project with a solution design being created detailing the data flow and requirements.

 

Currently the 3rd party tool is an unknown tool and no official Snow connector exists. In this case, Snow would create a series of scripts and configuration to collate the data reports into an export(s) ready for the customer to configure their tool to import in this data.

 

Pre-deployment, there will be several development and rigorous test cycles undertaken on local Snow environments that are similar in size / complexity to the customers to ensure the solution stands up within the end customer environment.

 

During the deployment into the customer environment, subject to the specifics of the project, scripts and configuration are deployed and the end to end solution is tested.

 

Detailed technical documentation is provided to cover the specific integration project.

Project is handed over to the customer for any outstanding actions and signed off.

 

A further example of some of the project that have been scoped is where information from an external source is imported into Snow License Manager.

 

FOCUS: 3rd party tool outputs enrich Snow License Manager content

 

Business requirement

HR system contains information relating to individual’s department service desk queue owners

This information needs to be cross referenced to a static list of teams to service desk queue owners held locally which is looked up based on a code held within an existing custom field ‘Desk Queue’ along with other information.

 

            

               Example of ‘Desk Queue’ contents

   

            

            Example of customer supplied spreadsheet with team number to match to ‘Desk Queue’

 

Solution

This information cannot be extracted via API calls but can be exported manually from the system once a month as a .csv file.

 

Information cannot be pulled out the system as a list detailing which user belongs to which service desk queue owners, but a field associated to each user that contains desk queue code + department name can be cross referenced against a team list.

 

The team will utilise Snow License Manager Web Configurator functionality to import a spreadsheet detailing each user and the Team number which populates into a custom field called

 

The first two/three characters of the custom field ‘Desk Queue’ is to be used to join to the customer supplied spreadsheet on the “Team Number” field with the service desk queue owners being populated from the lookup below.

   

This queue owner is updated within a custom field ‘Queue Owner’ as seen below.

 

               

 

In summary, the below flow diagrams highlight what is considered as part of any scoping when importing or exporting from Snow or a 3rd party tool

 

  3rd party tool export for import into Snow

     

Snow export for import into 3rd party tool

 

               

 

To ensure a successful integration, the scenario is fully scoped out with each customer so all elements of the solution are considered and tested before implementation into a live environment. 

 

Please contact your local Account Manager for further information regarding custom integrations.

Hi comminuty,

 

This days have appeared new ideas in the Snow Ideas Board .

 

I've seen one that demand the functionality to share Snow boards in the same way we can do for Reports (see Sharing Snowboards)

 

I received this request from one customers, so I temporally applied the following workaroud:

 

Go to the SnowLicenseManager.dbo.tblSnowboard table and execute the following sentence:

 

SELECT [CID]
,[UserID]
,[SnowboardID]
,[WorkCopyForSnowboardID]
,[Name]
,[CreatedDate]
,[UpdatedDate]
FROM [SnowLicenseManager].[dbo].[tblSnowboard]

Where CID = <CustomerCID>

 

 

Document the original UserID assigned for the SnowBoard you want to share (in the example 1. This will required to restore the previos state if you need to modify the Snowboard again), and take the SnowboardD that identify you Snowboard from the result list, and execute the following sentence:

 

Update [SnowLicenseManager].[dbo].[tblSnowboard]
set UserID=0
Where SnowboardID ='6ED76EA3-7875-4238-963F-0E4F40096F30'

 

The UserID=0 means that the SnowBoard will be shown for all users.

NOTE: The known limitation after apply this workaround is that you'll need to assign the UserID to the previous UserID if you want to edit it again. 

 

Hope this help meanwhile.

 

Best,

Jorge

Hi community,

 

Some of our partners and customers are suffering the consequences of their IT governance policies that allow final users having administrative privileges.

 

This is a regular practice at consulting companies. For example: the consultants roles, especially IT Consultants, need extra privileges to install additional applications when they're assigned in a customer case, service or project.

 

Ok, we've got two problems here:

  • The first one, is that some people from our company have applications from the customer side, and some times this means a compliance risk.
  • And the other one is directly related with a security risk: the users can install applications on demand, non approved by IT department, or even uninstall applications.

 

Yes, I know you know that SLM offers differents ways to report this risks, like Black Listed Applications or Compliance summary report.

 

But, what happen when a user uninstall the Snow Agent?

Or what happen when a user delete some support scripts from the Snow Agent folder?

How can I identify users with admin privileges?

 

For the Snow Agent uninstallation issue, you can use ootb reports to list the status of the reported computers.
If a computer that you know that is alive is moved to quarentine pool, you must start to investigate. Some computer might have connectivity issues (ports, firewall blocking, etc), but this uses to affect massively to your computers (VLANs, Sites, etc)

NOTE: You can take a look of this post, discussing about how to hide the Snow Inventory Agent application from the Control Panel - Add / remove programs section

Windows agent 5.x.x - hide from add/remove programms

 

To identify if a user has deleted support files or not, we've been working with a customer to create a custom report to show exceuted PS scritps during the agent scan. This could be usefull to determine is some of those scripts are failing or ara missing from the agent side.
This is the result:

 

In same way, we've defined also a report and a signed PS script to collect local users and groups info from the computer.
This is the result:

 

So, if you find yourself suffering this issues, don't hesitate to contact your local Snow representative to support you with this.

 

BR,
Jorge

Hi community,

 

Continuing the "How to" series (started with the How to: Using Snow Inventory Agent to collect registry values post), it's time to show you how to consume the collected info.

 

First, let see the result from SLM UI

Ok, lets see the report definition:

 

DECLARE @NAME NVARCHAR(MAX) = 'Customer Custom Registry Info'

DECLARE @uid uniqueidentifier = (SELECT NEWID())

DECLARE @Description NVARCHAR(MAX) = 'Report on Custom Registry Info'

DECLARE @ColumnList NVARCHAR(MAX) = 'ComputerID,HostName,Domain,Hierarchy,LastScanDate,LastModified,Contact,InstallDate,RegistryKey,Name,LastModifiedBy,Version'

DECLARE @ColVis NVARCHAR(MAX) = '-1,1,1,1,1,1,1,1,1,1,1,1'

DECLARE @KeyFieldName NVARCHAR(MAX) = 'ComputerID'

DECLARE @RowTargetLink NVARCHAR(MAX) = 'Computer.aspx?id='

DECLARE @SQL NVARCHAR(MAX) = '

SELECT

DISTINCT tc.ComputerID as [ComputerID],

tc.HostName as [HostName],

tc.Domain as [Domain],

tco.Hierarchy as [Hierarchy],

tc.LastScanDate as [LastScanDate],

LastModified as [LastModified],

Contact as [Contact],

InstallDate as [InstallDate],

piv.KeyName as [RegistryKey],

Name as [Name],

LastModifiedBy as [LastModifiedBy],

Version as [Version]

FROM (

SELECT

tcr.KeyName,

tcr.ComputerID,

tcr.CID,

tcr.ValueName,

tcr.ValueData

FROM

tblComputerRegistry tcr

WHERE

tcr.KeyName = ''HKEY_LOCAL_MACHINE\SOFTWARE\CustomerCustomInfo\MasterImage''

and tcr.CID = {0}

) src

pivot

(

MAX(ValueData)

for [VaHope lueName] in ([Contact],[InstallDate],[LastModified],[Name],[LastModifiedBy],[Version])

) piv

INNER JOIN tblComputer tc

ON tc.ComputerID = piv.ComputerId

LEFT JOIN tblComputerInfo tci

ON tci.ComputerID = tc.ComputerID

INNER JOIN tblsystemuserorgdefinition def

ON def.cid = tc.cid

AND def.userid = {1}

AND def.orgchecksum = tci.orgchecksum

LEFT JOIN tblOrganization tco

ON tco.OrgChecksum = tci.OrgChecksum

WHERE tc.cid = {0}

ORDER BY Hostname, RegistryKey desc'

 

DELETE from tblReport

Where Name like @NAME

 

INSERT INTO tblReport (ReportID, StockReport, IsCustomReport, ReportType, ViewName,

Name, Description, SQLQuery, ColumnList, ColumnVisibility, KeyFieldName, RowTargetLink)

VALUES (@uid, 0, 1, 1 , 'QUERYBUILDER', @NAME, @Description, @SQL, @ColumnList, @ColVis, @KeyFieldName, @RowTargetLink)

 

According to the the structure of the registry info:

we need to get the registry values for the registry path HKEY_LOCAL_MACHINE\SOFTWARE\CustomerCustomInfo\MasterImage.

 

This is done with the filtering in conjunction with pivot statement:

WHERE

tcr.KeyName = ''HKEY_LOCAL_MACHINE\SOFTWARE\CustomerCustomInfo\MasterImage''

and tcr.CID = {0}

) src

pivot

(

MAX(ValueData)

for [ValueName] in ([Contact],[InstallDate],[LastModified],[Name],[LastModifiedBy],[Version])

) piv

 

NOTE: You can see a detailed how to create SQL Reports in SLM in this post Adding custom SQL reports in Snow License Manager from my colleague mark.potts.

 

Done! You just created a custom report to show collected registry values during the Snow Inventory scan!

 

Hope you'll find this usefull. See you on the next "How to" post!

 

Jorge.