Объяснение
Я хочу запустить несколько программ/файлов при входе в систему, поэтому я использую Планировщик заданий, а не папку «Автозагрузка» или скрипты, поскольку некоторые программы требуют повышения прав UAC, а функция Планировщика заданий «Запустить с наивысшими привилегиями» будет, как я полагаю, подавлять запросы.
Проблема
Первое действие никогда не завершается должным образом, поэтому, поскольку действия задач являются синхронными, всегда выполняется только первое действие.
Итак, кто-нибудь знает, как сделать задачи асинхронными, или есть какие-нибудь другие предложения?
Настраивать
решение1
Я пришел сюда, основываясь на обсуждении комментариев наТАК
Честно говоря, у меня в меню автозагрузки есть программы, требующие прав администратора, которые, похоже, работают нормально без какого-либо вмешательства с моей стороны.
Вы пробовали поместить эти программы в Group Policy Logon/off Scripts? В Computer Configuration, Windows Settings. Я не уверен, сработает ли это для вас. Возможно, есть и другие решения, основанные на Group Policy, но они немного выше моего понимания.
Однако я решил опубликовать свой комментарий, как вы и просили, и изменил его, основываясь на вашем фактическом вопросе:
Задачи планировщика задач выполняются последовательно, а не одновременно. Если вы хотите, чтобы все задачи выполнялись одновременно (параллельно), проще всего создать несколько задач для одновременного запуска (или при одном и том же событии, например, при входе в систему). Используйте расширенную опцию «Задержка задачи», чтобы при желании разнести порядок их запуска.
решение2
У меня есть пакетный файл, который запускает каждую программу. Поскольку я хочу, чтобы все программы запускались асинхронно И также с задержкой между каждой (поскольку первые 2 программы полностью запускаются примерно за 10-15 секунд), я использую 'ping localhost -n 15 >nul' между каждой строкой программы для задержек.
Работает очень хорошо и означает, что у меня есть только одна задача в TS.
Пример пакетного файла:
@echo off
::Start prog 1
"C:\Program Files\prog1\prog1.exe"
::Need to wait 15 seconds for it to start
ping localhost -n 15 >nul
:: Start prog 2
:: Further progs & delays here if required, etc,etc...
решение3
Поскольку первая программа в списке запущенных действий все еще выполняется, обработчик ожидающего скрипта в планировщике задач никогда не запустит вторую программу, пока не завершится первая. Он предназначен для запуска либо одной программы/действия, либо серии коротких выполняемых действий. Здесь вы хотите запустить каждое действие как отдельно запланированную задачу.
решение4
Вы можете запустить запланированную задачу из пакетного файла, используя следующую команду:
C:\Windows\System32\schtasks.exe /run /tn "????????"
Где ????????
имя запланированной задачи. Например, если вы создаете папку в библиотеке планировщика задач с именем MyApps, а в ней создаете задачу с именем Fraps, ваша команда будет выглядеть так:
C:\Windows\System32\schtasks.exe /run /tn "MyApps\Fraps"
Вы даже можете использовать это в ярлыке для запуска Fraps напрямую без UAC.
Но в этом случае я бы просто сначала запустил Fraps, а затем на вкладке «Общие» отметьте галочкой опцию Run Fraps when Windows starts
.