guestcontrol VBoxManage
| Передать на гостевую машину файл | |
| Возможные проблемы | |
| Выполнить скрипт на гостевой машине | |
| Похожие статьи |
Передать на гостевую машину файл
С помощью команды copyto можно передать файл на гостевую машину
$name = "normal_w7" $user = "andrei" $pass = "secret" $file = "C:\dev\test.txt" $dest = "C:\Users\$user\Desktop\FileFromHost.txt" vboxmanage guestcontrol $name copyto $file $dest --username $user --password $pass
Возможные проблемы
Если при попытке логина на виртуальную машину с Windows вы получили ошибку:
specified user was not able to logon on guest
VBoxManage.exe: error: Waiting for guest process failed: The specified user was not able to logon on guest VBoxManage.exe: error: Details: code VBOX_E_IPRT_ERROR (0x80bb0005), component GuestSessionWrap, interface IGuestSession, callee IUnknown VBoxManage.exe: error: Context: "WaitForArray(ComSafeArrayAsInParam(aSessionWaitFlags), 30 * 1000, &enmWaitResult)" at line 772 of file VBoxManageGuestCtrl.cpp
Cоветую первым делом проверить правильность имени пользователя.
Если вы взяли имя пользователя из User Accounts
Windows 7
Советую изучить есть ли такой пользователь в
C:\Users
Windows 7
Как видно из этого примера, настоящее имя пользователя это andrei а не DEVHOPSRU, которое отображено в User Accounts
Причин у такого несоответствия может быть несколько, прочитать про них подробнее вы можете в статье Пользователи Windows
Если при попытке скопировать файл на виртуальную машину вы получили ошибку которая ссылается на путь до передаваемого файла:
VBoxManage.exe: error: Unknown sub-command: 'C:\HOST\file.txt'
это необязательно означает, что проблема в этом пути.
Возможно проблема в том, что имя виртуально машины задано неверно
vboxmanage guestcontrol $name copyto $file $dest --username $user --password $pass
Если вы используете переменные - проверьте правильность всех параметров с помощью явного вывода на экран
Write-Host vboxmanage guestcontrol $name copyto $file $dest --username $user --password $pass -f Red
Также стоит рассмотреть вариант с заключением переменных в двойные кавычки и явное указание --target-directory
Write-Host vboxmanage guestcontrol "$name" copyto "$host_file" --target-directory "$guest_dest" --username $guest_user --password $guest_pass -f Red vboxmanage guestcontrol "$name" copyto "$host_file" --target-directory "$guest_dest" --username $guest_user --password $guest_pass
Выполнить скрипт на гостевой машине
VBoxManage guestcontrol "IN2" run --exe "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" --username "NS" --password "secret" -- "powershell.exe" "-ExecutionPolicy" "Bypass" -File "Z:\pwsh\setup.ps1"
Автор статьи: Андрей Олегович
| VBoxManage | |
| VirtualBox | |
| Диски | |
| guestcontrol | |
| Сеть | |
| man VBoxManage | |
| ostypes: Доступные ОС |