これで解消!「KB2704299」でCompress-Archiveの文字化け対処

こんにちは。チェシャ男です。(-皿-)

先日発生した Compress-Archive コマンドレットによる文字化け事件

[blogcard url=”https://cheshire-wara.com/powershell/ps-column/compress-archive-incident/”]

事件は hotfix を適用することで無事解決しました。Windows 7 の PowerShell v5.0 ユーザは今回の記事を参考に早めに対処することをお勧めします。

事件の真相は…

今回の文字化けの原因は Windows 7 / Windows Server2008 におけるバグとも言えるようです。

【Windows 7 または Windows Server2008 R2 では .zip ファイルの解凍後のファイル名が破損します】

Japanese characters in file names are displayed as garbled text after you decompress a .zip file in Windows 7 or in Windows Server 2008 R2-Microsoft/© 2017 Microsoft

ファイル名を Shift_JIS で扱い圧縮・解凍を行っていたことが原因らしい。。

この現象により Compress-Archive による文字化けだけでなく、UTF-8 を扱う他 OS (LinuxやMac)で圧縮されたファイルの解凍時にも破損が起きてしまうようです。

KB2704299 を取得する

このバグに対しては Microsoft で修正プログラムが提供されています。

先ほどの詳細ページ(上記リンク)に移動すると以下の画面が表示されます。

KB取得申請-チェシャわら

ここで[修正プログラムをダウンロード]をクリックすると、

パッチ使用条件-チェシャわら

使用条件が表示されます。

内容をよ~~く読んだら[同意する]をクリックして下さい。

すると、

パッチ申請フォーム-チェシャわら

このように環境に合わせて修正プログラムが表示されるはずです。

問題なければチェックマークをつけ、メールアドレスを入力して[リクエストを送信]しましょう!

送信完了画面に遷移するはずです。

確認画面-チェシャわら

後は送られてきたメールから修正プログラムをゲットしましょう。

KB2704299 を適用する

さて、修正プログラムをゲットしたら次は適用です。

メールのリンクから、

448094_intl_i386_zip.exe

という怪しげなファイルをダウンロードしてきました。
※ファイル名は環境によって若干異なるかもしれません。

実行ファイルをクリックするとパッケージされたファイルの解凍が始まります。

[Continue]をクリックします。

インストール画面1-チェシャわら

修正プログラムが解凍される場所を選択 or 入力して[OK]をクリックしましょう。

インストール画面2-チェシャわら

そして見守る。

インストール画面3-チェシャわら

成功!ということで[Ok]をクリックします。

インストール画面4-チェシャわら

すると、先ほど設定した解凍先に

Windows6.1-KB2704299-v2-x86.msu

のようなファイル名の更新プログラムファイルがあると思います。

ファイルを実行して、いざ適用してみましょう!

更新プログラムの探索を待ちます。

インストーラ画面1-チェシャわら

インストールしますかと問われたら迷わず[はい(Y)]をクリック!

インストーラ画面2-チェシャわら

インストーが完了すると再起動を促されるので再起動をしましょう。

インストール完了-チェシャわら

再起動が完了すると無事文字化け問題は解消されているはずです。

文字化けの解消を確認

修正プログラムが正常に適用されたかどうか確認してみましょう。

PS C:\work> #適用済KBの確認
PS C:\work> Get-WmiObject Win32_QuickFixEngineering

Source               Description     HotFixID          InstalledBy                     InstalledOn
 -----------           -----------        --------              -----------                          -----------
 CHESHIRE-PC   Update           KB2849697     CHESHIRE-PC\Hoge     2016/07/01 0:00:00
 CHESHIRE-PC   Update           KB2849696     CHESHIRE-PC\Hoge     2016/07/01 0:00:00
 CHESHIRE-PC   Update           KB2841134     CHESHIRE-PC\Hoge     2016/07/01 0:00:00
 CHESHIRE-PC   Update           KB2841134     CHESHIRE-PC\Hoge     2016/07/01 0:00:00
 CHESHIRE-PC   Update           KB2670838     CHESHIRE-PC\Hoge     2016/07/01 0:00:00
 CHESHIRE-PC   Update           KB3134760     CHESHIRE-PC\Hoge     2016/07/01 0:00:00
 CHESHIRE-PC   Update           KB2533623     CHESHIRE-PC\Hoge     2016/07/01 0:00:00
 CHESHIRE-PC   Hotfix             KB2534111                                               2013/12/16 0:00:00
 CHESHIRE-PC   Hotfix             KB2639308     CHESHIRE-PC\Hoge     2016/07/01 0:00:00
 CHESHIRE-PC   Hotfix             KB2704299     CHESHIRE-PC\Hoge     2017/01/17 0:00:00
 CHESHIRE-PC   Update           KB2729094     CHESHIRE-PC\Hoge     2016/07/01 0:00:00
 CHESHIRE-PC   Update           KB2731771     CHESHIRE-PC\Hoge     2016/07/01 0:00:00
 CHESHIRE-PC   Update           KB2786081     CHESHIRE-PC\Hoge     2016/07/01 0:00:00
 CHESHIRE-PC   Update           KB2834140     CHESHIRE-PC\Hoge     2016/07/01 0:00:00
 CHESHIRE-PC   Update           KB2888049     CHESHIRE-PC\Hoge     2016/07/01 0:00:00
 CHESHIRE-PC   Update           KB958488       CHESHIRE-PC\Hoge      2013/12/17 0:00:00
 CHESHIRE-PC   Update           KB976902       CHESHIRE-PC\Hoge      2010/11/20 0:00:00

PS C:\work> Get-WmiObject Win32_QuickFixEngineering | Where-Object {$_.HotFixID -eq "KB2704299"}

Source               Description     HotFixID          InstalledBy                     InstalledOn
 -----------           -----------        --------              -----------                          -----------
 CHESHIRE-PC   Hotfix           KB2704299     CHESHIRE-PC\Hoge     2017/01/17 0:00:00

きちんと適用されていることが確認出来ましたね。

実際にエクスプローラから問題のZIPファイルを展開してみてみると、

【修正プログラム適用前】

文字化けの発生-チェシャわら

【修正プログラム適用後】

文字化け回避-チェシャわら

日本語が正常に表示されていることがわかります。これで問題なく Compress-Archive が使用できるようになりました。

[blogcard url=”https://cheshire-wara.com/powershell/ps-cmdlets/item-file/compress-archive/”]

ちなみに Windows 8 以降なら今回の文字化け問題は解消されている(らしい)ので安心してください。

以上、「KB2704299」による Compress-Archive の文字化け対処方法をお届けしました。

コメントを残す

メールアドレスが公開されることはありません。