You are on page 1of 56

USER GUIDE

Product Snow Inventory Server

Version 6

Release date 2019-09-25

Document date 2021-04-07

SNOWSOFTWARE.COM
CONTENTS
1 Introduction .................................................................................................... 4

1.1 New installation vs Upgrade ....................................................................... 4


1.2 Prerequisites ............................................................................................ 4
1.3 Definitions ............................................................................................... 5
1.4 Comparison of Inventory Server roles ......................................................... 5

2 Installation ...................................................................................................... 7

2.1 Installation package .................................................................................. 7


2.2 Installation via command line ..................................................................... 8
2.3 Create a Master Server instance ................................................................. 9
2.4 Create a Service Gateway instance ........................................................... 13
2.5 Create a Standalone Receiver instance ...................................................... 16
2.6 Create new database .............................................................................. 17
2.7 Export devices ....................................................................................... 19

3 Command line ............................................................................................... 21

3.1 Command: start ..................................................................................... 22

4 Uninstall ........................................................................................................ 23

4.1 Master Server ........................................................................................ 23


4.2 Service Gateway .................................................................................... 23

5 Known limitation ........................................................................................... 24

6 Troubleshooting ............................................................................................ 25

6.1 Installation ............................................................................................ 25


6.2 Certificates ............................................................................................ 25
6.3 Inspecting inventory files ......................................................................... 26

7 Advanced configuration ................................................................................. 27

7.1 Configuration file .................................................................................... 27


7.2 Encryption of inventory data .................................................................... 27
7.3 Site name grouping ................................................................................ 28
7.4 Restrict processing of files ....................................................................... 30
7.5 Web application patterns ......................................................................... 30
7.6 Client certificate whitelist ......................................................................... 31
7.7 Computer identity - HostNameOnly mode .................................................. 31
7.8 Computer identity - HostnameNormalization .............................................. 35
7.9 Module Configuration .............................................................................. 37
7.10 Extract the public key for pinning ............................................................ 47
7.11 Configure logging ................................................................................. 48

Page 2 of 56 SNOWSOFTWARE.COM
7.12 Protection against Denial-of-Service attacks ............................................. 49
7.13 Update a SSL certificate ......................................................................... 49
7.14 Customizable processing logic ................................................................ 49

Page 3 of 56 SNOWSOFTWARE.COM
1 INTRODUCTION
This document describes how to install, configure, manage, and troubleshoot the latest
version of Snow Inventory Server; Some functionality described in this document may
work differently or not at all in previous versions.

1.1 NEW INSTALLATION VS UPGRADE


This guide describes how to install Snow Inventory Server 6.

For environments that have Snow Inventory Server 3.2 in production and plan to upgrade,
contact Snow Software or your local Snow partner for assistance with the necessary pre-
upgrade checks and post-upgrade validations.

1.2 PREREQUISITES

1.2.1 SYSTEM REQUIREMENTS


For information on system requirements, see Snow System Requirements document, in
the Snow Knowledge Base, which is available for customers and partners.

1.2.2 CERTIFICATES
For communication using HTTPS, an SSL certificate must be available prior to the
installation of Snow Inventory Server is started.

1.2.3 USER ACCOUNTS


The database to use in the installation process of Snow Inventory Server could either be
created beforehand or via Server Manager during the installation itself.

If the Snow Inventory database has been created beforehand, a SQL account with
db_owner privileges is needed for accessing that database.

If the Snow Inventory database is to be created via Snow Inventory Server Configuration
Manager, a SQL account with sa privileges is needed. This account will be used for
accessing the database after the installation, so it is recommended to reduce the account
privileges to a db_owner level after the installation.

Page 4 of 56 SNOWSOFTWARE.COM
1.3 DEFINITIONS
Term Description

Discovery site Used for identification of the Inventory server and for all discovery
name data. A Discovery site name can be of a geographical or
organizational nature, or any other that will suit the needs.

Example: A Master Server is to be set up to communicate with


Service Gateways and/or devices in the Nordic countries. To be able
to identity all discovered devices from those regions in Inventory
Server, the Master Server will group them into discovery site
NORDICS.

Snow Inventory Snow Inventory Agents collect software information, software usage
Agents (metering), hardware specifications, and user information from the
computers within the organization. Each agent sends its inventory
result to a Master Server instance for processing, either directly or
via a Service Gateway instance.

Master Server The Master Server instance receives the inventory data reported by
the agents, processes the data and writes to the Inventory database.
Also, it processes and writes Active Directory Discovery data to the
database.

Service Gateway To ensure high-availability of the Master Server, Service Gateway


instances can be configured for load-balancing. Service Gateway
instances can also serve as proxies in segmented networks.

Standalone The Standalone Receiver can be used in environments where the


Receiver agents are not allowed to communicate directly with a Master Server
or a Service Gateway. This can be the case in companies with high
security requirements or in environments with no internet access.

The Standalone Receiver instance receives inventory data from the


agents and any SIM connectors, and then saves the data either
locally or to a file share. A process must then be in place for
transferring the inventory data from the "isolated" environment to
the Master Server or any Service Gateway.

Snow Inventory The Snow Inventory database is used for storing the inventory data
database reported by the Snow Inventory agents. The Inventory database is
an SQL server database.

1.4 COMPARISON OF INVENTORY SERVER ROLES


The table describes the major differences in the Inventory Server roles.

Table 1. Comparison of Inventory Server functionality


Functionality Master Service Standalon
Server Gatewa e Receiver
y

Requires a license X - -

Requires a database connection X - -

Page 5 of 56 SNOWSOFTWARE.COM
Functionality Master Service Standalon
Server Gatewa e Receiver
y

Provides Cloud metering API X - -

Can be configured through Snow MACC (Admin X X -


Console)

Supports distribution of agent configurations X X -

Supports Network Discovery and Active Directory X X -


Discovery

Supports deployment of agents X X -

Supports automatic updates (via Snow Update Service, X X -


SUS)

Provides legacy API for IDR/web application metering X X -

Supports data gathering from agents, SIM connectors, X X X


and legacy clients

Can be used in isolated networks X - X

Page 6 of 56 SNOWSOFTWARE.COM
2 INSTALLATION
The installation files of Snow Inventory Server are delivered as an installation package.
Once the package has been installed, installation and configuration of Master Server and
Service Gateways can take place by using the Snow Inventory Server Configuration
Manager.

2.1 INSTALLATION PACKAGE


The installation package is named SnowInventoryServerSetup.exe and includes the
following components:

▪ Snow Inventory Server

▪ Snow Inventory Admin Console

▪ Snow Update Service (SUS)

When running the installation, a selection must be made whether to install a Master
Server or a Service Gateway. A Master Server installation includes all of the components
listed above, while a Service Gateway installation only includes the Snow Inventory Server
component.

NOTE

▪ Snow Inventory will share the component Snow Update Service (SUS) with
Snow License Manager. Therefore, these components will always be installed
in the location of the system variable %PROGRAM FILES% and not in the
selected destination folder. Please make sure that the user running the
installation package has access to that path.

▪ Snow Update Service will be installed in a default folder on the C: drive. Do


not move Snow Update Service from this location as this is not a supported
configuration.

2.1.1 SNOW UPDATE SERVICE


After installation, start Snow Update Service manually and check for any available
updates. For detailed information, see the document User guide, Snow Update Service.

2.1.2 DEFAULT LOCATION OF FILES


The table below shows the default locations of the server files and configuration file after
installation. Also, the table shows the default locations of the log files.

File name Location Description

snowserver.exe C:\Program Files\Snow Software Executable file for Inventory


\Snow Inventory\Server Server

snowserverconfig.exe C:\Program Files\Snow Software Executable file for Inventory


\Snow Inventory\Server Server Configuration Manager

Page 7 of 56 SNOWSOFTWARE.COM
File name Location Description

snowserveradmin.exe C:\Program Files\Snow Software Executable file for Inventory


\Snow Inventory\Server Server Admin Console

snowserveruninstall.e C:\Program Files\Snow Software Executable file to uninstall


xe \Snow Inventory\Server Inventory Server

snowinventoryfileextr C:\Program Files\Snow Software Executable file for Inventory File


actor.exe \Snow Inventory\Server Extractor

snowserver.config C:\Program Files\Snow Software Configuration file


\Snow Inventory\Server

snowserver.log C:\ProgramData\Snow Software Log files (a maximum of five log


\Snow Inventory\Server files exist in this folder)

2.1.3 DATA FOLDERS


The table shows the data folders that are used by the Inventory Server. They are created
when the server is started for the first time.

Folder name Location Description

announcements C:\Program Files\Snow Software This folder contains discovery


\Snow Inventory\Server information from the Inventory server
\Incoming\announcements discovery and the Snow Integration
Connectors that send discovery data

data C:\Program Files\Snow Software This folder contains inventory


\Snow Inventory\Server information from the Inventory Agents
\Incoming\data and the Snow Integration Connectors
that send inventory data.

stats C:\Program Files\Snow Software This folder contains internal statistics


\Snow Inventory\Server\stats of the Inventory server.

2.2 INSTALLATION VIA COMMAND LINE


This feature allows Snow Inventory Server to be installed via command line.

Usage: SnowInventoryServerSetup.exe [options]

Option Description

/s Perform silent install.

/l=<file> Log to a specified file.

/? Display help text.

InstallPath=<path> Set the path to install in.

InstallType=[Master|Gateway] Define whether the installation is for a Master Server or a


Service Gateway.

Default: Master

Page 8 of 56 SNOWSOFTWARE.COM
Examples

Line Result

SnowInventoryServerSetup.exe /s Installs Snow Inventory Server as a Master


Server, silently.

SnowInventoryServerSetup.exe /s Installs Snow Inventory Server as a Service


InstallType=Gateway Gateway, silently.

2.3 CREATE A MASTER SERVER INSTANCE


NOTE
If a new database is to be created via Snow Inventory Server Configuration
Manager, a user account with sa privileges is required in the Database step.

1. Start Snow Inventory Server Configuration Manager (run snowserverconfig.exe).


2. On the Welcome page of the Snow Inventory Server Configuration Manager, select
Create master server.
3. In the License Key step, enter the Company name to which the license key has
been issued, and the associated License key.
4. Select Next.
5. In the Database step:
a. Enter a Name or a Network address for the SQL server instance to be
used.
b. In the Name of database box, enter the name of an already existing
Inventory 6 database or the name of a database to be created.
c. Select one of the following authentication alternatives:

▪ Select the Use Windows Authentication check box.

▪ Enter User ID and Password of an SQL user account with


permissions to connect to (or create) the database.
d. To add additional settings for the database connection, select the Use these
additional connection string properties check box, and then enter the
properties in the box that is displayed. Use semicolon as delimiter.

Page 9 of 56 SNOWSOFTWARE.COM
6. Select Next.

7. A connection to the specified database is established.


8. Select OK.
9. In the Credentials for administrator user step:
a. Enter an Administrator user name.
b. Enter the associated password in the Administrator password and Re-
type password boxes.
This administrator account will be used as the default account for signing in to the
Snow Inventory Admin Console.
10. Click Next.

Page 10 of 56 SNOWSOFTWARE.COM
11. In the HTTP Bindings step for Base Address:
▪ For HTTPS only: Select an existing certificate in the list.
▪ Select Network interface and type a Port, if different from the default
port. This is the binding used by Snow Inventory Server to receive data.
▪ Optional: configure a DNS name that will be used to validate connections to
Snow Inventory Server.

NOTE
If DNS name is configured, Snow Inventory Server must be addressed by
DNS name (i.e. not by hostname, another DNS name, or IP address) for the
connection to be accepted by Snow Inventory Server.

NOTE
If Snow Inventory Server uses the same network interface and the same
port as another application on the server, for example Snow License
Manager, DNS name must be configured with a unique name. This also
applies to the binding for Snow License Manager (see 12 below).

12. In the HTTP Bindings step for License Manager:


▪ For HTTPS only: Select an existing server certificate in the list.
▪ Select Network interface, type a Port and a DNS name that will be used
for accessing this License Manager API endpoint.
▪ Configure a DNS name that will be used to validate the connections to this
Snow Inventory Server. This is mandatory for the License Manager endpoint

Page 11 of 56 SNOWSOFTWARE.COM
and the server running Snow License Manager must be able to resolve the
DNS name of this endpoint correctly.

13. Select Add alternative address to add more endpoints which Snow Inventory
Server will use to receive data. Up to 20 alternative addresses can be added and
will display in tabs to the right of the default tabs.
14. Select Next.
15. In the Server settings step:
a. Enter a Discovery site name. This site name will be used for this Snow
Inventory server and for all discovered devices.
b. Enter the path to the Incoming folder where all inventory files will be
received before they are processed in the database, or click to browse for
the folder.

Page 12 of 56 SNOWSOFTWARE.COM
16. Click Next.

17. A Summary of the configuration is presented.


18. To create the Master Server instance according to the specified configuration, select
Create.

19. To return to a previous page and make changes, select .

2.4 CREATE A SERVICE GATEWAY INSTANCE


1. Start Snow Inventory Server Configuration Manager (run snowserverconfig.exe).
2. On the Welcome page of the Snow Inventory Server Configuration Manager, select
Create Service Gateway.
3. In the HTTP Bindings step:
▪ For HTTPS (recommended)
Select an existing server certificate in the list. Select Network interface,
and enter a Port and a DNS name that will be used for accessing this Snow
Inventory server.
▪ For HTTP
Enter a Port and a DNS name that will be used for accessing this Snow
Inventory server.
4. Select Add alternative address if you want to add additional base addresses for
Snow Inventory Server. Every additional base address is represented by a separate
tab in the

Page 13 of 56 SNOWSOFTWARE.COM
5. Select Next.

6. In the Gateway settings step:


a. Enter a Forward address. This address is used to forward data to the
Inventory server.
b. If you want to use certificate authentication between the Gateway and the
Master, select the Use client certificate for authentication with forward
address check box and then select a certificate in the Client certificate
list.
c. Select the Use proxy settings for outgoing connections, if you want to
use a proxy server to send data.
i. Enter the host name of the proxy server in Proxy server host
name.
ii. Select Use default credentials if you want to authenticate with the
proxy server by using the same credentials as the Windows service
that runs the Service gateway.
iii. If you do not select Use default credentials:
A. Enter a User name.
B. Enter a Password.
Confirm the password.
7. Select Next.

Page 14 of 56 SNOWSOFTWARE.COM
8. In the Server Settings step:
a. Enter the path to the Incoming folder where all inventory files will be
received before they are forwarded to the Inventory Master Server, or select
to browse for the folder.
b. Enter a Discovery site name. This site name will be used for the Inventory
server and for all discovered devices.
9. Select Next.

10. A Summary of the configuration is presented.


11. To create the Service Gateway instance according to the specified configuration,
select Create.

12. To return to a previous page and make changes, select .

Page 15 of 56 SNOWSOFTWARE.COM
2.5 CREATE A STANDALONE RECEIVER INSTANCE
An Inventory Server with the Standalone Receiver role gathers inventory data from agents
and any SIM connectors, but instead of sending it forward to the Master Server, either
directly or via the next Service Gateway in line, it keeps and stores the data.

NOTE

▪ A Standalone Receiver can only receive data from Inventory agents and SIM
connectors. It cannot communicate with the Master Server or any Service
Gateways in the Snow Inventory infrastructure.

▪ As the Master Server is not aware of its own existence, the Standalone
Receiver is not visible in the Snow Inventory Admin Console.

▪ Updates of the Standalone Receiver and the agents reporting to it must be


performed manually.

To install a Standalone Receiver:

1. Start Snow Inventory Server Configuration Manager (run snowserverconfig.exe).


2. On the Welcome page of the Snow Inventory Server Configuration Manager, select
Create Service Gateway.
3. Select Standalone Receiver.
4. In the HTTPS Bindings step:

▪ For HTTPS (recommended):


Select an existing server certificate in the list. Select Network interface,
and type a Port and a DNS name that will be used for accessing this Snow
Inventory server.

▪ For HTTP:
Type a Port and a DNS name that will be used for accessing this Snow
Inventory server.
5. Select Next.

Page 16 of 56 SNOWSOFTWARE.COM
6. In the Server Settings step, enter the path to the Incoming folder where all
inventory files will be received by the Standalone Receiver, or select to browse
for the folder.
7. Select Next.

8. A Summary of the configuration is presented.


9. To create the Standalone Receiver instance according to the specified configuration,
select Create.

10. To return to a previous page and make changes, select

During the installation, the StandaloneReceiver element of the configuration file is


created and configured, where:

▪ IncomingFolder is the location where the inventory data will be stored, either in a
local folder or on a file share.

▪ BaseAddress is the default endpoint address (including the port number) where the
Standalone Receiver will receive data.

EXAMPLE

<Configuration>
<StandaloneReceiver>
<Server>
<IncomingFolder>D:\Incoming</IncomingFolder>
<BaseAddress>http://MyStandaloneReceiver:8778</BaseAddress>
</Server>
</StandaloneReceiver>
</Configuration>

2.6 CREATE NEW DATABASE


1. Start Snow Inventory Server Configuration Manager (run snowserverconfig.exe).

Page 17 of 56 SNOWSOFTWARE.COM
2. On the Welcome page of the Snow Inventory Server Configuration Manager, select
Click here for additional options…
3. In the Additional options dialog box, select Create database.
4. In the Database step:
a. Enter a Name or a network address for the SQL server instance to be
used.
b. Enter the Name of database to be created.
c. Select one of the following authentication alternatives:
▪ Select the Use Windows Authentication check box.
▪ Enter User ID and Password of an SQL user account with
permissions to create the database.
d. To add additional settings for the database connection, select the Use these
additional connection string properties check box and enter the
properties in the box that is displayed. Use semicolon as delimiter.
5. Select Next.

6. In the Credentials for administrator user step:


a. Enter an Administrator user name.
b. Enter the associated password in the Administrator password and Re-
type password boxes.
This administrator account will be used as the default account for logging in to the
Snow Inventory plug-in in Snow Management and Configuration Center.

Page 18 of 56 SNOWSOFTWARE.COM
7. Select Next.

8. A Summary of the configuration is presented.


9. To create the database according to the specified configuration, select Create.

10. To return to a previous page and make changes, select .

2.7 EXPORT DEVICES


Use the export functionality to migrate data or to consolidate databases.

1. Start Snow Inventory Server Configuration Manager (run snowserverconfig.exe).


2. On the Welcome page of the Snow Inventory Server Configuration Manager, select
Click here for additional options…
3. In the Additional options dialog box, select Export devices.
4. In the Database step:
a. Enter a Name or a network address for the SQL server instance to be
used.
b. Enter the Name of database to be exported.
c. Select one of the following authentication alternatives:

▪ Select the Use Windows Authentication check box.

▪ Enter User ID and Password of an SQL user account with read


permissions on the database.
d. To add additional settings for the database connection, select the Use these
additional connection string properties check box and enter the
properties in the box that is displayed. Use semicolon as delimiter.

Page 19 of 56 SNOWSOFTWARE.COM
5. Select Next.

6. In the Export database step:

a. Enter the path to the Output folder for the export file, or select to
browse for the folder.
b. To only export data which matches a specific site name, enter a site name in
Filter by site name. It is possible to use wildcards and patterns as per the
syntax of the LIKE operator in Microsoft T-SQL. This field is optional.
c. To only export data which matches a specific device name, enter a device
name in Filter by device name. It is possible to use wildcards and patterns
as per the syntax of the LIKE operator in Microsoft T-SQL. This field is
optional.
d. Use the Limit historical data to at the most option to set a limit for
export of information, such as metering and login history.
7. Select Export.

8. When the information has been exported, select Finish.

Page 20 of 56 SNOWSOFTWARE.COM
3 COMMAND LINE
The general command line format for the Snow Inventory Server is:

snowserver.exe [options] [<command> [<arguments>]]

Global option Description

-c <config-file> Specify the server configuration file to use, default is


snowserver.config.

-j <#threads> Number of worker threads, default is one thread per logical


processor.

-log-dir <dir> Override log directory

-log-stdout Redirect log output to stdout

-max-error-count <n> Maximum number of accepted errors before giving up

-v Enable verbose mode

-w <dir> Specify the working directory

-? Print help text and exit

Available commands:

Command Description

copyright Show copyright notice

dmc

install

lt Print available log tags

standalone Run the server as a standalone process


(console application)

Run two server configurations in the


-m <config-file> <config-
same process
file>

start

stop

test <test-case>

uninstall

update <service-name> <stage- Update service using files from stage


directory> directory

-v <version> Set version information

Type <command> -? for more information on a specific command.

Page 21 of 56 SNOWSOFTWARE.COM
3.1 COMMAND: START
The start command cannot be used with command line arguments in a command prompt.
Instead, it uses arguments entered in the registry, which means that arguments must be
set in the registry in order for the start command to take effect. The arguments are set in
the following path:

Registry path:

Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
\SnowInventoryServer5

Key:

ImagePath

Example:

Page 22 of 56 SNOWSOFTWARE.COM
4 UNINSTALL
Snow Inventory Server is uninstalled via Programs and Features in the Windows
Control Panel.

4.1 MASTER SERVER


The uninstall of a Master Server is managed differently depending on if Snow License
Manager is installed on the same machine, or not.

▪ Snow License Manager is installed


When Snow License Manager is installed on the same machine as the Master Server,
only the Inventory Server and the Admin Console components will be removed
together with all related registry keys and values. Existing installations of Snow
Update Service (SUS) will be left unaltered.

▪ Snow License Manager is not installed


When Snow License Manager is not installed on the same machine as the Master
Server, all components will be removed (Inventory Server, Admin Console plug-in,
and SUS) together with all related registry keys and values. All folders and Windows
local services are removed, as well.

4.2 SERVICE GATEWAY


When a Service Gateway is uninstalled, the Inventory Server component is removed. All
folders and Windows local services are removed, as well.

Page 23 of 56 SNOWSOFTWARE.COM
5 KNOWN LIMITATION
There is a known limitation with setup packages for older versions of Snow License
Manager (version 8.0.04 and lower).

Scenario:

▪ Snow Inventory Server (Master Server or Service Gateway) and Snow License
Manager are installed on the same machine

▪ Snow License Manager was installed using a setup package with version 8.0.04 or
lower.

If Snow License Manager is uninstalled, registry keys will be deleted, not only those
related to Snow License Manager but also keys related to Inventory Server and Snow
Update Service (SUS).

To correct this, use the repair functionality in Snow Inventory Installer which resets all
registry keys and values so that Snow Inventory and SUS can work properly as before.

The repair functionality is available via Programs and Features in the Windows Control
Panel.

1. Select Snow Inventory in the list of installed programs.


2. Select Uninstall.
The Snow Inventory 6 Server Setup dialog box appears.
3. Select Repair, and then select Next.

Page 24 of 56 SNOWSOFTWARE.COM
6 TROUBLESHOOTING
The following chapter contains tips related to troubleshooting of both installation and
running of the Snow Inventory Server 6.

6.1 INSTALLATION
If the installation for some reason cannot be completed and must be cancelled, the
Inventory 6 database must be deleted manually, and a new one must be created.

6.2 CERTIFICATES

6.2.1 CONFLICTING CERTIFICATES


A certificate is bound to the IP address and port configuration of the computer.

If a certificate is selected in the HTTP Bindings step of the installation process, but another
different certificate is already associated with that <ip>:<port> combination, a warning
will be displayed and the installation cannot proceed.

Information on any existing bindings can be found in the registry:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP\Parameters
\SslBindingInfo

The <ip>:<port> parameter is typically used with the unassigned IP address 0.0.0.0 but
can be used to bind to a specific interface as well. However, the port has to be unique and
you can only have a single certificate hash bound to a specific port.

To remove existing bindings:

> netsh http delete sslcert ipport=0.0.0.0:443

To add new bindings:

> netsh http add sslcert ipport=0.0.0.0:443 certhash=ABCD... appid={...}

6.2.2 SSL CERTIFICATE ADD FAILED, ERROR: 1312


During the Snow Inventory installation, this error might occur if the public key (.crt file) of
the certificate has been accidentally imported instead of the archive file (.pfx) which
includes the private key. The installation will fail and the error is displayed in the setup
XML log.

This can be verified in the Certificates MMC since a certificate with a private key is
indicated by an icon with a key.

Page 25 of 56 SNOWSOFTWARE.COM
To solve this:

1. Delete the faulty certificate.


2. Import the correct certificate.
3. Re-run the installation.

6.3 INSPECTING INVENTORY FILES


Inventory files that are produced by Snow Inventory Agent are encrypted. These files can
be opened and inspected by using Snow Inventory File Extractor, which is a tool that
allows opening inventory files that use either .snowpack or .inv as the file extension.

The tool can be used independently of Snow Inventory Server and is available in Snow
Community: https://community.snowsoftware.com/s/article/Snow-Inventory-File-
Extractor-tool

For more details and usage instructions, please read the Snow Community knowledge
article.

Page 26 of 56 SNOWSOFTWARE.COM
7 ADVANCED CONFIGURATION

7.1 CONFIGURATION FILE


A basic configuration file is created and built up by all the settings made during the
installation.

The configuration file consists of the following elements:

<Configuration>
<Master>...</Master>
<ServiceGateway>...</ServiceGateway>
<StandaloneReceiver>...</StandaloneReceiver>
<Logging>...</Logging>
<AgentIdentity>...</AgentIdentity>
<ModuleConfiguration>...</ModuleConfiguration>
</Configuration>

NOTE

▪ All elements in the Inventory Server configuration file are case-sensitive.

▪ Depending on what to be installed, only one of the Master,


ServiceGateway, or StandaloneReceiver elements can be used at a time
in the configuration file.

7.2 ENCRYPTION OF INVENTORY DATA


The inventory result (snowpack file) is encrypted using the default crypto key. With the
tool AESKEYGEN, which can be ordered from Snow Support, custom crypto keys can be
created for a certain agent or group of computers.

The tool creates a key that needs to be copied to a folder on the Inventory server (all keys
must be located in the same folder) as well as to a folder on the computer(s) to be
inventoried. The file is named <fingerprint>.cryptkey.

Use this setting in the configuration file of the Inventory server to specify the folder where
the crypto keys are located:

<Master>
<Server>
<CryptoKeyFolder>drive:\path\to\folder\with\cryptokeys</CryptoKeyFolder>
</Server>
</Master>

Use these settings in the configuration file of the agent to specify the fingerprint of the
crypto key to use for Snowpack encryption, and the folder where it is located (optional):

<SystemSettings>...
<Setting key="snowpack.encryption_fingerprint"
value="b6089ea5556a6ab86775bf19ed65791c"/>
<Setting key="snowpack.encryption_path" value="path/to/folder/with/cryptokey"/>
</SystemSettings>

Page 27 of 56 SNOWSOFTWARE.COM
If no folder path is specified, the path to the agent itself will be used.

7.3 SITE NAME GROUPING


The site name is one of four properties that are used to generate the identity of a
computer.

Site name grouping is used to match computer identities with different site names, which
have reported via different sources.

This feature is currently only used for computers that are inventoried via Snow Inventory
Agent or Snow Integration Manager and matched with computers that have been
discovered via Active Directory or Network Discovery. For example, one computer, which
has both been inventoried and discovered, may be reported with different site names; a
common problem in this scenario is that the computer is incorrectly reported as
discovered but not inventoried.

Site name grouping is configured in Snow Inventory Admin Console:

1. On the tab, select Settings.


The Settings window appears.
2. On the left-hand side, select Site name grouping.
3. Configure Site name grouping:

▪ Select Consider all site names as belonging to the same group to


override all site name groups that are both implicitly and explicitly defined.

▪ Define site name groups.


Site name groups display in a table.

▪ If the site name of a computer does not match an explicitly defined site name
group, the computer will implicitly be considered to be part of a group with its
site name; this is the default behavior.

EXAMPLE

Site name Site name group

site01 acme

site02 acme

In this example, computers where the inventory record has the site name site01 or
site02 will be matched with discovered computers that have sitename site01 or
site02.

NOTE
In Snow Inventory Server, a tenant is an entity; it can be a customer, an
organization, a cost center, etc. Typically, tenant environments are
characterized by being isolated from each other.

NOTE
A dedicated Snow Inventory Server installation is used by only one tenant. A
shared Snow Inventory Server installation is used by more than one tenant.

Page 28 of 56 SNOWSOFTWARE.COM
7.3.1 SCENARIO 1: TENANTS THAT ONLY USE ONE SITE NAME
This scenario applies to tenants—hosted on either a dedicated or a shared Snow Inventory
Server installation—which use (only) one site name for both discovery and inventory data.

No configuration is required for these tenants as the only site name that is used is
considered a site name group: the computer-data sets will only be matched with data sets
with the same site name.

NOTE
This scenario partially overlaps with Scenario 3, which is for tenants that only use
one site name and are hosted in a dedicated Snow Inventory installation; in this
case, the two configurations are the same.

7.3.2 SCENARIO 2: TENANTS THAT USE MORE THAN ONE SITE NAME
AND IS HOSTED ON A SHARED SNOW INVENTORY
INSTALLATION
This scenario applies to tenants that are hosted on a shared Snow Inventory installation
where more than one site name is used for discovery and inventory data.

A site name group should be defined for each tenant. All site names for each tenant
should be added to their site name group; the computer-data sets will only be matched
against other data sets that have a site name associated to the same site name group as
the original site name.

Site name Site name group

Company1Subsidiary1 acme

Company1Location2 acme

Company3 ajax

Country5Company3 ajax

7.3.3 SCENARIO 3: TENANTS THAT ARE HOSTED ON A DEDICATED


SNOW INVENTORY INSTALLATION
This scenario applies to tenants that are hosted on a dedicated Snow Inventory
installation.

Select Consider all site names as belonging to the same group to match computer-
data sets with other data sets without site name restrictions. Only other identity
properties will be taken into consideration.

NOTE
This scenario partially overlaps with Scenario 1, which applies for tenants that only
use one site name and are hosted on a dedicated Snow Inventory installation

Page 29 of 56 SNOWSOFTWARE.COM
7.4 RESTRICT PROCESSING OF FILES
By default, all types of files are processed by the Inventory Server. However, by using the
whitelisting and blacklisting functionality in the configuration file of the server it is possible
to control what type of files to process, or not to process.

Use the <WhiteList> element to define file extensions of all file types to be processed, or
use the <BlackList> element to define file extensions of all file types not to be processed.

This example will only process files with extensions .exe and .txt:

<Master>
<DataProcessor>
<ApplicationProcessing>
<FileExtensions>
<WhiteList>
<Extension>exe</Extension>
<Extension>txt</Extension>
</WhiteList>
</FileExtensions>
</ApplicationProcessing>
</DataProcessor>
</Master>

This example will process all files but the ones with the extensions .dll and .log:

<Master>
<DataProcessor>
<ApplicationProcessing>
<FileExtensions>
<BlackList>
<Extension>dll</Extension>
<Extension>log</Extension>
</BlackList>
</FileExtensions>
</ApplicationProcessing>
</DataProcessor>
</Master>

NOTE
If file extensions have been defined in the <WhiteList> element, any defined
extensions in the <BlackList> element will be ignored.

7.5 WEB APPLICATION PATTERNS


The Snow Inventory Agent for Windows can meter usage of web applications.
Configuration of which web applications to meter is done in the web user interface of Snow
License Manager.

Information on published web application patterns needs to be available on the Inventory


Server, where it can be checked by the agents. To configure Inventory Server where to
look for this information, use the following setting in the <ModuleConfiguration> element
of the Inventory Server configuration file:

<ModuleConfiguration>
<Module typeName="MasterServerModule">

Page 30 of 56 SNOWSOFTWARE.COM
<Setter propertyName="SnowLicenseManagerConfigurationUri">"http://
SLMSERVER/IDX/InventoryConfigUpdate.ashx"</Setter>
</Module>
</ModuleConfiguration>

7.6 CLIENT CERTIFICATE WHITELIST


Use the ClientCertificateWhitelist element to define which certificates the clients are
allowed to use in the communication with the server. Depending on how the infrastructure
is set up, make the Server configuration in the Master or in the ServiceGateway
element.

Example:

<Server>
<RequireClientCertificate>true</RequireClientCertificate>
<ClientCertificateWhitelist>
<Thumbprint>a2bc6b0d3db17c9eed17647393f079eabc95238f</Thumbprint>
<Thumbprint>a3bc8b0d7db17a9eed17523993f079eabe25938f</Thumbprint>
</ClientCertificateWhitelist>
</Server>

NOTE
If the RequireClientCertificate is set to true, Thumbprint elements must be
specified under ClientCertificateWhitelist, or any client certificate will be
allowed.

7.7 COMPUTER IDENTITY - HOSTNAMEONLY MODE


In Snow Inventory, an inventoried computer is identified by four properties: its site name,
hostname, BIOS manufacturer and BIOS serial number—concatenated into one property—
and an operating system identification number. If two or more of these properties change,
Snow Inventory will identify the computer as new, and subsequently create another
computer object.

To override the default behavior for identifying computers, configure the HostNameOnly
mode by using the <HostNameOnly> element in the Inventory server configuration file.
The HostNameOnly mode will only identify computers by their hostname and site name
parameters.

EXAMPLE

Computer ID Hostname Site name BIOS OSIDNr

1 COMP1 SITE1 X Y

2 COMP2 SITE1 X Y

3 COMP1 SITE2 X Y

1 COMP1 SITE1 Z A

2 COMP2 SITE1 Y X

Page 31 of 56 SNOWSOFTWARE.COM
The example table displays how computers are identified when HostNameOnly
mode is used with the element <HostName>COMP*<HostName>.

In the example above, the Computer ID column displays the computer object ID.

The HostNameOnly mode can be configured to affect all computers or a subset according
to the table below.

Editing the Inventory server configuration file can result in unexpected outcomes such as
overwritten or duplicated data. Take care when editing.

NOTE
The HostNameOnly mode applies for all computers that report to Snow Inventory,
via both Inventory agents and Inventory clients.

Available criteria Description


group

SiteNames The site name of the computer, defined in the Inventory Agent
configuration file.

EXAMPLE
<SiteName>MySite</SiteName>

ConfigNames The name of the Inventory Agent configuration, defined in the agent
configuration file.

EXAMPLE
<ConfigName>MyWindowsConfig</ConfigName>

HostNames The hostname of the computer.

EXAMPLE
<HostName>MyServer1*</HostName>

BiosSerialNumbers The BIOS serial number of the computer.

EXAMPLE
<BiosSerialNumber>123456*</BiosSerialNumber>

OperatingSystems The operating system of the computer.

EXAMPLE
<OperatingSystem>Windows*</OperatingSystem>

7.7.1 CONFIGURATION
A SiteConfiguration group contains a boolean expression and groups of criteria. Each
group is given a name used as identifier in the boolean expression. Each group of criteria
is evaluated to true or false, depending on whether the evaluated computer fulfills the

Page 32 of 56 SNOWSOFTWARE.COM
criteria or not, and then it is added in the boolean expression. Finally, if the boolean
expression evaluates to true, then HostNameOnly mode is used to identify the computer.

NOTE

▪ All of the criteria tags are optional.

▪ The xml schema for criteria definition is case sensitive.

▪ The criteria parameters are not case sensitive.

▪ There can be multiple SiteConfiguration groups to account for different site


configurations.

7.7.1.1 DEFAULT CONFIGURATION


From Inventory Server version 5.1.7, the configuration file is delivered with a default
configuration for HostNameOnly mode applicable to virtual servers (LPAR) on Unix AIX:

<AgentIdentity>
<HostNameOnly>
<SiteConfiguration expression="{B}">
<OperatingSystems name="B">
<OperatingSystem>AIX</OperatingSystem>
</OperatingSystems>
</SiteConfiguration>
</HostNameOnly>
</AgentIdentity>

For older installations of Inventory Server, manually add the element to the configuration
file.

7.7.1.2 CONFIGURATION EXAMPLES


EXAMPLE 1

Target: All computers in all sites.

<Configuration>
<AgentIdentity>
<HostNameOnly>
<SiteConfiguration expression="{A}">
<SiteNames name="A">
<SiteName>*</SiteName>
</SiteNames>
</SiteConfiguration>
</HostNameOnly>
</AgentIdentity>
</Configuration>

EXAMPLE 2

Target: All computers in MySite, and with a configuration that is either MyConfig1 or
MyConfig2.

Page 33 of 56 SNOWSOFTWARE.COM
<Configuration>
<AgentIdentity>
<HostNameOnly>
<SiteConfiguration expression="{A} AND {B}">
<SiteNames name="A">
<SiteName>MySite</SiteName>
</SiteNames>
<ConfigNames name="B">
<ConfigName>MyConfig1</ConfigName>
<ConfigName>MyConfig2</ConfigName>
</ConfigNames>
</SiteConfiguration>
</HostNameOnly>
</AgentIdentity>
</Configuration>

EXAMPLE 3

Target: All computers with a configuration that is either MyConfig1 or MyConfig2.

<Configuration>
<AgentIdentity>
<HostNameOnly>
<SiteConfiguration expression="{A} AND {B}">
<ConfigNames name="A">
<ConfigName>MyConfig1</ConfigName>
<ConfigName>MyConfig2</ConfigName>
</ConfigNames>
</SiteConfiguration>
</HostNameOnly>
</AgentIdentity>
</Configuration>

EXAMPLE 4

Target: All computers that meet either Scenario 1 or Scenario 2.

▪ Scenario 1:

◦ site is MySite

◦ configuration is MyConfig1 or MyConfig2

◦ computer name does not contain the string bde

◦ computer name is not equal to host2

▪ Scenario 2:

◦ the BIOS serial number is To Be Filled By O.E.M., System Serial Number,


or 0123456789.

Page 34 of 56 SNOWSOFTWARE.COM
<Configuration>
<AgentIdentity>
<HostNameOnly>
<SiteConfiguration expression="({A} AND {B} AND {E} and not{C}) or {D}">
<SiteNames name="A">
<SiteName>MySite</SiteName>
</SiteNames>
<ConfigNames name="B">
<ConfigName>MyConfig1</ConfigName>
<ConfigName>MyConfig2</ConfigName>
</ConfigNames>
<HostNames name="C">
<HostName>*bde*</HostName>
<HostName>host2</HostName>
</HostNames>
<BiosSerialNumbers name="D">
<BiosSerialNumber>To Be Filled By O.E.M.</BiosSerialNumber>
<BiosSerialNumber>System Serial Number</
BiosSerialNumber>
<BiosSerialNumber>0123456789</BiosSerialNumber>
</BiosSerialNumbers>
</SiteConfiguration>
</HostNameOnly>
</AgentIdentity>
</Configuration>

7.8 COMPUTER IDENTITY -


HOSTNAMENORMALIZATION
HostnameNormalization is a feature that is introduced with Snow Inventory 6.1.0.

Use of the HostnameNormalization feature changes how computer hostnames are


recorded. HostnameNormalization truncates computer names if they contain a period;
every character after and including the first period is deleted. For example: if
HostNameNormalization is applied, the hostname for the computer
Computer1.company.europe.com is transformed to Computer1.

The normalized hostname also affects identity management and can aid consolidating data
from different data sources for the same computer.

This feature is not enabled by default. It can apply to the entire computer estate, or to a
portion of it, defined by configurable criteria. The criteria are defined in the
snowserver.config configuration file, and their parameters are detailed in the table below.

CAUTION
Take care when planning to configure and enable the HostNameNormalization
feature. When the feature is applied, the data already processed is not affected
retroactively, and only newly incoming data is normalized.

Especially when used together with the HostNameOnly mode, a change in the
configuration of this feature can lead to duplication of affected computer entries.

Page 35 of 56 SNOWSOFTWARE.COM
Available criteria Description
group

SiteNames The site name of the computer, defined in the Inventory Agent
configuration file.

EXAMPLE
<SiteName>MySite</SiteName>

ConfigNames The name of the Inventory Agent configuration, defined in the agent
configuration file.

EXAMPLE
<ConfigName>MyWindowsConfig</ConfigName>

HostNames The hostname of the computer.

EXAMPLE
<HostName>*.domain.local</HostName>

OperatingSystems The operating system of the computer.

EXAMPLE
<OperatingSystem>Windows*</OperatingSystem>

EXAMPLE
Linux server with Snow Inventory Agent and ILMT connector
A scenario where the HostnameNormalization feature can be used is when Snow
Inventory collects data for a Linux server using both the Snow Inventory Agent for
Linux and the IBM License Metric Tool (ILMT) connector, and the Linux server
hostname is configured as FQDN.

In this case the desired outcome is to have one computer entry that combines the
software data coming from the agent and the IBM Processor Value Unit data coming
from the ILMT connector.

Configure the HostnameNormalization feature to make sure that the entries from
the different data sources are consolidated as one computer and not as different
computers.

EXAMPLE
Misconfiguration for HostNameOnly and HostnameNormalization
In this scenario, the Snow Inventory Agent is configured with the same SiteName
for all computers, both HostNameOnly mode and HostnameNormalization are
enabled for the entire computer estate.

The hostnames for the computers server01.europe.company.com and


server01.america.company.com are both changed to server01, and the data
for the two computers are merged together in a single computer entry, which is not
a correct representation.

Page 36 of 56 SNOWSOFTWARE.COM
7.8.1 CONFIGURATION
A SiteConfiguration group contains a boolean expression and groups of criteria. Each
group is given a name used as identifier in the boolean expression. Each group of criteria
is evaluated to true or false, depending on whether the evaluated computer fulfills the
criteria or not, and then it is added in the boolean expression. Finally, if the boolean
expression evaluates to true, then HostNameOnly mode is used to identify the computer.

NOTE

▪ All of the criteria tags are optional.

▪ The xml schema for criteria definition is case sensitive.

▪ The criteria parameters are not case sensitive.

▪ There can be multiple SiteConfiguration groups to account for different site


configurations.

EXAMPLE
<?xml version="1.0" encoding="utf-8"?>
<Configuration>
<Master>
[…]
<HostnameNormalization>
<SiteConfiguration expression="{A} AND {B}">
<SiteNames name="A">
<SiteName>snow*</SiteName>
</SiteNames>
<ConfigNames name="B">
<ConfigName>linux-config</ConfigName>
</ConfigNames>
</SiteConfiguration>
</HostnameNormalization>
</Master>
[…]
</Configuration>

EXAMPLE
Enable HostnameNormalization for the entire estate
<?xml version="1.0" encoding="utf-8"?>
<Configuration>
<Master>
[…]
<HostnameNormalization>
<SiteConfiguration expression="true"/>
</HostnameNormalization>
</Master>
[…]
</Configuration>

7.9 MODULE CONFIGURATION


There is some configuration that can be made in the <ModuleConfiguration> element of
the Inventory Server configuration file. As seen in the example, the ModuleConfiguration

Page 37 of 56 SNOWSOFTWARE.COM
tag can be added as the last tag in the configuration file (before the closing </
Configuration> tag)

EXAMPLE

<ModuleConfiguration>
<Module
typeName="SnowSoftware.Inventory.Discovery.ActiveDirectory.ActiveDirectoryDisc
overyModule">
<Setter propertyName="IsEnabled">true</Setter>
<Setter propertyName="Interval">7.00:00:</Setter>
</Module>
<Module typeName="SnowSoftware.Inventory.Server.OwinWebApiServerModule">
<Setter propertyName="BaseAddress">"http://server1:8778"</Setter>
<Setter propertyName="AltBaseAddresses">["http://server1:8779","http://
server2:8779]</Setter>
</Module>
</ModuleConfiguration>

The following sections describe some useful modules. For detailed configuration examples,
see Technical Reference: Module Configuration examples for Snow Inventory Server (.xml
file).

7.9.1 FILE PROCESSING

FILEPROCESSORMODULE
This module is used for configuration of data processing settings for the inventory files.

propertyName Description

MaxDegreeOfConcurrency Allowed number of inventory files that can be concurrently


processed.
(Former IDP setting
MultiProcessCount) Default = 2 x number of processor cores of the computer

UserName

ClearUserDomain Set to true, the domain part is allowed to be removed


from the logon name.

Default = false

Page 38 of 56 SNOWSOFTWARE.COM
propertyName Description

ElementProcessorSet A sub-set of the elements that are processed and stored


in the database.
(Former IDP setting
LicenseManagerLimitation) To only process and store information that is presented in
Snow License Manager, remove the following elements
from the module configuration:

▪ DEVICE_DRIVER

▪ EXPANSION_SLOT

▪ FONT

▪ KEYBOARD

▪ MODEM

▪ MOUSE

▪ MULTIMEDIA

▪ ODBC

▪ PCI_BUS

▪ PORT

▪ SCSI_ADAPTER

▪ TAPE_DRIVE

▪ UNIVERSAL_SERIAL_BUS

Page 39 of 56 SNOWSOFTWARE.COM
EXAMPLE

<ModuleConfiguration>
<Module typeName="FileProcessorModule">
<Setter propertyName="MaxDegreeOfConcurrency">8</Setter>
<Setter propertyName="MaxUnitCountLicenseGrant">null</Setter>
<Setter propertyName="MaxExpiryLicenseGrant">null</Setter>
<Setter propertyName="MaxStorageBytesForAgentCompressedLogSize">131072</
Setter>
<Setter propertyName="DatabaseErrorTimeout">"00:02:00"</Setter>
<Setter propertyName="ChecksumBuilderMask">-1</Setter>
<Setter propertyName="Interval">"00:00:30"</Setter>
<Setter propertyName="ElementProcessorSet">[
"AGENT_LOG",
"AIX_PARTITIONING",
"CLIENT_STORAGE_DATA",
"CUSTOM_REGKEY",
"DATA_CENTER",
"DEVICE_DRIVER",
"DISPLAY_ADAPTER",
"ENVIRONMENT_VARIABLE",
"EXPANSION_SLOT",
"FONT",
"IBM",
"KEYBOARD",
"LOGICAL_DISK",
"LOGIN_USER",
"MEMORY",
"METERING",
"MOBILE_DEVICE",
"MODEM",
"MONITOR",
"MOUSE",
"MULTIMEDIA",
"NETWORK",
"NT_SERVICE",
"ODBC",
"OPERATING_SYSTEM",
"ORACLE",
"PCI_BUS",
"PHYSICAL_DISK",
"PORT",
"PRINTER",
"PROCESSOR",
"SCAN_STATUS_REPORT",
"SCSI_ADAPTER",
"SWID_TAG",
"TAPE_DRIVE",
"UNIVERSAL_SERIAL_BUS",
"VIRTUAL_MACHINE",
"VIRTUAL_SOFTWARE",
"WEBMETERING",
"WEBMETERINGDISCOVERY"]</Setter>
</Module>
</ModuleConfiguration>

Page 40 of 56 SNOWSOFTWARE.COM
7.9.2 DATA FILE QUEUE

DATAFILEQUEUEMODULE
This module is used to save copies of inventory-data files. This can be useful to save
copies of the snowpack files that are otherwise processed by Snow Inventory Server and
subsequently deleted, for example for migration and troubleshooting purposes.

propertyName Description

IncomingFolder The base folder from where inventory files are retrieved for
processing.

IncomingFolder = C:\Program Files\Snow Software


\Snow Inventory\Server\Incoming

Files are retrieved from <IncomingFolder>\data


\processing

EnableFileHistory Set to true, copies of inventory files will be saved.

Set to false, copies of inventory files will not be saved.

Default = false

Copies of inventory files are saved in <IncomingFolder>


\data\history

EnableFileHistoryForAllData Set to true, inventory files and files that contain heartbeat
information will be saved.

Set to false, only inventory files will be saved.

Default = false

Copies of files that contain heartbeat information are saved


in <IncomingFolder>\data\history

NOTE
Copies of inventory-data files are not automatically deleted. Make sure to delete
them manually from time to time to prevent a full disk.

<ModuleConfiguration>
<Module typeName="DataFileQueueModule">
<Setter propertyName="IncomingFolder">"C:\\Program Files\\Snow Software\
\Snow Inventory\\Server\\Incoming"</Setter>
<Setter propertyName="EnableFileHistory">false</Setter>
<Setter propertyName="EnableFileHistoryForAllData">false</Setter>
</Module>
</ModuleConfiguration>

7.9.3 DISCOVERY FILE QUEUE

DISCOVERYFILEQUEUEMODULE
This module is used to save copies of discovery-data files.

Page 41 of 56 SNOWSOFTWARE.COM
propertyName Description

IncomingFolder The base folder from where inventory files are retrieved for processing.

IncomingFolder = C:\Program Files\Snow Software\Snow


Inventory\Server\Incoming

Files are retrieved from <IncomingFolder>\data\processing

EnableFileHistory Set to true, copies of discovery-data files will be saved.

Set to false, copies of discovery-data files will not be saved.

Default = false

Copies of discovery-data files are saved in <IncomingFolder>


\announcements\history

NOTE
Copies of discovery-data files are not automatically deleted. Make sure to delete
them manually from time to time to prevent a full disk.

<ModuleConfiguration>
<Module typeName="DiscoveryFileQueueModule">
<Setter propertyName="IncomingFolder">"C:\\Program Files\\Snow Software\
\Snow Inventory\\Server\\Incoming"</Setter>
<Setter propertyName="EnableFileHistory">false</Setter>
</Module>
</ModuleConfiguration>

7.9.4 ACTIVE DIRECTORY DISCOVERY

ACTIVEDIRECTORYDISCOVERYMODULE
This module is used for configuration of Active Directory Discovery settings.

propertyName Description

Interval Set the period of time for when a new Active Directory Discovery scan will
begin after the previous scan has completed (D.HH:MM:SS).

EXAMPLE
With an Interval to "7.00:00:00" the next scan will start 7 days
after the previous scan completed.

EXAMPLE

<ModuleConfiguration>
<Module typeName="ActiveDirectoryDiscoveryModule">
<Setter propertyName="IsEnabled">true</Setter>
<Setter propertyName="Interval">"7.00:00:00"</Setter>
</Module>
</ModuleConfiguration>

Page 42 of 56 SNOWSOFTWARE.COM
7.9.5 NETWORK DISCOVERY

NETWORKDISCOVERYMODULE
This module is used for configuration of Network Discovery settings.

propertyName Description

Interval Set the period of time for when a new Network Discovery scan will begin
after the previous scan completed (D.HH:MM:SS).

Default = 1.00:00:00

EXAMPLE
With the default Interval "1.00:00:00" the next scan will start 1
day after the previous scan completed.

NOTE
If the value is set to less than 30 seconds, the server will use an
interval of 30 seconds.

EXAMPLE

<ModuleConfiguration>
<Module typeName="NetworkDiscoveryModule">
<Setter propertyName="MaxDegreeOfConcurrency">5</Setter>
<Setter propertyName="Interval">"1.00:00:00"</Setter>
<Setter propertyName="RateLimiterMaxTotalPackets">700</Setter>
<Setter propertyName="RateLimiterMaxTotalBytes">1048576</Setter>
<Setter propertyName="RateLimiterWindow">"00:00:30"</Setter>
<Setter propertyName="RateLimiterVariance">0.02</Setter>
<Setter propertyName="IsEnabled">true</Setter>
</Module>
</ModuleConfiguration>

7.9.6 GARBAGE COLLECTION

GARBAGECOLLECTIONMODULE
This module is used for configuration of garbage collection settings. Garbage collection is
used for removal of historical inventory data from the Inventory database.

propertyName Description

IsEnabled Set to true , garbage collection will run. Only


set number of value changes will be saved.

Set to false , no garbage collection will run.

Default = true

Page 43 of 56 SNOWSOFTWARE.COM
propertyName Description

Interval Specifies the time that must pass since the prior
run of the garbage collector has completed. This
value is specified in the hh:mm:ss format.

Default = 02:00:00

MaxSequenceNumbers Number of saved value changes.

Default = 1

SqlCommandTimeOut Set the time limit of duration (in seconds) for


how long garbage collection will run for each
individual data table of the client. When set to
0 , the duration has no limit (infinite duration).

Default = 180

DaysOfCumulativeTableHistoryToKeep Set the number of days to keep historical data


of user login, metering, metering concurrency,
and cloud metering.

Default = 90

DaysOfMetricHistoryToKeep Set the number of days to keep statistical


troubleshooting data.

Default = 30

NOTE
This data can only be read by Snow
Software staff.

EXAMPLE

<ModuleConfiguration>
<Module typeName="GarbageCollectionModule">
<Setter propertyName="IsEnabled">true</Setter>
<Setter propertyName="Interval">"02:00:00"</Setter>
<Setter propertyName="MaxSequenceNumbers">1</Setter>
<Setter propertyName="DaysOfCumulativeTableHistoryToKeep">90</Setter>
<Setter propertyName="DaysOfMetricHistoryToKeep">30</Setter>
<Setter propertyName="SqlCommandTimeOut">180</Setter>
</Module>
</ModuleConfiguration>

7.9.7 OWIN WEB API SERVER

OWINWEBAPISERVERMODULE
This module is used to configure the HTTP/HTTPS endpoint that is opened by Inventory
Server. The following table details some notable properties.

Page 44 of 56 SNOWSOFTWARE.COM
propertyName Description

UseStrictTransportSecurityHeader Enter as a response header when SSL


is enabled. By default this value is
true.

StrictSecurityTransportHeaderMaxAge When
UseStrictTransportSecurityHeader
is enabled, this is the maximum time,
in seconds, that a connection will be
maintained via HTTPS. By default this
value is 100.

StrictSecurityTransportHeaderPreload If true, HTTP links are turned into


HTTPS links before a data connection
is established. By default this value is
true.

StrictSecurityTransportHeaderIncludeSubDomains If true, subdomains will be included.


By default this value is false.

UseErroneousServerBehavior For internal use only. Do not change


this value.

NOTE
HTTP Strict Transport Security is an opt-in security enhancement through use of
a special response header. The specification for this enhancement is released and
published by Internet Engineering Task Force. The entire specification is found here:
datatracker.ietf.org/doc/rfc6797/?include_text=1.

EXAMPLE

<ModuleConfiguration>
<Module typeName="OwinWebApiServerModule">
<Setter propertyName="BaseAddress">"https://*:8443"</Setter>
<Setter propertyName="ApiEndpoint">"https://api.aleb-lab.local:8444"</
Setter>
<Setter propertyName="AltBaseAddresses">["http://*:8080"]</Setter>
<Setter propertyName="RequireClientCertificate">false</Setter>
<Setter propertyName="IsVerbose">false</Setter>
<Setter propertyName="LogScopeName">"master"</Setter>
<Setter propertyName="SiteNameAuthenticationList">null</Setter>
<Setter propertyName="ClientCertificateThumbprints">null</Setter>
<Setter propertyName="UseErroneousServerBehavior">false</Setter>
<Setter propertyName="ServiceUnavailableProbability">1.0</Setter>
<Setter propertyName="InternalServerErrorProbability">1.0</Setter>
<Setter propertyName="MaxRequestMessageSize">67108864</Setter>
<Setter propertyName="MaxConcurrentRequestCount">null</Setter>
<Setter propertyName="UseStrictTransportSecurityHeader">true</Setter>
<Setter propertyName="StrictSecurityTransportHeaderMaxAge">100</Setter>
<Setter propertyName="StrictSecurityTransportHeaderPreload">true</
Setter>
<Setter
propertyName="StrictSecurityTransportHeaderIncludeSubDomains">false</Setter>
</Module>

Page 45 of 56 SNOWSOFTWARE.COM
</Module>
</ModuleConfiguration>

7.9.8 PERFORMANCE STATISTICS

MEASUREMENTMETRICREPLICATIONMODULE
This module enables archiving of performance statistics of the data processing. The
feature is used for troubleshooting, and has little impact on the server performance.

propertyName Description

IsEnabled Manage measuring of data processing performance statistics.

Default = false

EXAMPLE
<ModuleConfiguration>
<Module typeName="MeasurementMetricReplicationModule">
<Setter propertyName="Window">"00:00:15"</Setter>
<Setter propertyName="FlushInterval">"00:02:00"</Setter>
<Setter propertyName="IsEnabled">true</Setter>
<Setter propertyName="StatisticsDirectory">"C:\\Program Files\\Snow
Software\\Snow Inventory\\Server\\stats"</Setter>
</Module>
</ModuleConfiguration>

7.9.9 CLOUD METERING

CLOUDMETERINGMODULE
This module is used for configuration of Cloud metering settings.

propertyName Description

IncomingFolder The folder on the Inventory Server where the DIS rules distributed by
SUS will be stored.

Default = C:\ProgramData\SnowSoftware\Inventory\Resources
\DIS Rules

Interval Set the period of time for how often the Inventory Server will check the
IncomingFolder for updates (D:HH:MM:SS).

Default = 12:00:00 (12 hours)

EXAMPLE
<ModuleConfiguration>
<Module typeName="CloudMeteringModule">
<Setter propertyName="IncomingFolder">"C:\\ProgramData\\SnowSoftware\
\Inventory\\Resources\\DIS Rules"</Setter>
<Setter propertyName="Interval">"12:00:00"</Setter>
</Module>
</ModuleConfiguration>

Page 46 of 56 SNOWSOFTWARE.COM
7.9.10 SQL CONNECTION SERVICE

SQLCONNECTIONSERVICEMODULE
This module is used to configure timeout values for connection attempts and command
executions against the Snow Inventory Server database.

propertyName Description

CommandTimeout The number of seconds that must lapse before a command execution
against the Snow Inventory Server database times out. The default
value is 300.

ConnectionTimeout The number of seconds that must lapse before a connection attempt
against the Snow Inventory Server database times out. The default is
null value, which translates to 15 seconds.

IsStatisticsEnabled This value is reserved and should be true.

7.10 EXTRACT THE PUBLIC KEY FOR PINNING


Support for public key pinning is introduced with Snow Inventory Server 6.0.7.

Public key pinning prevents man-in-the-middle attacks from occurring on the


communication link between agents and Snow Inventory endpoints, such as Snow
Inventory Server or a service gateway. It is recommended to enable the public key pinning
feature by default to ensure security of data in transit and fully mitigate potential man-in-
the-middle attacks.

During initial communication establishment between an agent and an endpoint, the agent
checks whether the encoded hash key of the endpoint matches the expected key, which is
stored as a hash value in the agent configuration file (default snowagent.config). If the
values match, communication is established, and dropped otherwise. The key is a base64-
encoded sha256-hash string.

For information on how to configure Snow Inventory Agent 6 to enable the public key
pinning feature, read User Guide: Configuration for Snow Inventory Agents version 6 as
available in the Snow Knowledgebase.

CAUTION
Take care when editing the Snow Inventory Server configuration file; erroneous
configuration will stop the server and may require that you contact your local Snow
Professional Services contact person.

The following guide can be used from any machine that has network access to the Snow
Inventory Server.

The recommended steps, for example, by use with an OpenSSL client:

1. Open a communication link with the endpoint

openssl s_client -servername www.invserver.com -connect www.invserver.com:443


< /dev/null | sed -n "/-----BEGIN/,/-----END/p" > www.invserver.com.pem
2. Extract the public key from the endpoint's certificate, which is often in the pem
format

Page 47 of 56 SNOWSOFTWARE.COM
openssl x509 -in www.invserver.com.pem -pubkey -noout >
www.invserver.com.pubkey.pem
3. Convert the public key from pem to the appropriate format for the local operating
system

openssl asn1parse -noout -inform pem -in www.invserver.com.pubkey.pem -out


www.invserver.com.pubkey.der
4. SHA 256-hash and base-64 encode the key in the local format

openssl dgst -sha256 -binary www.invserver.com.pubkey.der | openssl base64

7.11 CONFIGURE LOGGING


Snow Inventory writes log files that are found in the log files location.

The maximum number of log files is five.

The Snow Inventory configuration file can be configured to modify default logging.

The <Logging> parameter must be added to the Snow Inventory configuration file
together with preferred tags. If a tag is added, logging will be recorded for that tag.

The following code will enable logging for all tags:

<Logging>
<Tags>
<Tag>*</Tag>
</Tags>
</Logging>

For troubleshooting purposes, it is advised to only include tags that you would like to see
logging for.

To see all available tags, follow these steps when you are signed in to the Windows server
that hosts Snow Inventory:

1. Start Command Prompt


2. Enter snowserver.exe lt
3. Press Enter

The following code is an example of logging that is enabled for the request-pipe, ssl, and
local-storage tags.

<Logging>
<Tags>
<Tag>request-pipe</Tag>
<Tag>ssl</Tag>
<Tag>local-storage</Tag>
</Tags>
<MaxLogSize>100</MaxLogSize>
</Logging>

<MaxLogSize> can be used to modify the default log-file size. The value for this parameter
represents the number of megabytes (MB) that the file can grow to. By default a log file
can grow to a maximum of two MB in size. The maximum log-file size is 500 MB.

To disable logging for all tags, modify the configuration file as follows:

Page 48 of 56 SNOWSOFTWARE.COM
<Logging>
<Tags></Tags>
</Logging>

7.12 PROTECTION AGAINST DENIAL-OF-SERVICE


ATTACKS
This feature is introduced with Snow Inventory Server 6.2.1.

To protect against Denial-of-Service attacks, Snow Inventory Server can be configured to


limit the accepted size and rate of incoming data to the Snow Inventory Server web APIs.

The settings are made in the <Server> section of the Snow Inventory Server configuration
file. The following options are available:

▪ MaxConcurrentRequestCount: Sets a limit for the number of concurrent requests


handled by the Snow Inventory Server web APIs. The default value is Unlimited.

▪ MaxRequestMessageSize: Sets a limit, in MB, for the data payload size accepted
by the Snow Inventory Server web APIs. The default value is 64 MB.

EXAMPLE

<Configuration>
<Master>
...
<Server>
...
<SiteName>SnowInventory</SiteName>
<IncomingFolder>C:\Program Files\Snow Software\Snow
Inventory\Server\Incoming</IncomingFolder>
<BaseAddress>https://*:8085</BaseAddress>
<MaxConcurrentRequestCount>200</MaxConcurrentRequestCount>
...
</Server>
...
</Master>
</Configuration>

7.13 UPDATE A SSL CERTIFICATE


A SSL certificate is valid for a limited period of time. To update a SSL certificate is related
to Microsoft Windows Server and not to Snow Software products. Snow Globe contains a
support article named How to Update SSL Certificate for Inventory, which is available by
logging in and then searching for the article.

7.14 CUSTOMIZABLE PROCESSING LOGIC


Customizable processing logic is introduced with Snow Inventory Server 6.5.0.

Snow Inventory Agent and other data sources—for example, Snow Integration Manager—
store data in inv3x.xml files that are then packed into .inv or .snowpack files and sent to
Snow Inventory Server.

Page 49 of 56 SNOWSOFTWARE.COM
The content and the structure of an inv3x.xml file can be seen by use of the Snow
Inventory File Extractor tool; Details of this tool and the tool itself is available for
download at Snow Globe.

Snow Inventory Server receives the data, processes it, and stores it in the Snow Inventory
database.

Most of the data that is processed by Snow Inventory Server is stored as is in the Snow
Inventory database. Some attribute values are evaluated during data processing according
to preconfigured rules. Snow Inventory Server allows these logics to be extended and
customized with Customizable processing logic.

Customizable processing logic allows existing Snow Inventory Server logics to be extended
by applying additional and custom-made rules. These rules are defined in an XML file that
is named DataProcessorRules.xml and saved in folder where Snow Inventory Server is
installed*. This file is loaded by Snow Inventory Server when started and is then
processed by Customizable processing logic.
*A custom path and file name can be used by entering the -data-rules-file [drive:]
[path]filename global option.

7.14.1 FUNCTIONAL DESIGN


Customizable processing logic implements rules to customize attribute values for four
different data points that are found in an inventory file:

▪ Evaluate the operating-system type.

▪ Evaluate whether an operating system is server or not.

▪ Evaluate whether a computer is a virtual machine or not, and, if it is a virtual


computer, what kind of hypervisor is used.

▪ Normalize name, version, and edition of an Oracle database installation.

Snow Inventory Server implements hard-coded normalization rules. When processing


inventory data, Snow Inventory Server will first apply its hardcoded rules, and, if no
normalization can be performed, and then use Customizable processing logic, if a valid
DataProcessorRules.xml file is found.

If inventoried data does not match any rules, a default value or a null value will be
entered in the Snow Inventory database.

The DataProcessor.xml file structure:

<?xml version="1.0" encoding="utf-8"?>


<DataProcessingTypes>
<!-- RuleType: all the rules for a given data point are grouped here -->
<!-- Rule: a rule is defined by an Expression filter and the Output Parameter(s)
-->
<!-- Named Expression Token: represents the Input Parameter, the Name
attribute is referred to in the rule's Expression filter -->pattern to match<!-- /
Named Expression Token -->
<!-- Other named tokens ... -->
<!-- /Rule -->
<!-- Other rules ... -->
<!-- /RuleType -->
<!-- Other rule types... -->
</DataProcessingTypes><?xml version="1.0" encoding="utf-8"?>

Page 50 of 56 SNOWSOFTWARE.COM
<DataProcessingTypes>
<!-- here are the rules: see examples below -->
</DataProcessingTypes>

For example, a Customizable processing logic file that contains rules to identify an Ubuntu
operating system as a Linux-type, server-class, operating-system looks like this:
<?xml version="1.0" encoding="utf-8"?>
<DataProcessingTypes>
<ServerOperatingSystems>
<ServerOperatingSystemType Expression="{A}">
<OperatingSystem Name="A">ubuntu</OperatingSystem>
</ServerOperatingSystemType>
</ServerOperatingSystems>
<OperatingSystemTypes>
<OperatingSystemType Expression="{A}" OSType="Linux">
<OperatingSystem Name="A">ubuntu</OperatingSystem>
</OperatingSystemType>
</OperatingSystemTypes>
</DataProcessingTypes>

Rules are grouped by RuleType. There are four RuleTypes to reflect the four data points
that are handled by Customizable processing logic:

▪ <VirtualMachineTypes> contains <VirtualMachineType> rules.

▪ <OperatingSystemName> contains <OperatingSystemType> rules

▪ <ServerOperatingSystems> contains <ServerOperatingSystem> rules.

▪ <OracleDatabaseTypes> contains <OracleDatabaseTypes>.

The next section details the RuleTypes, including their input and output parameters.

Expression contains a template for a Boolean expression that must be applied to Named
Expression Tokens that are defined in the sub-elements of a rule. The expression is a
combination of Boolean logical operators (AND, OR, and NOT) that compare results of
logical evaluation of sub-elements. Parentheses can be be used to group different logic
operations in an Expression. The Output Parameters that are defined in a rule will be
returned if the rule is triggered.

A Named Expression Token represents the Input Parameter of a rule and the value of
the Name attribute is referred to in the expression. The logic always matches a value
string from an attribute in an inv3x.xml file against the value that is enclosed in its tag.
The evaluation compares the value of the Input Parameter that is retrieved from the
inv3x.xml file with the string that is enclosed in the parameter. By default, the evaluation
contains the "ContainsIgnoreCase" logic. This behavior can be changed by specifying a
different logic as value for the Logic attribute of the Named Expression Token. The
values for the Logic attribute are:

▪ ContainsIgnoreCase: This checks if an enclosed substring contains the incoming-


parameter value. The check is not case sensitive.

▪ ContainsWithCase: This is identical to ContainsIgnoreCase except that it is case


sensitive.

▪ StartsWithIgnoreCase: This checks an enclosed substring at the end of a


parameter. The check is not case sensitive.

▪ EndsWithIgnoreCase: This is identical to StartsWithIgnoreCase except that it is


case sensitive.

Page 51 of 56 SNOWSOFTWARE.COM
▪ EndsWithCase: This is identical to EndsWithIgnoreCase except that it is case
sensitive.

▪ EqualsIgnoreCase: This checks if an enclosed substring is the same as the


parameter value.

▪ EqualsWithCase: This is identical to EqualsIgnoreCase except that it is case


sensitive.

Example:

<Manufacturer Name="B" Logic="StartsWithIgnoreCase">Google</Manufacturer>

7.14.2 RULE TYPES

7.14.2.1 VIRTUALMACHINETYPE
This type of rule detects whether an inventory file represents a virtual machine or not and
an eventual hypervisor name. The rule also normalizes attributes such as Manufacturer
and Model.

The following table shows possible input parameters and corresponding attributes and
elements in the inx3x.xml file.

Input parameter Inv3X tag Tag attribute

Model Client Model

ClientType Client ClientType

Manufacturer Client Manufacturer

OperatingSystem OperatingSystem Name

The following table shows possible output values and corresponding affected table and
columns in the Snow Inventory database.

Output parameter name Database table Column

Model inv.DataClient Model

ClientType inv.DataClient Type

Manufacturer inv.DataClient Manufacturer

HypervisorName inv.DataClient HypervisorName

IsVirtual inv.DataClient IsVirtual

Example:

<VirtualMachineType Expression="({A} OR {C}) AND NOT {B}" HypervisorName="VMware


Virtual Platform" IsVirtual="true">
<Model Name="A">vmware</Model>
<OperatingSystem Name="B">esx</OperatingSystem>
<Manufacturer Name="C">vmware</Manufacturer>
</VirtualMachineType>

Page 52 of 56 SNOWSOFTWARE.COM
7.14.2.2 OPERATINGSYSTEMTYPE
This type of rule detects the operating-system family (e.g. Linux, Windows, and Android).
This is done while creating ClientContext.

The following table shows input parameters and corresponding elements and attributes in
inv3x.xml.

Input parameter inv3x.xml element Attribute


name

IsMobileDevice Client IsMobileDevice

ScannerVersion Client ScannerVersion

IsExternalProvider Client [Note: this value is not read from


inv3x.xml, but is generated and based on
the contents of the file; If the ClientType
attribute of the Client element is equal to
'SIEDP', it is true.]

OperatingSystem OperatingSystem Name

ClientType Client ClientType

IsExternalProvider and IsMobileDevice are not used as Boolean values instead of being
compared with string patterns.

The following table shows possible output values and the corresponding affected table and
columns in the Snow Inventory database.

Output parameter name Database table Column

OsType inv.DataOperatingSystem OsType

[Note: see below.]

The output value of these rules is a string with the OsType name and the name stored in
the database is numeric.

The following table shows the correspondence between OsType names and numeric
values. The same correspondence is reported in the inv.OperatingSystemType table in the
Snow Inventory database.

OsType name OsType value

Windows 0

MacOsx 1

Linux 2

Hpux 3

Solaris 4

Aix 5

VmWare 6

Page 53 of 56 SNOWSOFTWARE.COM
OsType name OsType value

Citrix 7

iOS 8

Android 9

ChromeOS 10

WindowsPhone 11

Symbian 12

Blackberry 13

Mainframe 14

CrossPlatform 15

Undefined 255

Example:

<OperatingSystemType Expression="{A}" OSType="Linux">


<OperatingSystem Name="A">ubuntu</OperatingSystem>
</OperatingSystemType>

7.14.2.3 SERVEROPERATINGSYSTEMTYPE
This type of rule detects whether an operating-system is considered to be of server-class
or not.

The following table shows the input parameters and corresponding elements and
attributes in the inv3x.xml file.

Input parameter name inv3x.xml element Attribute

OperatingSystem OperatingSystem Name

The following table shows output values and the corresponding affected table and columns
in the Snow Inventory database.

Output parameter name Database table Column

[Implicit: 1 (true) if the inventory data matches the inv.DataOperatingSystem IsServer


filter]

The output parameter is implicitly defined and is therefore not mentioned in the
DataProcessorRules.xml file.

Example:

<ServerOperatingSystemType Expression="{A}">
<OperatingSystem Name="A">ubuntu</OperatingSystem>
</ServerOperatingSystemType>

Page 54 of 56 SNOWSOFTWARE.COM
7.14.2.4 ORACLEDATABASETYPE
This rule type is used to normalize the name, version and edition of Oracle database
products.

The following table shows input parameters and corresponding elements and attributes in
the Snow Inventory Oracle Scanner (SIOS) inv3x.xml file.

Input parameter name SIOS/inv3x.xml element Attribute

ProductName OracleDbTechnology DatabaseProduct

The following table shows output values and the corresponding affected table and columns
in the Snow Inventory database.

Output Database name Column


parameter
name

EvaluatedName inv.DataOracleDatabase ProductName

Version [Note: These output-parameter values are not stored as is in the


database. Instead, they contribute to the normalized product name which
Edition is defined as "Oracle Database {Version} {Edition}", which is then stored
in the ProductName column of the inv.DataOracleDatabase table.]

IsEvaluated [Note: This output parameter is only used to validate whether the input
parameter is valid or not; In the latter case, the execution of the rule set
is stopped.]

Example:

<OracleDatabaseTypes>
<OracleDatabaseType Expression="NOT ({A} OR {B} OR {C} OR {D})"
IsEvaluated="false">
<ProductName Name="A">database</ProductName>
<ProductName Name="B">oracle8</ProductName>
<ProductName Name="C">oracle8i</ProductName>
<ProductName Name="D">oracle9i</ProductName>
</OracleDatabaseType>
<OracleDatabaseType Expression="{A} AND {B}" EvaluatedName="Trusted Oracle
Database 8 Enterprise Edition">
<ProductName Name="A">trusted</ProductName>
<ProductName Name="B">8</ProductName>
</OracleDatabaseType>
<OracleDatabaseType Expression="{A} AND {B}" Version="18c" Edition="Enterprise
Edition">
<ProductName Name="A">18c</ProductName>
<ProductName Name="B">enterprise</ProductName>
</OracleDatabaseType>
</OracleDatabaseTypes>

The first rule is required to determine whether the product name contains a valid string or
not. If the product name to be normalized is not valid, the function will return the null
value.

If the second rule triggers, it will return the product-name string from the EvaluatedName
output parameter.

Page 55 of 56 SNOWSOFTWARE.COM
The third rule is used to determine the version and edition of an Oracle product. If the rule
is executed, the normalized product name will be entered into the Snow Inventory
database as "Oracle Database {Version} {Edition}," where version and edition are
corresponding output parameters.

7.14.2.5 LOGGING
Customizable processing logic does not generate logs by default. To facilitate
troubleshooting of rules, enable log generation for Customizable processing logic in the
Inventory Server snowserver.config file.

[...]
<Logging>
<Tags>
[...]
<Tag>data-rules-engine</Tag>
[...]
</Tags>
[...]
</Logging>
[...]

When data-rules-engine is enabled, logs are generated

Example:

2020-06-02T14:26:33+02:00;data-rules-engine;OperatingSystemType;;;DPRE returned
"Windows" as OS type when "OperatingSystem: Microsoft Windows Server 2016
Datacenter, Model: , Manufacturer: , ClientType: Snow Agent - Windows,
HypervisorName: , ScannerVersion: , IsMobileDevice: False, IsExternalProvider: False"
2020-06-02T14:27:24+02:00;data-rules-engine;VirtualMachineType;;;DPRE evaluation
results "OperatingSystem: Microsoft Windows Server 2016 Datacenter, Model: Google
Compute Engine, Manufacturer: Google, ClientType: Snow Agent - Windows,
HypervisorName: Google Compute Engine, IsVirtual: True" for client id "1"

Page 56 of 56 SNOWSOFTWARE.COM

You might also like