こんにちは、阿久津です。2015年3月リリースのセキュリティ更新プログラムに、またOSの動作に不具合を加えるプログラムが含まれていた可能性があります。執筆時点でMicrosoftからの正式なアナウンスがないため、筆者も推測の域を超えませんが、"タスクバーのピン留めを解除した際に発生する不具合を修正する"「KB3035527」と、"Windowsテキストサービスのセキュリティを修正する"「KB3033889」の2つ。

具体的には何らかのタイミングでタスクバー(エクスプローラー)が応答せず、場合によっては周りのアプリケーションも巻き込んで作業内容を消失させてしまうというものです。発生タイミングもユーザーによってちぐはぐで、特に欧米では話題にすら上がっていません(図01)。

筆者は当初「KB3035527」をアンインストールして様子を見ていましたが、本稿執筆時も同様のトラブルが再発生。結局「KB3033889」もアンインストールおよび(更新プログラムを)非表示に切り替えることで、トラブルから逃れることができました。お困りの方はお試しください(図02)。

図01 「イベントビューアー」を確認しますと、エクスプローラーの再起動に失敗していることが確認できます

図02 更新プログラムを右クリックし、メニューの<更新プログラムの非表示>をクリックすることで、普段のインストール対象から取り除くことができます

さて、事前に共有フォルダーなどをネットワークドライブに割り当てている環境で、エクスプローラーから参照可能ながらも、アプリケーションのセットアッププログラムからネットワークドライブにアクセスできないケースがあります(図03)。

図03 ネットワークドライブは動作していますが、セットアッププログラム上では認識していません

多くのユーザーはUAC(ユーザーアカウント制御)有効かつ、自身はAdministratorsグループに属するユーザーとしてWindows 8.1にサインインすることでしょう。その際、LSA(ローカルセキュリティ機関)はすべて権限を持つアクセストークンと、フィルター制限付きアクセストークンを生成し、デスクトップなどは後者のアクセストークンを使用して起動しています。

セキュリティの観点から各アクセストークン間の情報は共有しないため、ネットワークドライブのようにアクセス認証を用いるような場面では食い違いが発生するというものでした。本仕様はWindows Vistaから導入し、Windows 8.1にも受け継がれていますが、普段からの利便性を考えるとアクセストークン間でマッピングできた方が便利でしょう。そこで今週はアプリケーションのインストーラーなどからネットワークフォルダーへアクセス可能にするチューニングをお送りします。

1. 管理者権限でレジストリエディターを起動します。
2. レジストリエディターが起動したら、HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Systemキーを開きます。
3. DWORD値「EnableLinkedConnections」を作成し、データを「1」に変更します。
4. レジストリエディターを終了します。
5. Windows 8.1を再起動します。

これでチューニングが完了しました(図04~10)。

図04 [Win]+[R]キーを押して「ファイル名を指定して実行」を起動し、テキストボックスに「regedit」と入力して<OK>ボタンをクリックします

図05 レジストリエディターが起動したら、HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\ CurrentVersion\Policies\Systemまで、キーをたどって開きます

図06 右ペインの何もないところを右クリックし、メニューから<新規>→<DWORD値>とクリックします

図07 「新しい値 #1」を「EnableLinkedConnections」に変更します

図08 DWORD値「EnableLinkedConnections」をダブルクリックし、データを「1」に変更します

図09 <×>ボタンをクリックして、レジストリエディターを終了します

図10 [Win]+[C]キーを押すなどしてチャームバーを開き、<電源>ボタン→<再起動>とクリックします

早速結果を確認してみましょう。今回はテキストエディター「秀丸」のセットアッププログラムを使っていますが、ご覧のとおり図03の場面ではフォルダー参照時、ネットワークドライブは見つかりませんでした。しかし、チューニング後は同じ操作を行うとネットワークドライブが列挙されます(図11)。

図11 先ほど同じアプリケーションでセットアッププログラムを実行したところ、エクスプローラーと同じくネットワークドライブを検出しました

レジストリエントリを編集せず、一時的にネットワークドライブを列挙させる場合は「net use \{コンピューター名}{共有フォルダー名} /user:{ユーザー名}」と実行し、パスワードを入力してください。また、セキュリティなど何らかの不具合が生じた場合はDWORD値「EnableLinkedConnections」を削除し、Windows 8.1を再起動します。

それでは、また次号でお目にかかりましょう。

阿久津良和(Cactus)