PowerShell 4.0のGet-FileHashコマンドレットでファイルのハッシュ値を計算する
今まではフリーソフトを使用するか、マイクロソフトからFCIVをダウンロードしていました。
フリーソフトは使用できない場合もあるし、FCIVはパス名に倭国語が入っていると使用できないし。
でも朗報です。
PowerShell 4.0にはハッシュ値を計算するGet-FileHashコマンドレットが追加されました。
PowerShell 4.0はWindows Server 2012 R2 / Windows 8.1には標準で搭載されています。
(写真1)Get-FileHashコマンドレットで計算したMD5のハッシュ値
Windows PowerShell |
PS C:\> Get-FileHash "D:\ソフトウェア\★vCenter Server\VMware-VIMSetup-all-5.5.0-1750795-20140201-update01.iso" -Algorithm md5 Algorithm Hash --------- ---- MD5 B0D0EBC26ED140F1B802847657D22EBE PS C:\> |
(写真2)Get-FileHashコマンドレットのヘルプ
Windows PowerShell |
PS C:\> Get-Help Get-FileHash 名前 Get-FileHash 構文 Get-FileHash [-Path] <string[]> [-Algorithm <string> {SHA1 | SHA2 56 | SHA384 | SHA512 | MACTripleDES | MD5 | RIPEMD160}] [<Common Parameters>] Get-FileHash -LiteralPath <string[]> [-Algorithm <string> {SHA1 | SHA256 | SHA384 | SHA512 | MACTripleDES | MD5 | RIPEMD160}] [<C ommonParameters>] エイリアス なし 注釈 Get-Help を実行しましたが、このコンピューターにこのコマンドレットのヘルプ ファイルは 見つかりませんでした。ヘルプの一部だけが表示されています。 -- このコマンドレットを含むモジュールのヘルプ ファイルをダウンロードしてインスト ールするには、Update-Help を使用してください。 PS C:\> |
(写真3)VMware社のサイトに掲載されているvCenter Server 5.5 U1aのハッシュ値
使い方は簡単です。
Get-FileHash <対象ファイル名> -Algorithm md5 (またはsha1など)
これでしばらく待つと、計算したハッシュ値が表示されます。
おなじみのMD5やSHA1に加え、SHA256、SHA384、SHA512などにも対応しています。
かなり便利です。
今回は試しにvCenter Server 5.5 Update 1aをダウンロードして、MD5ハッシュ値を比較してみました。
3.3GBものファイルになると、ダウンロード中に一部欠落していないか少し気になります。
Get-FileHashで計算した値と、VMware社のWebページに掲載されている値が一致しました。
これで安心です。
お客さんのデータセンターにCD/DVDを焼いて持ち込む場合、ダウンロードに失敗していると大きな後戻りになります。
今までは何らかのソフトウェアをダウンロードしないとハッシュ値を計算する事が出来なかったのですが、これからは手軽に計算できますね。
Windows PowerShell 3.0および4.0の強化内容はこちらに。
Get-FileHashコマンドレットも記載されています。
http://technet.microsoft.com/en-us/library/hh857339.aspx
What's New in Windows PowerShell