vboxmanage guestcontrol изменить пароль
У меня есть сценарий, который я могу запустить на виртуальной машине.
Однако я хотел бы передать аргумент сценарию. Обычно я запускаю сценарий как ">>test.bat user1"
Аргумент - "user1". Может ли кто-нибудь помочь изменить приведенную ниже команду, чтобы передать аргумент?
VBoxManage --nologo guestcontrol "sample1" run --exe "C:\Users\sample1\Desktop\test.bat" --username sample1 --password sample2 --wait-stdout
Я тоже пробовал бегать
VBoxManage --nologo guestcontrol "sample1" run --exe "C:\Users\sample1\Desktop\test.bat user1" --username sample1 --password sample2 --wait-stdout
Но это было неправильно, у меня были результаты для приведенной выше команды:
C:\Program Files\Oracle\VirtualBox>VBoxManage --nologo guestcontrol "sample3" run --exe "C:\Users\sample1\Desktop\test.bat user1" --username sample1 --password sample2 --wait-stdout
VBoxManage.exe: error: No such file or directory on guest
VBoxManage.exe: error: Details: code VBOX_E_IPRT_ERROR (0x80bb0005), component GuestProcessWrap, interface IGuestProcess, callee IUnknown
VBoxManage.exe: error: Context: "WaitForArray(ComSafeArrayAsInParam(aWaitStartFlags), gctlRunGetRemainingTime(msStart, cMsTimeout), &waitResult)" at line 1485 of file VBoxManageGuestCtrl.cpp
Также пробовал
VBoxManage --nologo guestcontrol "sample1" run --exe "C:\Users\sample1\Desktop\test.bat" --username sample1 --password sample2 --wait-stdout --user1
Usage:
VBoxManage guestcontrol <uuid|vmname> [--verbose|-v] [--quiet|-q]
[--username <name>] [--domain <domain>]
[--passwordfile <file> | --password <password>]
run [common-options]
[--exe <path to executable>] [--timeout <msec>]
[-E|--putenv <NAME>[=<VALUE>]] [--unquoted-args]
[--ignore-operhaned-processes] [--profile]
[--no-wait-stdout|--wait-stdout]
[--no-wait-stderr|--wait-stderr]
[--dos2unix] [--unix2dos]
-- <program/arg0> [argument1] ... [argumentN]]
VBoxManage.exe: error: Unknown option: --user1
2 ответа
Из документа VBoxManage:
VBoxManage guestcontrol <uuid|vmname> run [common-options] --exe <path to executable>
[--timeout <msec>] [-E|--putenv <NAME>[=<VALUE>]] [--unquoted-args]
[--ignore-operhaned-processes] [--profile] [--no-wait-stdout|--wait-stdout]
[--no-wait-stderr|--wait-stderr] [--dos2unix] [--unix2dos] -- <program/arg0> [argument1] ... [argumentN]]
Пожалуйста попробуйте
VBoxManage --nologo guestcontrol "sample1" run --exe "C:\Users\sample1\Desktop\test.bat" --username sample1 --password sample2 --wait-stdout -- user1
Мне не хватало --
в моем предыдущем комментарии
Насколько я понимаю, этот вопрос не имеет ничего общего с vboxmanage, а просто вопрос о том, как передать ссылку как параметр командной строки в пакетном файле.
В пакетном файле параметры командной строки обозначаются как%1, %2, %3 и т. Д. В том порядке, в котором они представлены в командной строке. Таким образом:
Вот простой однострочный файл bat с именем doit.bat
echo %1 %2 %3
А вот его исполнение:
C:\>doit firstparm secondparm thirdparm
C:\>echo firstparm secondparm thirdparm
firstparm secondparm thirdparm