Вместо использования объектов COM - почему бы просто не использовать интерфейс командной строки VBoxManage ?
Соответствующие команды на ваш вопрос:
VBoxManage createvm --name <name>
[--ostype <ostype>]
[--register]
[--basefolder <path> | --settingsfile <path>]
[--uuid <uuid>]
VBoxManage startvm <uuid>|<name>
[--type gui|sdl|vrdp|headless]
Исполняемый файл VBoxManage находится в каталоге установки, который по умолчанию будет C: \ Program Files \ Oralce \ VirtualBox (по крайней мере, начиная с версии 3.2.8).
Используя COM API, может показаться, что вам нужно использовать метод VirtualBox.OpenSession , но я не могу заставить PowerShell привести переменную ISession в соответствие с сигнатурой метода и вызвать метод. Может быть, с помощью какого-то умного размышления или чего-то такого, что можно заставить работать.