PowerShell File Checksum Integrity Verifier (PsFCIV)

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.

About Vadims Podāns

Senior PKI Developer


  1. Corey Kennington on May 28, 2021 at 2:01 pm

    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?

  2. Corey on May 28, 2021 at 2:38 pm

    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 Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.