*[PPx]PPxカスタマイズメモ - ネットワークドライブの再接続

最近はUNC対応のアプリが多いが、昔(DOS時代)からの癖、
そしてFD(卓駆★)のアルファベット一文字指定で飛んで
いけることからネットワークリソースにはドライブ文字を
割り当てて使っている。


今使用しているNAS(HDL4-G)はスケジュール起動機能が
備わっており、決まった時間にON/OFF指定が(曜日毎に)可能。
便利に使っているのだが祝祭日等で通常とは違う時間帯に
使おうとするとHDL4-Gの電源が入っていないことがある。

そんなときには手動でHDL4-Gの電源を入れるのだが、
困ったことが一つ。

PPxからネットワークドライブの再接続をする方法がない。
※PPx 1.06+2からOFFLINE DRIVEに対応になった。


卓駆★ではエクスプローラーと同じくすべてのドライブが
ドライブリストに表示され、そのドライブを一度見に行けば
以降は通常通り使用できていた。
PPxではドライブリストに接続できなかったドライブが現れない。

#UNC指定での参照はできるがネットワークドライブは復活しない。

ドライブを復活するにはnet useを自分で叩くかエクスプローラーで
参照するしか方法がないわけで。
これはちょっと使いづらい。


この手のツールがあるんじゃないかと探してみた。
http://www.google.co.jp/search?hl=ja&rlz=1T4GGLL_jaJP313JP313&q=%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF%E3%83%89%E3%83%A9%E3%82%A4%E3%83%96+%E5%86%8D%E6%8E%A5%E7%B6%9A&lr=

XP(Vista)の仕様でか再接続に失敗することがあるらしく
いくつか便利なツールが見つかった。
http://www.nifty.com/download/win/net/network/lan/index3_04.htm

特にNDCONNECT。
ウインドウ構成とアイコンが自分好み。
非常駐モードで起動すれば設定したドライブを再接続してくれる。
これは便利。

ただもうちょっといろいろとエラーチェックを入れたと思い
自分でいろいろと実験することに。


まずHDL4-Gが立ち上がっているかのチェック。
多いのはpingだろうが正確にはサービスが立ち上がっているか
のチェックが良いらしい。サービスの状態をチェックするには
そのサービスのポートをチェックする。でっポートチェックの
ツールを探していて見つかったのがマイクロソフトのPortqry。

http://support.microsoft.com/kb/310099/ja

チェックするのはTCP 445番ポート(SMB)
http://www.microsoft.com/downloads/details.aspx?FamilyID=DD6BED8F-A706-48EE-95B7-BDC21455815A&displaylang=ja


機械翻訳のためかどうも日本語が怪しいがerrorlevel 0が
LISTENINGらしい。
http://support.microsoft.com/kb/310513/ja


次に再接続するドライブとUNCの指定。

HDL4-Gを電源断、電源投入(ブートシーケンス)、立ち上げ完了で
net useを叩いて確認したが、どうもステータスが利用不可に
なる模様。

でっ、このnet useの結果が
ステータス、ローカル名、リモート名、ネットワーク名と
必要なドライブとUNCを含んでいる。
これを利用することに。


でっ、こんな感じになった。
^N ,%Obn "%'ProgramFiles'\PortQryV2\PortQry.exe" -n landisk -e 445 -p tcp -q && (net use > "%'TEMP'\ppxnetuse.txt" & @For /f "tokens=1-3,*" %%I in (%'TEMP'\ppxnetuse.txt) do @if /i %%I EQU 利用不可 (net use %%J %%K)) %: del "%'TEMP'\ppxnetuse.txt"
※if not errorlevel 0で聞くより&&が簡単!


正直ここまでやらんでもと思うがせっかく調べたので(笑)。

なお個別にユーザーID、パスワードを指定することはできないし
パスワードは丸見え。
そのような設定が必要な場合には前述のツールを使用するのが
良いと思う。