とあるお客様先での出来事。
2021年2月にWindows10PCのWindowsUpdateを行ったところ、Windows2003R2(まだまだ現役)に作成した共有フォルダーを参照できなくなってしまったとのご相談がありました。またB社のNAS(これまた結構古い)の共有フォルダにもアクセスできなくなってしまったとのこと。
ちなみにWindowsUpdateを実施していないPCはそれらの共有フォルダを問題なく参照できている、とのことでしたので物理的なトラブルではなく、よく事例が載っているSMB1.0問題かなと考え「コントロールパネルからWindows機能の有効化または無効化に進んで、SMB1.0/CIFSファイル共有のサポートを全選択状態にしてください」とお願いしました。
ま、これで直るだろうな...と思っていたのですが、まるで直らず結構ハマりましたのでその覚書。
お客様先で現象を確認したところ
1.Windows10を起動してWindows2003の共有フォルダをエクスプローラで検索
2.検索できた共有フォルダをネットワークドライブ(例えばW:)に割り当てる
3.再起動する
4.エクスプローラからZドライブをクリックすると無反応。数分後以下のようなエラーメッセージが表示される
エラーとなったネットワークドライブの割り当てを解除して、何度かやり直してみましたが現象は変わらず、何が悪いのか検討もつきません。
またWindows2003だけでなくB社のNASも同様にネットワークドライブを割り当てパソコンの再起動を行うとやっぱりエラーとなりネットワークドライブを参照することができません。
どうやらネットワークドライブの割り当てを行うこと、再起動を行うことによって何かこれまでとは違った動きになっているようだな、というあやふやなことが分かった程度で深い闇を見たようにも思いましたのでその日は撤退、後日再度チャレンジすることにします。
お客様先から戻り、あれこれとググってみたところこんな情報がありました
「バージョン2004以降でNASへの接続が拒否される」
どうやらSMB1.0問題の他に共有フォルダに対するアクセス権限設定にも何らかの改訂が行われているらしく、Windows10を起動するタイミングでネットワークドライブを作成し、シャットダウン時にそのネットワークドライブを切り離す、というように設定してあげる必要があるようです。
早速、お客様にご協力いただきながら実験です。
1.まずはネットワークドライブ接続のためのBATファイルを
NET USE W: ¥¥サーバ名¥共有フォルダ名 パスワード/USER:ユーザ名
と作成
2.同様にネットワークドライブ切断のためのBATファイルを
NET USE W: /DELETE
と作成します。
3.次にPCにログオン、ネットワークドライブの割り当てを行なっていない状態で接続用BATファイルを実行し、共有ドライブが作成されたことを確認します。
4.今度は切断用BATファイルを実行して共有ドライブが削除されたことを確認。
ここまででBATファイルが正常に動作していることを確認します。
が、実はお客様環境ではこの接続用のBATファイルはエラーになりました。
あれこれ試してみた結果
NET USE W: ¥¥サーバ名¥共有フォルダ名
と、アカウント情報を付け加えないとネットワークドライブを作成することができました。ポイントはこの認証フェーズのサーバ側設定のように思いましたが、ここに手をつけ始めると今現在とりあえずネットワークドライブに接続できているPCにも影響が出る可能性がありましたので、あえてスルーすることとします。
5.一度パソコンを再起動し、もう一度3、4の手順を行なって正常に動作していることを確認。どうやら解決に近づいた様子です。
あとはこの接続用BATファイル、切断用BATファイルをどこに組み込むか?ですが、結論から言うと接続用BATファイルはログオン時スクリプトとして組み込んでおく必要がありました。
このあたりは共有サーバにどのような資格情報で接続しようとしているのか?つまり接続用のBATファイルの記述内容に関わってくるところですので、スタートアップスクリプトが有効な場合もあると思います。
が、お客様先環境の場合アカウント情報を付け加えないBATファイルを設定したこともあり、Windowsログオン動作が行われた後でないとうまくBATファイルが機能しませんでした。
今回はNET USEコマンドでなんとかトラブルを切り抜けることができましたが、やはりWindows2003を使い続けていくというのはかなり難しい選択となっているのかもしれませんね。