保存ダイアログにネットワークドライブが表示されない

スポンサーリンク

仕事で作成したソフトを使っている人から、保存先にネットワークドライブを指定しようと思ったけど、保存ダイアログに表示されないと連絡がありました。

他のソフトではネットワークドライブが表示されているようなので、作成したソフトの問題のようです。

ネットワークドライブが表示されないことを確認

ネットワークドライブは、ネットワーク上にある他のパソコンなどの共有フォルダを、自分のパソコン上に割り当てたものです。

上の画面では「Z」ドライブとして他のパソコンの共有フォルダを設定しています。

この状態で、作成したソフトの保存ダイアログを表示してみました。

たしかに存在するはずのZドライブが表示されていません。

保存のダイアログはWindows標準のものを使用しているので、特別なことは何もしていないはずです。

原因はネットワークドライブのアクセス権限

表示されない原因を色々と調べて結果、どうやらアクセス権限が絡んでいることが判明しました。

ネットワークドライブのアクセス権限は、設定したユーザーのみに与えられます。
他のユーザーは割り当てられたドライブを参照することはできません。

具体的な例をあげると「A」というユーザーが「Z」ドライブを設定したとします。
この「Z」ドライブは、「B」というユーザーでログインしても見えません。

ユーザーの切り替えはログインしなおす必要があるので分かりやすいですが、同様のことがソフトを起動するに発生することがあります。
つまり、管理者権限で起動するソフトはログインしている「A」というユーザーが起動するのではなく、管理者の権限をもつ別のユーザーで起動していることになるのです。

その結果、管理者権限で起動したソフトは、ユーザー「A」が割り当てたネットワークドライブを参照することができないので、保存先として表示されません。

レジストリ設定の変更で共有情報を共有する

これを解決する方法は、レジストリ設定を変更することです。

レジストリの設定変更は、コマンドプロンプトから「regedit」と入力してレジストリエディタを使います。

レジストリ設定を変更すると、Windowsの動作に影響が出て、正常に動作しなくなる可能性があります。
バックアップを取っておくなど、必ず自己責任で作業してください。
以下の値を設定(なければ追加)すれば、他のユーザーが割り当てたネットワークドライブの情報を共有することができます。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System
EnableLinkedConnections : 1(DWORD)
追加する方法は、該当のキーを表示した状態で、「新規」から「DWORD(32ビット)値」を選択します。
名前に「EnableLinkedConnections」を入力して値を「1」とします。
追加した状態が下の画像になります。
最後にパソコンを再起動すれば完了です。
無事に管理者権限で起動したソフトでもネットワークドライブが表示されるようになりました。
どうしても管理者権限で起動する必要があるソフトでネットワークドライブを使う場合は、この方法で回避してください。
スポンサーリンク

お役に立てばフォローお願いします

コメント

  1. RINTA より:

    管理者権限で起動しているソフトの、ファイルオープンダイアログでネットワークドライブが表示されなくなって困ってました。
    記事を参考にレジストリに値を追加して問題は解消しました。
    ありがとうございます。

    前日まで表示されていたのに、なぜ表示されなくなったのか原因は不明のままですが。

    • カミヒロ より:

      RINTAさん
      コメントありがとうございます。

      お役に立てて嬉しいです。
      Winodws Update等によって環境が微妙に変化したのかもしれませんね。