Я пытаюсь запустить виртуальную машину через командный файл. Файл .bat работает нормально, когда я запускаю его из командной строки Windows. Но когда я запускаю его из запланированных задач, он выходит с кодом ошибки 1.

Я запускаю командную строку под тем же пользователем, под которым запланировано выполнение запланированной задачи. Я проверил разрешения для запланированной задачи, и оказалось, что у меня есть все права доступа к этой задаче. В диалоговом окне "Запуск от имени" указан правильный пароль для пользователя, которого он использует.

Пакетный файл очень прост:

"C:\Program Files\Oracle\VirtualBox\VBoxHeadless.exe" -startvm "Debian"

4 ответа4

0

Я застрял с той же проблемой около 2 месяцев назад, но на Win 7 - однако, решение может работать и для XP. У меня был сценарий VB вместо файла CMD или BAT, который также не мог быть выполнен, когда я поместил его в D:\TestData . Как выяснилось, планировщик заданий очень внимательно относится к разрешенным местам для таких файлов.

Короче говоря, я получил следующее: я создал папку Scripts как C:\Users\username\AppData\Local\Scripts - и она работала как шарм)

Для XP попробуйте создать его, например, в папке %USERPROFILE% (по умолчанию это C:\Documents and Settings\username ).

Надеюсь, это было полезно.

0

Необходимо убедиться, что у вашего экземпляра запланированной задачи есть доступ ко всем общим сетевым ресурсам. Если ваш компьютер является частью домена, который настраивает сетевые диски при входе в систему, или у вас есть перенаправление папок, это может вызвать проблемы.

Важно помнить, что пользователь запланированной задачи запускается в ограниченном экземпляре вашей учетной записи. Не запускаются сценарии запуска и не создается кэш локального пользователя. Если у вашего текущего пользователя есть заблокированный файл, пользователь запланированной задачи не сможет его использовать.

Я знаю, что это долгий путь, но без учета того, что делает исполняемый файл virtualbox, мы не сможем помочь. Большинство хорошо написанных программ сбрасывают ошибку "полный текст" в файл журнала, чтобы вы знали, что на самом деле произошло.

0

В группе "Параметры безопасности" есть опция для запуска задачи. Вы можете найти эту опцию на первой вкладке страницы "Свойства".

  • Run only when user is logged on - это делает задачу видимой на вашем рабочем столе.
  • Run whether user is logged on or not - он делает задачу невидимой, поскольку нет способа отобразить пользовательский интерфейс, когда ни один пользователь не вошел в систему.

Не могли бы вы попробовать первый вариант? Я на самом деле использую это для очень похожей вашей ситуации. Делая это, вы, по крайней мере, будете иметь возможность увидеть, что там происходит, что должно быть более информативным, чем "код ошибки 1".

Не говоря уже о том, что пользователь должен входить в систему все время, чтобы обеспечить выполнение задачи, но это можно обойти путем автоматизации входа в систему и блокировки системы.

0

Проблема:- Запуск физической машины и автоматический запуск виртуальных машин с помощью запланированной задачи - Войдите в систему позже с моей основной учетной записью (дни или недели спустя ... неважно)- Запустите "cmd", набрав "vboxmanage list runningvms", не отобразится ни один vms

Мое решение: 1- сначала откройте компонент службы DCOM

COMPONENTSERVICE

2- отредактируйте выделенный компонент следующим образом:

Изменить настройки аккаунта для запуска

после 2 - введите учетные данные для вашей учетной записи, которые будут видеть Vms в командной строке

3 - запустите редактор задач (в моем случае Windows 10) и следуйте инструкциям на экране. (Я включил локальную учетную запись администратора и использовал ее для этой задачи. компонент DCOM запускается с настройками, определенными в шаге 2)

Шедулер задач "простая задача шаг 1"

4- настроить параметры запуска

Перезагрузите компьютер, чтобы включить изменения конфигурации DCOM.

Теперь он должен отображаться с введенной вами учетной записью на панели DCOM, чтобы отобразить "vboxmanage list runningvms".

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .