Windows上のvagrantでネットワークドライブを自動で割り当てる
前提条件
- Windows10上で確認しています。
- VMのIPアドレスは固定(例:10.x.y.z)とします。
- VM上ではSambaなどでファイル共有の設定が完了しているものとします。
- ネットワークドライブの文字はあらかじめ決めておく(例:J)ものとします。
- ネットワークドライブに割り当てるファイル共有のパスはあらかじめ決めておく(例:\\10.x.y.z\share)ものとします。
準備1. vagrant-triggersプラグインのインストール
vagrant plugin install vagrant-triggers
準備2. 資格情報の登録
ファイル共有の資格情報を登録します。Windows10の場合は↓のとおり。IPアドレス、ユーザー名、パスワードを入力してOKで登録。
コントロールパネル→ユーザーアカウント→資格情報マネージャー→Windows資格情報の追加
Powershellからコマンドで登録する場合はこちら。
cmdkey /add:10.x.y.z /user:ユーザー名 /pass
コマンドで登録内容を確認するにはこちら。
cmdkey /list
準備3. Vagrantfileの変更
「J:」に割り当てる場合は以下の内容をVagrantfileに追加します。 J
と\\\\10.x.y.z\\share
は適宜変更してください。
Vagrantfile
Vagrant.configure("2") do |config|
# other configuration ...
config.trigger.after :up do
run 'powershell -Command "New-PSDrive -Name \"J\" -PSProvider FileSystem -Root \"\\\\10.x.y.z\\share\" -Persist"'
end
config.trigger.before :halt do
run 'powershell -Command "Remove-PSDrive -Name \"J\" -PSProvider FileSystem -Force"'
run 'net use /delete J:'
end
end
実行
-
vagrant up
するとネットワークドライブが割り当てられます -
vagrant halt
するとネットワークドライブが切断されてドライブ自体も登録が解除されます