えーと、サーバー、クライアントなどに関するお話し。
サーバー機は Windows Server 2012 、クライアントは Windows 7 という環境で、ネットワークの設定をおこなっています。
Windows Server 2012 はActiveDirectorを使用しており、サーバー上やNASドライブなどに設定された共有フォルダを円滑に活用するため、サーバーにログオンする時にログオンスクリプトでドライブとしてマウントしています。
そういう設定に関して、あまり複雑にしてしまうと、スクリプトを書いた本人以外はよくわからないなんて言う事にもなりかねないので、ワタシは出来るだけシンプルイズベストに作成するようにしています。
ですから、ログオンスクリプトでドライブをマウントするなんて言うのは、バッチファイルで net use です。
net use でまず既にマウントされているドライブを切断し、そのままの流れで新たにマウントしています。
今回、ネットワークに接続する「部屋」によってアクセス許可を出すフォルダと出さないフォルダがあります。
簡単に言うと、セグメントが分けてあって、どちらのセグメントに接続したかでそれぞれの共有フォルダにマウントさせて・・・いました。
しかしどうも、不安定です。
ちゃんとマウントされる時と、されない時があります。
バッチファイルのnet use命令自体は簡単なモノですから、間違えようがありません。
しかも同じスクリプトをみんなで参照しているのに、マウントされる人とされない人がいるんです。
なんだこりゃ?、と思いましたが、色々調べてみたところ、net use ドライブ名 /delete でドライブを切断した直後に、同ドライブをマウントとすると、失敗する事があるようです。
どうもタイミングの問題だと思うのですが、インターネットで調べてみても、同様の方が沢山いらっしゃいましたので、何か理由があるのでしょう。
ログオンスクリプトとしてバッチファイルを叩くのを止めて、ポリシーで設定してしまおうかとも思いましたが、それだとどうも「ネットワークに応じて処理を替える」のがややこしくなってしまいます。
そこで、今回はポリシーは使用せず、やっぱりログオンスクリプトで処理する事にしました。
しかしバッチファイルではなく、VBSです。
VBSで、現在接続されているネットワークを判定し、それに応じてどこをどのドライブとしてマウントするか、選びます。
あまり仕事を家には持ち込みたくないんですけど、今回はとにかく時間がないのでやむをえません。
自宅でVBSによるログオンスクリプトを作りました。
完成したプログラムは結構ややこしくなってしまったので、もう一度シンプルになるように作り直して。
これで「接続されているネットワークに応じてマウントするドライブが変わる」を実現できます。
あとは皆さんに日々使用していただいて、トラブルがあるかどうかの確認を、という感じですね。
迅速に、かつ円滑に事が運びますように・・・