[登録されているタグ]

[記事公開日]2025/12/18

PowerShellでファイルのハッシュを取得する|Get-FileHashの使い方

📝 はじめに

PowerShellでファイルを扱っていると、
「このファイルは本当に同じものか?」
「ダウンロードしたファイルが改ざんされていないか確認したい」
「バックアップ前後でファイル内容が変わっていないか調べたい」
という場面が出てきます。

そんなときに使うのが
Get-FileHash です。
ファイルの内容からハッシュ値(指紋のような値)を計算し、
ファイルの同一性や整合性を確認できます。

こんな場面で便利

  • ファイルが同一かどうか確認したい
  • ダウンロードファイルの改ざんチェックをしたい
  • バックアップ前後の差分を確認したい

✅ このコマンドでできること(要点)

  • ファイルのハッシュ値を取得できる
  • 同一ファイルかどうかを判定できる
  • 改ざん・破損チェックに使える
  • 複数のハッシュアルゴリズムに対応

✅ Get-FileHash でできること

Get-FileHash は、
ファイルの中身をもとに
一定の計算結果(ハッシュ値)を生成するコマンドです。

同じ内容のファイルであれば、
ファイル名や保存場所が違っても
同じハッシュ値になります。

逆に、1文字でも内容が異なれば
ハッシュ値は変わります。

🧩 基本構文

Get-FileHash ファイルパス

デフォルトでは
SHA256 アルゴリズムが使用されます。

▶ 基本的な使い方(まずこれだけ)

🔹 ファイルのハッシュを取得する

Get-FileHash C:\Work\sample.iso

ハッシュ値・使用アルゴリズム・ファイルパスが表示されます。

🔹 ハッシュ値だけを確認する

(Get-FileHash C:\Work\sample.iso).Hash

比較用途ではこの形がよく使われます。

🛠 よく使われる指定例

🔹 アルゴリズムを指定する

Get-FileHash C:\Work\sample.iso -Algorithm MD5

MD5 / SHA1 / SHA256 / SHA384 / SHA512 などを指定できます。

🔹 SHA1 を指定する

Get-FileHash C:\Work\sample.iso -Algorithm SHA1

公開されているチェックサムと
比較するケースでよく使われます。

💼 実務でよく使う使用例(応用)

🔹 2つのファイルが同一か確認する

$hash1 = (Get-FileHash C:\Data\file1.zip).Hash
$hash2 = (Get-FileHash D:\Backup\file1.zip).Hash

$hash1 -eq $hash2

結果が True なら同一ファイルです。

🔹 公開されているハッシュ値と比較する

$expected = "ABC123..."
$actual   = (Get-FileHash C:\Download\app.exe -Algorithm SHA256).Hash

$expected -eq $actual
組み合わせ例

  • ダウンロード後の改ざんチェック
  • バックアップ整合性の確認
  • ログ・証跡管理への活用

🧩 よくある勘違い・つまずきポイント

  • ファイル名が同じでも中身が違えばハッシュは異なる
  • アルゴリズムが違うと値は比較できない
  • 大容量ファイルでは時間がかかる場合がある
  • MD5 / SHA1 はセキュリティ用途には非推奨
  • フォルダには直接使えない

🔄 cmdとの違いについて

cmd では certutil -hashfile を使いますが、
PowerShell の Get-FileHash
出力が整理され、
スクリプトで扱いやすいのが特徴です。

⚠ エラー・うまく動かないときの確認ポイント

  • 指定したファイルが存在しているか
  • パスの指定ミスがないか
  • 他のプロセスが排他的に使用していないか
  • アルゴリズム指定が正しいか

🧠 注意点

ハッシュ値は
ファイルの「同一性確認」には非常に有効ですが、
セキュリティ用途では
SHA256 以上を使うのが一般的です。
用途に応じてアルゴリズムを選びましょう。

📌 まとめ

  • Get-FileHash でファイルのハッシュを取得できる
  • 同一性・改ざんチェックに使える
  • SHA256 がデフォルトで安全性も高い
  • 比較処理と組み合わせると真価を発揮

🔎 PowerShellコマンドを探す

やりたいことからコマンドを探すこともできます。

  • ファイルが同じか確認したい
  • ダウンロードの改ざんをチェックしたい
  • バックアップの整合性を確認したい
  • ハッシュ値を比較したい
  • エラーや実行できない原因を調べたい
  • PowerShellで検証作業をしたい
  • 安全にファイル確認したい
Generic filters

サイト内検索(入力すると候補が出ます)

Generic filters


Generic filters

Generic filters

すべてを開く | すべてを閉じる
ページ上部へ戻る