File-based Discovery
Summarize
Summary of File-based Discovery
File-based Discovery in ServiceNow helps you identify software running on Windows, UNIX, and macOS servers and devices, even when registration information is unavailable. It enables you to manage software licenses, detect unlicensed or forbidden files, and evaluate potential threats from unwanted files by scanning for known file signatures and matching them to installed software. This process enhances your visibility into software assets and supports more accurate software asset management (SAM).
Show less
Key Features
- Plugin Requirements: Activation of the File-based Discovery plugin is necessary, which also activates the Software Asset Management - File Signature Normalization plugin.
- Discovery Process: Triggered during the exploration phase of Discovery, probes scan configured file extensions or paths on target servers. Results are matched to software using file name, size, and version data.
- Platform-Specific Handling: UNIX uses a smaller signature list processed directly on the target. Windows uses a larger signature list processed by the MID Server to filter and normalize file data before sending it to the instance.
- SAM Integration: When activated, matched files populate software product and publisher details and update the Software Installation table and license information.
- SWID Tag Support: Enabling SWID tags in the Discovery Configuration Console allows additional software metadata to be captured, linking software installs to SWID tags for enhanced tracking.
- Unidentified Files: Files not matched by normalization are stored in the Unidentified File Set table, allowing manual updates to improve future discovery accuracy.
- Cross-Platform Support: Supports Windows (various versions with PowerShell 3.0–7), UNIX/Linux (POSIX-compliant probes), AIX, HP/UX, and macOS environments.
Practical Considerations and Troubleshooting
- File-based Discovery can be disabled anytime via the Discovery Configuration Console; incomplete scans will have their file data ignored.
- On Ubuntu 20, change the default shell from sh to bash to avoid scan errors.
- PowerShell 7 is not supported for File-based Discovery or Windows ADME on Windows hosts.
- Files without version information (such as some extensions) will not have version data populated.
- Errors related to missing PowerShell cmdlets (e.g., 'Invoke-WmiMethod') indicate environment or configuration issues affecting discovery.
What You Can Expect
By leveraging File-based Discovery, you gain enhanced insight into installed software across your servers, improving license compliance monitoring and security posture through identification of unregistered, forbidden, or damaged files. Integration with SAM ensures software records and license usage are accurately maintained, while SWID tag support and unidentified file management enhance ongoing discovery accuracy and detail.
File-based Discovery helps you identify what software is running on your Windows and UNIX servers and devices, even if there’s no registration information available. You can then manage and maintain records of your software licenses, check for unlicensed files, detect forbidden or damaged files, and help evaluate any threats from unwanted files.
Required plugins
The File-based Discovery [com.snc.discovery.file_based_discovery] plugin is required for file signature filtering. Your Discovery subscription includes this plugin, but you must request activation. Once the File-based Discovery plugin is active, the Software Asset Management - File Signature Normalization [com.snc.file_signature_normalization] plugin is also activated. For more information on the File Signature Normalization plugin, see File Signature Normalization.
How File-based Discovery works
File-based Discovery enhances the pre-existing discovery of installed software. It scans target servers for a known list of file signatures and processes those files with an established set of rules. The resulting data enhances the identification of installed software and identifies unregistered software products. For information about using Agent Client Collector for Visibility Content to perform file-based discovery, see Discover java installation data using Agent Client Collector for Visibility Content file-based discovery.
File-based Discovery is triggered in the exploration phase of normal Discovery. File-based Discovery probes execute a scan searching for specific file extensions or file names in paths that you configure. The resulting file information is returned in the probe payload. The sensor attempts to match the discovered files with installed software, using the file name, size, and version returned by the probe. File-based Discovery uses file signatures to detect software that might not have been registered. This information is then stored in the File Information [cmdb_file_information] table with a reference to the CI of the server. You can view the files found from each CI in a related list on this table. For more information, see Related list of CI components. When Software Asset Management (SAM) is active, if any file matches a software product, Discovery populates the Product and Publisher information for that file. Use this information to understand what software is running on your server and to help evaluate any threats from unwanted files. Discovery uses lists of known file signatures for Windows and UNIX to constrain the scope of the search. The filtering process for Windows and UNIX hosts is executed differently because their signature lists differ greatly in size. The smaller UNIX signature list is included with the Unix - File Discovery probe and processed directly on the target. The Windows signature list is larger and can’t be processed on the target. The Windows - File Discovery probe scans the target for specific file extensions and paths and returns these results to the MID Server. The MID Server performs file signature filtering using the entire Windows list. The MID Server then sends all file information back to the instance for normalization and matching.
If SAMP is active on the instance, File-based Discovery creates or updates identified software products in the Software Installation [cmdb_sam_sw_install] table and updates the licenses of matched software packages. Without SAMP, no software records are created and only the file information goes into the File Information [cmdb_file_information] table.
File-based Discovery inserts any file not matched by the normalization process into the Unidentified File Set [cmdb_unidentified_file_set] table. You can update the records in this table and provide additional details for previously unidentified files. If you provide values for the Product and Publisher fields for a file, settings in SAMP can enable File-based Discovery to use that file for installed software matching in future discoveries.
You can disable File-based Discovery at any time by changing the setting in the Discovery Configuration Console. If you disable File-based Discovery before scan results are returned, the file data is ignored.
File-based Discovery supports Windows, UNIX, and macOS devices. The UNIX probe is POSIX-compliant and should run on any Linux/Solaris server. Discovery supports Windows versions 2008, 2008R2, 2012R2, 2016, 2019, and above with PowerShell 3.0–7. Discovery also supports AIX versions 5.3, 6.1, and 7.1 and HP/UX 8.11.
File-based Discovery and Windows ADME are not supported on Windows with PowerShell 7. File-based Discovery fails with the following error message: Error(s) during file-based discovery: Unable to start background scan. System.Management.Automation.CommandNotFoundException: The term
'Invoke-WmiMethod' is not recognized as a name of a cmdlet, function, script file, or executable program.
If you’re running File-based Discovery on Ubuntu version 20, modify the default Bourne shell (sh) to point to Bourne Again shell (bash).
Version information is populated only for the files with version information returned from probes. Not all files have versions. Files with extensions such as .exe, .jar, and so on, have versions.