Get FileHash - PowerShell
Overview
The Get-FileHash
command calculates and retrieves hash values for files. It is an essential tool for verifying file integrity, detecting tampering, and ensuring data authenticity.
Syntax
Get-FileHash [-Path] <String[]> [-Algorithm] <String> [-AsJob] [-Force] [-Recurse]
Options/Flags
- -Path (Required): Specifies the path(s) to the files whose hashes need to be calculated.
- -Algorithm (Optional): Specifies the hash algorithm to use. Default is “SHA256”. Available options include:
- “MD5”
- “SHA1”
- “SHA256”
- “SHA384”
- “SHA512”
- -AsJob (Optional): Runs the command as a background job, allowing other operations to continue.
- -Force (Optional): Suppresses confirmation prompts.
- -Recurse (Optional): Calculates hashes for files in subdirectories as well.
Examples
Example 1: Calculate the SHA256 hash of a single file:
Get-FileHash -Path "C:\path\to\file.txt"
Example 2: Calculate the MD5 hashes of multiple files using a background job:
Get-FileHash -Path "C:\path\to\file1.txt" "C:\path\to\file2.txt" -Algorithm MD5 -AsJob
Example 3: Recursively calculate the SHA1 hashes of files in a directory:
Get-FileHash -Path "C:\directory\path" -Algorithm SHA1 -Recurse
Common Issues
- File permissions: Ensure you have sufficient permissions to access the specified files.
- Invalid path: Verify that the specified file paths are correct and exist.
- Unsupported algorithm: Ensure the specified hash algorithm is supported by the system.
Integration
Get-FileHash
can be integrated into scripts or command chains for various tasks, such as:
- Data validation: Verify the integrity of downloaded files or data stored on different systems.
- Forensic analysis: Collect hash values as evidence for security investigations.
- Configuration management: Ensure that files deployed to servers have not been tampered with.
Related Commands
- Compare-FileHash: Compares hash values of two or more files.
- CertUtil -hashfile: Generates a hash value using the CertUtil tool.
- FileCheckSum: Calculates hashes for files using the FileCheckSum utility.