Windows10のアップデート後などに、それまでログオン時に接続されていたネットワークドライブが切断されたままになってしまった場合の備忘録。
ドライブのアイコンに×印が付くだけなら一度開くと接続されて×印が消えますが、アイコン自体が消えてしまうと、そのたびにネットワークドライブの割り当てを行わないといけなくなります。私の場合は、自宅PCは同一ネットワークセグメント上にNASがあり×印パターン、会社PCはセグメントの違う場所にNASがありアイコン自体消えるパターンとなりました。
これを回避するために、WSH(Windows Script Host)のVBScriptを利用します。スクリプトファイル(.vbs)を作り、タスクスケジューラでログオン時に実行させて任意のネットワークドライブに接続させます。
VBScriptのスクリプトファイルを作る
メモ帳などに以下の要領で記述し、拡張子.vbsとして任意の場所に保存します(例えば nw_access.vbs としてドキュメントに保存など)。
WScript.sleep 3000 Set objNetwork = CreateObject("WScript.Network") objNetWork.MapNetworkDrive "X:","\\NAS-NAME\share" objNetWork.MapNetworkDrive "Y:","\\192.168.0.100\share" objNetWork.MapNetworkDrive "Z:","\\NAS-NAME\share\admin",False,"admin-user","password"
- WScript.sleep 3000
- 次の処理までの遅延時間(ms)
- ログオン後、3秒程度を設定
- Set objNetwork = CreateObject(“WScript.Network”)
- ネットワークオブジェクトの作成
- objNetWork.MapNetworkDrive “X:”,”\\NAS-NAME\share”
- ネットワークドライブを割り当てて接続
- objNetWork.MapNetworkDrive “[ドライブ名]:”,”[共有フォルダのパス]”
- 複数割り当てる場合は改行して記入
- ドライブ名はコロンが必要。
- NASやストレージサーバなどのホスト名を仮にNAS-NAMEとすると、その中のshareフォルダをXドライブに割り当てる場合の例
- objNetWork.MapNetworkDrive “Y:”,”\\192.168.0.100\share”
- フォルダのパス指定は、ホスト名の代わりにIPアドレスでも可能
- objNetWork.MapNetworkDrive “Z:”,”\\NAS-NAME\share\admin”,False,”admin-user”,”password”
- 現在のログオンユーザーとは違うアクセス権が必要なフォルダへのアクセスには第4第5パラメータにユーザー名とパスワードを追記。第3パラメータはデフォルトのFalse
- \\NAS-NAME\share のadminフォルダへのアクセスが、ユーザー:admin-userでないと出来ない場合
作成したスクリプトファイルを実行するとネットワークドライブが接続されます。
これをタスクスケジューラでログオン時に実行させます。
タスクスケジューラについては、こちらの記事の要領ですが、[トリガー]タブの[タスクの開始]を[ログオン時]に設定します。
以上、ご参考になれば幸いです。
コメント