1. Qiita
  2. 投稿
  3. vagrant

Windows上のvagrantでネットワークドライブを自動で割り当てる

  • 0
    いいね
  • 0
    コメント

    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 するとネットワークドライブが切断されてドライブ自体も登録が解除されます