PowerShell 4.0のGet-FileHashコマンドレットでファイルのハッシュ値を計算する

インターネット経由でダウンロードしたファイルが正常かどうか、MD5やSHA-1などのハッシュ値を計算して一致するかどうかを確認する事があります。
今まではフリーソフトを使用するか、マイクロソフトから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のハッシュ値
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

テーマ : Windows
ジャンル : コンピュータ

Windows PowerShellのバージョンを表示する

Windows PowerShellですが、そのバージョンはどうやって確認するのか疑問でした。
ちょっと調べたらわかりました。
単に$PSVersionTableを打ち込むだけです。
PSVersionの値がバージョンになります。

(写真1)$PSVersionTableを打ち込んだところ
Windows PowerShell
PS C:\> $PSVersionTable

Name                           Value
----                           -----
PSVersion                      4.0
WSManStackVersion              3.0
SerializationVersion           1.1.0.1
CLRVersion                     4.0.30319.34014
BuildVersion                   6.3.9600.16394
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0}
PSRemotingProtocolVersion      2.2


PS C:\> $PSVersionTable.PSVersion

Major  Minor  Build  Revision
-----  -----  -----  --------
4      0      -1     -1


PS C:\> $PSVersionTable.PSVersion.Major
4
PS C:\>

Windows 8.1では標準でPowerShell 4.0が搭載されています。
その環境で$PSVersionTableを打ち込むと上図のようになりました。

$PSVersionTable.PSVersionと打ち込むと、バージョンの詳細が表示されます。
$PSVersionTable.PSVersion.Majorと打ち込むと、バージョンの詳細情報のうち、Majorの値だけが返って来ます。

このページを参考にしました。

http://win.just4fun.biz/PowerShell/PowerShell%E3%81%AE%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E3%82%92%E7%A2%BA%E8%AA%8D%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95%E3%83%BB%24PSVersionTable.html
PowerShell/PowerShellのバージョンを確認する方法・$PSVersionTable - Windowsと暮らす


PowerShell 1.0には$PSVersionTable変数が存在しないようですが、さすがにもうPowerShell 1.0を使うことはほとんどないので、大きな問題はないでしょう。

テーマ : Windows
ジャンル : コンピュータ

[管理]FC2ブログのジャンル変更

このFC2ブログは2006年3月から始めたので、もう8年もやっています。
今までブログのジャンルは「日記」、サブジャンルは「会社員・OL」でした。
それをさっき変更してみました。
変更後のジャンルは「コンピュータ」、サブジャンルは「ウィンドウズ」です。

(写真1)FC2ブログのジャンル変更
日記の会社員・OLからコンピュータのウィンドウズに変更

以前は日常の日記みたいな事も書いていたのですが、最近はWindows ServerかVMwareについての事がほとんどなので、思い切ってジャンルを変更してみました。
ジャンル変更に特に意味はないのですが、もしかしたらコンピュータ関連の記事を求めている人に見つけられやすいかもしれないし、またこのジャンルに特化した日記を書くことを明確にする意味もあり、今回の変更です。

(写真2)ジャンル変更前のランキング
日記ジャンルの中でのランキング
FC2ブログの中でのランキングは今まで意識したこともないのですが、この辺も変化があるかもしれません。
ジャンル変更後のランキングは翌日以降で反映されるようです。

wevtutilコマンドでWindows Server 2008 R2のイベントログをエクスポートする(その2)

前回はwevtutilコマンドで抽出条件無しに、イベントログを全件エクスポートしました。
今回はwevtutilコマンドでクエリによる抽出条件を付けてイベントログをエクスポートします。

コマンドの書き方はこんな感じです。
wevtutil export-log <ログの種類> <エクスポート先ファイル名> /q:<クエリ>

ここで悩んだのはXPathと呼ばれるクエリの書き方です。
wikipediaによると、XPathとは「マークアップ言語 XML に準拠した文書の特定の部分を指定する言語構文である」らしいですが、よくわかりません。

イベントログ抽出のためのクエリは、イベントビューアで実際にイベントログを抽出してみて、その際に表示されるクエリをコピペするのが簡単です。
例としてここでは、システムイベントログを過去24時間分を抽出してみます。

(写真1)イベントビューアで現在のログをフィルター
イベントビューアで現在のログをフィルター
システムイベントログを右クリックし、現在のログをフィルター。

(写真2)イベントビューアでログの日付で過去24時間を指定
イベントビューアでログの日付で過去24時間を指定


(写真3)現在のログのフィルターでXMLタブを表示する
現在のログのフィルターでXMLタブを表示する
<select path="XXXXXXXX">から</select>ではさまれている、画像で反転している部分が/qのクエリで指定する部分になります。

(写真4)wevtutil export-logの/qでクエリを指定してみる
C:\Windows\system32\cmd.exe

C:\>wevtutil export-log system E:\TEST\EVENTLOG.evtx /q:"*[System[TimeCreated[timediff(@SystemTime) &lt;= 86400000]]]"
ログ system をエクスポートできませんでした。 指定されたクエリは無効です。

C:\>wevtutil export-log system E:\TEST\EVENTLOG.evtx /q:"*[System[TimeCreated[timediff(@SystemTime) <= 86400000]]]"

C:\>

図の上段は先ほどの「現在のログをフィルター」でXMLタブに表示されるクエリをそのまま/qに貼り付けてみたが、クエリが無効との事でイベントログのエクスポートに失敗しています。

図の下段はイベントログのエクスポートに成功しています。
上段のクエリは24時間以内、つまり86400秒以内を指定する部分の不等号の書き方に問題があります。
エベントビューアのXMLタブでは、不等号の<はエスケープ文字の「&lt;」で表記されていますが、wevtutil export-logの/qのクエリを指定するときは何故か普通の文字の「<」で記述しなければならないようです。

また「過去XX時間以内」はミリ秒単位で表記するようなので、24時間は86400秒なので、クエリ部分には864000000ミリ秒と記述します。

(写真5)現在のログをフィルターのXMLタブをもう一度
現在のログをフィルターのXMLタブをもう一度
普段HTMLやXMLに縁がないインフラ屋としては、エスケープ文字に馴染みがありません。
こんな時はイベントビューアの「現在のログをフィルター」のXMLタブをもう一度表示させて、からまでの全部をコピーしてメモ帳などに貼り付け、拡張子をXXX.xmlで保存します。

(写真6)保存したXMLをInternet Explorerで開く
保存したXMLをInternet Explorerで開く
既定値ではXMLファイルをダブルクリックすると、Internet Explorerで開きます。
これで表示させると、先ほどの不等号の記号は確かに「<」となっています。
ここでまた<select path="XXXXXXXX">から</select>で挟まれている部分を選択してコピーし、wevtutil export-logの/qのクエリ部分に貼り付ければバッチリです。

(写真7)実際の運用をイメージしたイベントログ抽出の実行
C:\Windows\system32\cmd.exe

C:\>SET LOGPATH=E:\TEST

C:\>SET TEMPDATE=%date:~-10,4%%date:~-5,2%%date:~-2,2%

C:\>ECHO %TEMPDATE%
20140511

C:\>ECHO 毎日23:59から00:00の間に実行すること
毎日23:59から00:00の間に実行すること

C:\>wevtutil export-log system %LOGPATH%\EVENTLOG-SYS-%TEMPDATE%.evtx /q:"*[System[TimeCreated[timediff(@SystemTime) <= 86400000]]]"

C:\>dir %LOGPATH%\*.evtx |find /i "evtx"
2014/05/11  17:20         1,118,208 EVENTLOG-SYS-20140511.evtx

C:\>

E:\TESTフォルダの下にイベントログをエクスポートします。
年月日を数時8桁で編集し、エクスポートするイベントログファイル名の一部にします。
毎日23:59から00:00の間に実行すれば、その日1日分のイベントログを日付別に保存する事が出来ます。

(写真8)抽出条件のすべてをXMLファイルから与えるパターン
C:\Windows\system32\cmd.exe

C:\>SET TEMPDATE=%date:~-10,4%%date:~-5,2%%date:~-2,2%

C:\>ECHO %TEMPDATE%
20140511

C:\>wevtutil export-log E:\TEST\XPathクエリ.xml E:\TEST\EVENTLOG-SYS-%TEMPDATE%.evtx /sq:true

C:\>dir E:\TEST\*.evtx |find /i "evtx"
2014/05/11  22:20         1,118,208 EVENTLOG-SYS-20140511.evtx

C:\>

/qはコマンド内に抽出条件のクエリを直接記述します。
しかし抽出条件が複雑になるとクエリ部分が非常に長くなります。
こんな場合は抽出条件のすべてをXMLファイルに保存し、wevtutilコマンドに与える事もできます。

コマンド内にクエリを記述するパターン
wevtutil export-log <ログの種類> <エクスポート先ファイル名> /q:<クエリ>
クエリをXMLファイルから与えるパターン
wevtutil export-log <クエリを記述したXMLファイル> <エクスポート先ファイル名> /sq:true

クエリをXMLファイルから与える場合、/sq:trueを指定します。
システムとかアプリケーションとかのイベントログの種類はXMLファイル内に記述するので、/sq:trueの場合はコマンドには記述する必要はありません。
クエリを記述したXMLファイルは、今回の場合は写真6のXMLファイルをそのまま指定しています。

(写真9)アプリケーションイベントログを条件付きで抽出した場合のXMLの例
アプリケーションイベントログを条件付きで抽出した場合のXMLの例
過去30日間、2592000秒、つまり2592000000ミリ秒以内を指定しています。
イベントログの種類は写真のXMLの赤枠で囲んだ部分でApplicationを指定しているため、wevtutilコマンドでは指定しません。
イベントソースはMSSQLSERVER/SQLSERVERAGENT/SQLWriterを選択しています。
イベントのレベルは情報を外し、重大/エラー/警告/詳細を選択しています。

イベントのレベルはこうなっています。
重大:Level=1
エラー:Level=2
警告:Level=3
情報:Level=4 or Level=0
詳細:Level=5

ちょっと面倒ですが、何とかwevtutilコマンドでイベントログの抽出が出来そうです。

wevtutilコマンドでWindows Server 2008 R2のイベントログをエクスポートする(その1)

以前にPowerShellのGet-EventLogコマンドレットで、イベントログをCSV形式にエクスポートするのをやりましたが、今回はイベントログをwevtutilコマンドでevtx形式にエクスポートしてみます。

まずは抽出条件などは指定せず、全件をエクスポートします。
Windows Server 2008 R2で試していますが、Windows Server 2012、Windows Server 2012 R2でも同じだと思います。(Windows 8.1は同じでした)

(写真1)wevtutil export-logコマンドでシステムのイベントログを全件抽出
C:\Windows\system32\cmd.exe

C:\>wevtutil export-log system E:\TEST\EVENTLOG.evtx

C:\>wevtutil export-log system E:\TEST\EVENTLOG.evtx
ログ system をエクスポートできませんでした。 ファイルがあります。

C:\>
以下のコマンドが基本的な操作法になります。
wevtutil export-log <ログの種類> <エクスポート先ファイル名>

同一ファイル名が存在するとエクスポートに失敗するので、事前にファイルを削除しておく必要がありますね。

(写真2)エクスポートされたイベントログ
エクスポートされたイベントログ
システムイベントログがevtx形式でエクスポートされました。

(写真3)wevtutil export-logコマンドで4種類のイベントログを全件抽出
C:\Windows\system32\cmd.exe

C:\>SET LOGPATH=E:\TEST

C:\>wevtutil export-log system %LOGPATH%\EVENTLOG-SYS.evtx

C:\>wevtutil export-log application %LOGPATH%\EVENTLOG-APP.evtx

C:\>wevtutil export-log setup %LOGPATH%\EVENTLOG-SET.evtx

C:\>wevtutil export-log security %LOGPATH%\EVENTLOG-SEC.evtx

C:\>dir %LOGPATH%\*.evtx |find /i "evtx"
2014/05/11  17:15         1,118,208 EVENTLOG-APP.evtx
2014/05/11  17:15         3,215,360 EVENTLOG-SEC.evtx
2014/05/11  17:15         1,118,208 EVENTLOG-SET.evtx
2014/05/11  17:15         2,166,784 EVENTLOG-SYS.evtx

C:\>
E:\TESTフォルダの下に、4種類のイベントログをそれぞれ全件エクスポートします。
コマンドの構文はこんな感じ。
wevtutil export-log system <エクスポート先ファイル名>
wevtutil export-log application <エクスポート先ファイル名>
wevtutil export-log setup <エクスポート先ファイル名>
wevtutil export-log security <エクスポート先ファイル名>

最後にdirコマンドでファイル名に"evtx"の文字列が存在するファイル名を抽出しています。
アプリケーション、セキュリティ、セットアップ、システムの4種類のイベントログがそれぞれ全件抽出されています。

またwevtutil export-logは短縮形としてwevtutil eplの指定も可能です。


wevtutilコマンドはこれを参考に。

http://technet.microsoft.com/ja-jp/library/cc732848%28v=WS.10%29.aspx
TechNet > Command-Line Reference > Wevtutil


Internet Explorerの脆弱性に対応するセキュリティ更新プログラムがマイクロソフトから緊急でリリースされた(KB2964358)

Windows XPからWindows 8.1まで、Internet Explorer 6からInternet Explorer 11までと、非常に広いOSとIEのバージョンで発生している脆弱性の問題。
影響が広範囲に及ぶためか、一般の新聞や一般のTVニュースでも大きく取り上げられました。

この脆弱性に対するセキュリティ更新プログラムが、マイクロソフトからリリースされました。
私もさっそく適用してみました。

http://cloud.watch.impress.co.jp/docs/news/20140502_646873.html
米Microsoft、IE脆弱性に対応する修正パッチの緊急配布開始 - クラウド Watch


(写真1)Windows 8.1 + Internet Explorer 11に更新を適用した例
Windows 8.1 + Internet Explorer 11に更新を適用した例

Windowsユーザーの皆さんは速やかにWindows Updateを実施して、KB2964358を適用しましょう。私の場合ですが、Windows Updateを実施すると重要な更新にKB2964358が出現するのですが、既定値ではチェックボックスがOFFでした。
手動で必ずチェックをONにして、更新を実行しましょう。

しかしIEのパッチ提供がマイクロソフトのプレスリリースで発表されるなんて驚きです。
今回のマスコミの騒ぎかたなど、いろいろ興味深いですね。
またWindows XP向けの更新もリリースされましたが、今回はあくまでも特例です。
Windows XPなどサポート期限の終了した古いOSは、Windows 7またはそれ以降の新しいOSに早急に移行する必要がある事に変わりはありません。

http://www.microsoft.com/ja-jp/news/Press/2014/May14/140502_updating_InternetExplorer.aspx
Internet Explorer 用セキュリティ更新プログラムの提供について
https://technet.microsoft.com/ja-jp/library/security/2963983/
Internet Explorer の脆弱性により、リモートでコードが実行される

テスト中

全ての記事を表示する

ブロとも申請フォーム

ブログ検索
プロフィール

norimaki2000

norimaki2000のブログにようこそ
Follow norimaki2000 on Twitter気軽に話しかけてね

ニューヨーク・マンハッタン(タイムズスクェア)180×135

千葉県在住で東京都内に勤務。
SIerに勤務するSEです。
SE歴30年超えました。
WindowsサーバーとVMware vSphereを中心としたサーバーインフラの提案・構築・保守を中心にやってます。
昔々はオフコンで販売管理などのアプリケーション開発したり、ファミリーレストランの無線オーダリングやPOS、キッチンプリンタの全国展開していたころもありました。

主な取り扱い製品は
・Windows Server製品
・Active Directory (AD DS)
・VMware vSphere
・Arcserve Replication
・ActiveImage Protector
最近はほとんど使う事が無いですが
・Veritas NetBackup
・Veritas Backup Exec
・Veritas System Recovery
・Arcserve Backup
・NEC CLUSTRERPRO X

10年ぶりくらいにこのプロフィール欄を更新してみました。(2023/04/08)

【Twitter】2010年からやってます。最近は1日に1ツイートくらいです。
仕事関連の呟きが少し、あとは応援しているシンガーの関係が多いです。
Follow norimaki2000 on Twitter
・norimaki2000 on Twitter

Follow norimaki2000 on Twitter
・norimaki2000 on Twilog


Twitter大好きです。
Twitterを考え出した人の発想、システムとして作り上げた努力と情熱はすごい!!
(最近はイーロンマスクによって少々迷走していますが)

【好きな音楽】有名なミュージシャンでは浜田省吾、尾崎豊、エコーズ。
【応援しているシンガー】ここ数年は路上ライブやライブハウスに出演するインディーズのシンガーを応援しています。
文音-ayane-
Emily Styler
Sayuki
cana
つりあやめ
りさ

【応援しているアイドル】千葉県柏市を中心に活動していたする地元アイドルの「コズミック☆倶楽部」を応援していましたが、残念ながら2021年11月に解散、引退してしまいました。

【好きなTVドラマ】犯罪捜査、法廷ドラマが好きです。LAW&ORDER、Xファイル、ER、CSI:科学捜査班シリーズ、クリミナルマインド、NCIS:ネイビー犯罪捜査班、ザ・プラクティス、ボストン・リーガル、24-TWENTY FOUR、ミレニアム


Mozilla Firefox
パソコン困り事相談


最近の記事
最近のコメント
カレンダー
04 | 2014/05 | 06
- - - - 1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
カテゴリー
FC2カウンター
キーワード

Windows_Server VMware_ESX VMware vCenter_Server PowerShell VMware_Player PowerCLI vSphere_Client VirtualCenter Active_Directory vStorage_API Converter 文音 コズミック☆倶楽部 Windows Hyper-V Microsoft_Security_Essentials あいひょん なるみん SQL_Server Windows_8 vSphere VMware_Converter Backup_Exec VMware_vSphere カラオケ sora VCB System_Center 麗美 Red_Hat_Enterprise_Linux Windows_Server_2012 Tech_Fielders System_Recovery ARCserve_Backup メモリダンプ ESX VMware_ESXi RHEL remi Internet_Explorer Exec Server Oracle Active ジン子 Symantec Backup Directory vSphere_CLI DMC-FZ1000 Firefox マークス Windows_Update Twitter vMotion VMware_HA Vista System DRS schtasks SE XenServer キリン Office 氷結 若手 NTFS Recovery Emily_Styler エミリースタイラー  路上ライブ Sysinternals sonoka イチトキ Oracle_Database コズミック倶楽部 vCenter_Converter wevtutil Visual_Studio ベビースター おやつカンパニー スパークリングウォーター カルディ 経済産業省 白石美帆 corega えびしお おとなのおつまみ 一番搾り食物繊維 ラガー スリムス サッポロ のどごし生 セキュリティ 糖質 カーナビ 東京国際フォーラム ついにステップワゴンを契約してしまった サクセス オレッツァ CDRW-AB24JL CD CAB Brio CG CR-V フィット DVD CoolMax ATAPI 0x0000007B エイドリアン バルボア ロッキー スタローン 2008 破損 コマンドライン 圧縮 修復 スパリゾートハワイアンズ お茶のチューハイ ジョシュ・ハートネット シャンプー台のむこうに デュポン ワイヤーアクション ブラックホーク・ダウン コロン 北野 神戸 ハワイ ムエタイ マッハ けんけつちゃん 献血 Gathers ポケモン・スタンプラリー はばたき福祉事業団 倭国赤十字社 映画 東京タワー 写真 ウォーター グレープフルーツ カーポート 高原 バーベキュー 鬼押し出し園 雨どい 掃除 洗濯 セルシオ グランダム 草津 キャンプ サーバ 人口甘味料 伊藤園  羽田 万座温泉 夏休み 関西空港 洗車 iStorage FZ1000 LUMIX Panasonic Intel vSphere_Web_Client Windows_Server_2016 加藤成実 エミリー・スタイラー コズミック☆LOVE wbadmin Windows_Serverバックアップ 浜田省吾 Linux IP38X/N500 NVR500 OneDrive HUAWEI Paper.li れみ GR5 こずくら -ayane- BEACHEND_CAFE 三浦半島 三浦海岸 ちばかわいいくらぶ α7III A7III Robocopy A056 A036 ツイート 動画 シンガーソングライター REAN つりあやめ Wataru_Sato 佐藤航 チャンカナ canaguitar cana AWS robocopy SweetGrass SUPPLEX STOPエラー SAP Thunderbird Tools Uptime.exe USB2.0 USB Resource Replication Kit IZZE IDE NR-7900A NetBackup PCI PC-Success OREZZA Word XP グループポリシー SkyDrive vStorag_API Virtual_Infrastructure Apache OpenOffice Windows_Azure バッチ Tween バックアップ ARCserve_D2D DSP OEM ULPC ITIL ジャンプフェスタ ARCserve_Replication VMFS OpenOffice.org Hyperion 

月別アーカイブ
リンク
RSSフィード

https://hvyr.workpolska.online https://vypr.workpolska.online https://smht.workpolska.online https://wxpr.frisuba.online https://tjdn.haychill.site https://mnym.ophimhd.site https://sras.workpolska.online https://ayiv.bokepmobile.site https://mdsq.haychill.site https://bmvh.workpolska.online https://jjga.haychill.site https://qmib.workpolska.online https://aspt.rubberducky.site https://ntws.lexu.site https://kjgk.listamagazine.online