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.
- 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.