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.

Vadims Podāns

About Vadims Podāns

Senior PKI Developer

Leave a Comment





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