web-dev-qa-db-ja.com

コマンドラインからVirtualBoxでUSBフィルターを有効/無効にするにはどうすればよいですか?

VirtualBox Version 4.2.0 r80737を実行しています。

私は通常VirtualBoxにフィルターをかけたいUSBキーボードを持っていますが、ホストOSでも使用できるように解放したい場合があります。 documentation でVBoxManageを見ていて、有望な「usbfilter」オプションを見ましたが、usbfilter add/modifyを試してみると、次のエラーが発生しました。

The machine 'your name here' is already locked for a session (or being unlocked)

したがって、実行中のマシンには影響しないようです(少なくともそのオプションでは影響しません)。メニューから[デバイス]> [USBデバイス]> [USBキーボード[0001]]に移動するのと同じことをプログラムで実行できるようにしたいだけです。

アクセスできるのがホストOSからかゲストOSかは関係ありません。

これは可能ですか?もしそうなら、どうすればそれを行うことができますか?

5
Wayne Werner

これは、 manual で説明されているようにusbattachコマンドで実行されます。

VBoxManage controlvm <VM_ID> usbattach <uuid>|<address>
VBoxManage controlvm <VM_ID> usbdetach <uuid>|<address>

VM IDを見つけるには、VBoxManage list vmsを実行します

USBデバイスのUUIDのリストについては、VBoxManage list usbhostを実行します(Sudoを追加する必要がある場合があります)

6

他の答えは「箱から出して」うまくいかなかったので、vboxmanage helpを見て彼の答えから得たものは次のとおりです。

(必要な場合があります:vboxmanage.exe、またはcd\your\vbox\dir。\ vboxmanage)

vboxmanage list vms
# Find your vm in the list and note the left string (ex "some_machine_123412341234_12345")
vboxmanage list usbhost
# Find your device in that list and note the uuid
vboxmanage controlvm "some_machine_123412341234_12345" usbattach "DEVICE_UUID"

または切り離す:

vboxmanage controlvm "some_machine_123412341234_12345" usbdetach "DEVICE_UUID"
1
csga5000