Schedule a Demo
Blog March 29, 2021 PowerShell, PSFCIV

PowerShell File Checksum Integrity Verifier (PsFCIV)

by Vadims Podāns

Today I’m glad to announce a PowerShell File Checksum Integrity Verifier (hereinafter PsFCIV) availability as a standalone package.

Years ago a friend of mine asked to develop a PowerShell script that would replace a now-discontinued Microsoft File Checksum Integrity Verifier (FCIV) tool that is an essential utility to check integrity of large file shares. While there are plenty of tools that allow to calculate a cryptographic hash for a file, they don’t support continuous integrity check against a table of last-good-known-hash for specific file on a share and this is where FCIV is invaluable, because it allows to maintain an XML-based database to use for subsequent checks. Microsoft never officially supported FCIV and completely discontinued it. PsFCIV was formerly hosted on a now-discontinued TechNet Script Gallery which was too buggy to maintain scripts on a consistent basis, then was added to PowerShell PKI module as helper script. However, there still is a demand in the tool itself and I decided to release the tool as standalone module/package.

PsFCIV is an open-source tool licensed under Microsoft Public License (MS-PL) that replaces and enhanced original FCIV. Key features of PsFCIV include:

  • Open source;
  • Distributed using package manager (PowerShell gallery);
  • Enables modern cryptographic algorithms (SHA2 family) for advanced protection against collisions;
  • Include or exclude sub-folders, choose algorithms, and direct output. Multiple hashes can be calculated for file;
  • The utility can hash single files, folders, or recursively, large folder structures;
  • Adds custom actions for bad (tampered) files: rename or delete file;
  • Enhanced verbose and debug logging;
  • PsFCIV includes the following working modes
    • New — creates a new XML database for file share;
    • Check — checks file share against database for integrity;
    • FCIV — migrates FCIV database to PsFCIV format;
    • Rebuild — adds new files to database and removes no longer existing files from database. This mode doesn’t check existing files;
    • Online — performs one-time hash calculation without creating a database file.

Full project details are outlined on a project’s home page: PowerShell File Checksum Integrity Verifier.

Related Resources

  • Blog
    July 6, 2021

    Register TLS certificate with Remote Desktop Service using PowerShell

    Certificates, PowerShell, RDP
  • Blog
    May 7, 2021

    Just Released – Licensing Options for Our PKI Tools

    Development, PKI, PowerShell, Products, PSFCIV, PSPKI
  • Blog
    September 24, 2020

    OCSP Magic Number

    Caching, Certificate Validation, Configuration, Hotfixes, Known Issues, OCSP, PKI, PowerShell, Revocation

Vadims Podāns

PKI Software Architect

View All Posts by Vadims Podāns

Comments

  • I installed the package however am having difficulties running the module. Even utilizing the examples I am not able to generate new hashes for the directories. Using Example 7 for example on a folder does not produce any results to the window. Any ideas what could be wrong?

  • Hi Vadims,

    I was a big fan of the FCIV released by Microsoft and stumbled upon this tool. After being unsucessful in running the module to generate hashes I downloaded the source code and tried to run it. The module references a function called “dirx” when creating a new XML. This appears to be where my problem may reside. Being new to powershell I could be overlooking something but am unsure.

Leave a Reply

Your email address will not be published. Required fields are marked *