Policy Files (.npl)

FlexNet Manager Suite 2020 R1 (On-Premises)
Files with .npl extensions contain policy information for use by the FlexNet inventory agent (whether deployed in the Adopted case or the Agent third-party deployment case).
Tip: Policy files are not available to FlexNet inventory core components, in any of the Zero-footprint, FlexNet Inventory Scanner, or Core deployment scenarios.
Policy files are generated on demand by inventory beacons, based on information downloaded from the central application server. Each file contains links to all the information needed by the FlexNet inventory agent for normal operation. A separate policy file is generated when the first request is received from each installed FlexNet inventory agent, and the newly-generated policy (and all its dependent files) are cached against future requests. If the inventory beacon receives updated instructions from the central application server, the cache is cleared, such that new policies, incorporating the changed information, are generated when fresh requests are received.
You should not edit policy files, but viewing them can help you to determine that the policy information being distributed to managed devices is as you expect. For example, if the policy cache does not contain a policy for a target device that you expect to see, it may be because:
  • The managed device is requesting policy from a different inventory beacon
  • The managed device is yet to request policy from this inventory beacon since updated data from the central application server caused the policy cache to be cleared
  • The managed device is not correctly configured, or is malfunctioning.

Details for policy files created during policy distribution

Server location

Generated on demand by (and saved on) inventory beacons.

Folder

%CommonAppData%\Flexera Software\Staging\Common\Policies

Updated

Automatically on first request from a managed device. Calculated policy (and all dependent files) are cached against future requests. The cache is cleared when the inventory beacon receives updated data from the central application server.

File name format

deviceName-UID.npl (the unique identifier is derived from the IP addresses applicable to the managed device).

Format

XML (text).

Sample file

In the following sample, line numbers have been added for reference only; and lines have been shortened with placeholders for reproduction.

(1) <?xml version="1.0" encoding="utf-8"?>
(2) <!DOCTYPE Policy PUBLIC "Policy" "http://www.managesoft.com/policy.dtd">

(3) <Policy AppliesTo="*" Source="ManageSoft" Version="0">
(4)   <Policy GUID="GUID-for-policy-version" Source="ManageSoft" Version="0">
(5)     <Package href="PathToSchedule" ObjectID="IDForSchedule" Precedence="0" />
(6)     <Package href="PathToConfig" ObjectID="IDForConfig" Precedence="0" />
(7)     <Package href="PathToInvSettings" ObjectID="IDForInvSettings" Precedence="0" />
(8)     <Package href="PathToFailover" ObjectID="IDForFailover" Precedence="0" />
(9)     <Package href="PathToUpgrade" ObjectID="IDForUpgrade" Precedence="0" />
            ...
(10)   </Policy>
(11) </Policy>
The policy file contains links to package (.osd) files, and those files identify others that contain the actual content. The FlexNet inventory agent is able to deduce from the package files whether any of the referenced content files have been updated since last downloaded to the managed device by the FlexNet inventory agent. If there are no updates, there are no further downloads, which minimizes network load and maximizes performance. The components in the policy file, line by line, are:
  • (1) and (2): The XML header. The FlexNet inventory agent has built-in knowledge of the policy file structure, and does not use the DTD reference.
  • (3), (4), (10), and (11): Policy start and end tags, with attributes for version, source, and so on. The attribute AppliesTo="*" identifies machine policy (all users), and must not be changed.
  • (5): A link to the schedule for inventory collection by the FlexNet inventory agent. The schedule is saved on the inventory beacon in %CommonAppData%\Flexera Software\Staging\Common\Schedules. (Within the policy file, this path is referenced only as /Schedules/, with the file name appended.) This link is to the .osd file in the folder, and this in turn links to an .nds file that contains details of the schedule itself.
  • (6): A link to the client configuration file that contains initial settings for FlexNet inventory agent. Client configurations are saved on the inventory beacon in %CommonAppData%\Flexera Software\Staging\Common\ClientConfiguration. (Within the policy file, this path is referenced only as /ClientConfiguration/, with a subfolder and the file name appended. The subfolders hold distinct sets of client configurations, separated by the appropriate UID.) This link is to the .osd file in the folder, and this in turn links to an .ndc file that contains details of the client configuration itself. Client configuration is minimal, mainly declaring the starting point for use of the registry on the managed device by the FlexNet inventory agent, any settings for the IncludeDirectory preference, and whether usage tracking is enabled.
  • (7): A link to the inventory settings file that extends the inventory collection capabilities of the FlexNet inventory agent. Inventory settings packages for download and installation on managed devices are saved on the inventory beacon in %CommonAppData%\Flexera Software\Staging\Common\InventorySettingsConfiguration\InventorySettings. (Within the policy file, this path is referenced only as /InventorySettingsConfiguration/InventorySettings/, with the .osd file name appended.) The .osd package file links to an .ndc file, which in turn points to an InventorySettings.xml file that contains extensions for inventory gathering, including (for example) the queries used for Oracle Database inventory gathering.
    Tip: In operation for the Zero-footprint case, the inventory beacon uses an installed copy saved in %ProgramFiles%\Flexera Software\Inventory Beacon\RemoteExecution\Public\Inventory.
  • (8): A link to the failover settings, saved in %CommonAppData%\Flexera Software\Staging\Common\ClientSettings\Default Failover Settings (again, everything down to the Common folder is assumed in the policy file). As is common in the policy file, the link is to an.osd package file that links to an .ndc file containing the data. In this case, the data consists of a list of registry settings where the FlexNet inventory agent can save connection details for every known inventory beacon. If its preferred inventory beacon is unavailable, the FlexNet inventory agent can attempt inventory uploads to another inventory beacon that responds to an initial contact (inventory beacons saved in the failover list are configured for anonymous authentication). Notice that the failover settings are used independently by the ndupload, ndtrack, and ndlaunch components of the FlexNet inventory agent. (It is the ndlaunch component that downloads policy, and downloads and checks all .osd packages.)
  • (9): The first of several links to upgrade packages for the FlexNet inventory agent on supported platforms, with the first link being for Microsoft Windows, and following packages for named platforms. These are stored on the inventory beacon under %CommonAppData%\Flexera Software\Staging\Common\Packages\Flexera\Upgrade\ (with the path down to the Common folder being assumed in the policy file). Folders for approved version(s) of the FlexNet inventory agent, and for the revision to packages for that version, are included in the path; along with a platform-specific folder. The link concludes with the .osd file name, and this in turn points to the elements needed by for self-updating of the FlexNet inventory agent. This line of the policy file is repeated once for each supported platform on which the FlexNet inventory agent runs. The installed FlexNet inventory agent has the intelligence to download only its own required version, and only when an upgrade is required.

FlexNet Manager Suite (On-Premises)

2020 R1