Windows10でPowerShellを使用してファイルハッシュを取得する
Windows10およびWindows8では、サードパーティのツールを使用せずにファイルのハッシュ値を取得できます。 特別なコマンドレットを使用すると、特定のファイルのSHA1、SHA256、SHA384、SHA512、MACTripleDES、MD5、およびRIPEMD160ハッシュ値を計算できます。 これがその方法です。
ハッシュ値の一般的な目的は、ファイルが本物であり、その内容がサードパーティ、別のソフトウェア、またはマルウェアによって変更されていないことを確認することです。 ファイルが変更されると、そのハッシュ値も変更されます。 ハッシュ値を比較および照合して、2つ以上のファイルが同一であるかどうかを確認することもできます。
ファイルハッシュを計算する機能は、Windows cryptograpicAPIの一部です。 オペレーティングシステムのユーザーインターフェイスには、ファイルのハッシュ値を計算または表示するオプションがありません。 代わりに、PowerShellでGet-FileHashコマンドレットを使用できます。 使い方はこちらです。
Windows10でPowerShellを使用してファイルハッシュを取得するには、 以下をせよ。
コマンドレットの一般的な構文は次のとおりです。
Get-FileHash c:\ windows \ explorer.exe | フォーマットリスト
PowerShellを開く 上記のコマンドを入力してテストします。 指定されたファイルのSHA256ハッシュ値を計算し、次のように出力を生成します。
SHA256以外のハッシュ値を計算するには、スイッチ-Algorithmを使用します。 たとえば、MD5ハッシュ値を取得するには、次のコマンドを実行します。
Get-FileHash c:\ windows \ explorer.exe -Algorithm MD5 | フォーマットリスト
出力は次のようになります。
-Algorithmの可能な値のリストは次のとおりです。
- SHA1
- SHA256
- SHA384
- SHA512
- MACTripleDES
- MD5
- RIPEMD160
知っておく必要のあるもう1つの便利なスイッチは、-LiteralPathです。 ファイルへのパスを指定します。 デフォルトのパスパラメータとは異なり、LiteralPathパラメータの値は入力されたとおりに使用されます。 ワイルドカード文字として解釈される文字はありません。 パスにエスケープ文字が含まれている場合は、パスを一重引用符で囲みます。 一重引用符は、文字をエスケープシーケンスとして解釈しないようにWindowsPowerShellに指示します。
Get-FileHashコマンドレットを使用すると、ファイルのハッシュ値をネイティブに取得できます。 これは、特にサードパーティのソフトウェアが許可されていない安全な環境で作業している場合に非常に便利です。 PowerShellコンソールはWindows10にバンドルされており、インストールされているすべてのインスタンスでアクセスできるため、どこでもネイティブのGet-FileHashコマンドレットを使用できます。