Как запретить отображение окна команд в запланированных задачах в Windows 10

В Windows 10 иногда необходимо автоматизировать определенные рутинные задачи (например, подключить сетевой диск, запустить приложение, запустить пакетный файл, показать сообщение) и запустить их в определенное время по расписанию. Обычно вы используете планировщик заданий, так как это инструмент, предназначенный для выполнения задачи на основе широкого диапазона критериев.

Единственное предостережение: при создании задачи вы можете установить флажок «Скрытый», при запуске задачи планировщик задач на короткое время покажет командное окно на рабочем столе, что не только раздражает, но и создает неудобства для пользователя.

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

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

Как настроить расписание для скрытого запуска задачи с помощью планировщика задач

Чтобы предотвратить появление окна команд при запуске запланированной задачи, выполните следующие действия:

  1. Откройте Начать .

  2. Найдите Task Scheduler и щелкните верхний результат, чтобы запустить опыта.

  3. Щелкните правой кнопкой мыши папку Библиотека планировщика заданий .

  4. Щелкните параметр Создать задачу .

    Параметр новой задачи планировщика заданий

  5. На вкладке «Общие» в разделе «Параметры безопасности» выберите Выполнять независимо от того, вошел ли пользователь в систему . (Это параметр, при котором командное окно не будет отображаться при автоматическом запуске задачи.)

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

    Новая конфигурация задачи для скрытого запуска

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

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

Пока мы фокусируем это руководство на Windows 10, вы также можете использовать эти шаги в Windows 8.1 и Windows 7.



Скрытый планировщик заданий Windows 7 не работает

У меня есть процесс-демон, который я запускаю на своем компьютере каждый час, и хотя я поставил флажок Скрытый , он не работает.

Каждый час задача запускается, но в ней отображается черное командное окно, в котором запущено мое приложение .NET Console. Оно остается видимым до завершения задачи, а затем исчезает. Это очень раздражает, потому что всплывает и прерывает все, что я делаю:

Я действительно хочу, чтобы он был скрыт, так как я могу это исправить?


55

Установите флажок «Запускать независимо от того, вошел ли пользователь в систему или нет», и исполняемый файл будет работать в фоновом режиме.

Улучшить этот ответ
ответил 23 мая ’13 в 1:22
  • 4
    Все очень просто. ответ должен быть принятым. — rolve 31 дек. ’13 в 11:56
  • Спасибо. У меня была противоположная проблема. Я хотел , чтобы консоль отображалась, но этого не произошло! — Рэнди Стегбауэр, 11 дек. ’14 в 21:44
  • 12
    Для этого требуется сохранить пароль вместе с задачей, и при следующей смене пароля он будет скрытно нарушен (что обычно обеспечивается политиками домена в корпоративных средах). — Филипп Мунин, 10 февраля 2016, 17:19
  • @PhilippMunin В определенных случаях использования вы можете обойтись без установки флажка «Не хранить пароль. Задача будет иметь доступ только к ресурсам локального компьютера. ‘, Что позволит избежать ввода пароля. — Джимадин 22 авг. ’19 в 15:15
добавить комментарий |

Установите флажок «Запускать независимо от того, вошел ли пользователь в систему или нет», и исполняемый файл будет работать в фоновом режиме.


23

Почему запланированное задание Windows 7 выполняется скрытым? должен объяснить, почему это происходит.

Кроме того, это описание TechNet общих свойств задачи утверждает:

общие свойства задачи отображаются на вкладке Общие диалогового окна Свойства задачи или Создание задачи. Общие свойства задачи включают имя задачи, автора, описание, параметры безопасности, операционную систему, для которой настроена задача, и свойство, определяющее, скрыта ли задача .

Когда вы создаете задачу в папке задач, вы должны дать ей имя. Две задачи не могут иметь одно и то же имя, если они находятся в одной папке задач.. Описание задачи необязательно.

Параметры безопасности задачи определяют контекст безопасности, в котором она выполняется. Для получения дополнительной информации см. Контекст безопасности задачи.

По умолчанию скрытые задачи не отображаются в пользовательском интерфейсе планировщика задач. Вы можете просматривать скрытые задачи, если в меню «Просмотр» выбрано «Показать скрытые задачи». Вы делаете задачу скрытой, когда устанавливаете флажок «Скрытый» на вкладке «Общие» диалогового окна «Свойства задачи» или «Создание задачи».

Не означает, что флажок скрывает только саму задачу из пользовательского интерфейса планировщика, но не саму программу, которая запланирована?

Улучшите этот ответ
отредактировано 20 марта ’17 в 10:17
Сообщество ♦
1
21 сен. ’12 в 21: 55
  • Это действительно так звучит, но это тоже не так; Я вижу задачи в Планировщике. Это был бы странный пользовательский интерфейс, работающий с объектами, которые вы не видите. — Джошуа Фрэнк, 21 сен. ’12 в 18:58
  • 2
    Установлен ли у вас флажок Показать скрытые задачи в меню «Просмотр»? — Каран, 21 сен. ’12 в 19:02
  • 1
    Ах, да, это объясняет. Благодарю. Конечно, поскольку «Скрытый» не делает то, что я думал, мне не нужны скрытые задачи. Поскольку это инструмент, предназначенный только для администраторов, и поскольку администраторы обычно не любят скрывать от них что-то, какой цели служит скрытая задача? — Джошуа Франк, 21 сен. ’12 в 19:19
  • 2
    Кто знает, конечно, я никогда не использовал эту опцию. Я впервые посмотрел на ваш вопрос, чтобы узнать, что он делает. 🙂 Кстати, вместо того, чтобы менять пользователя на SYSTEM, решает ли проблему выбор «Запускать независимо от того, вошел ли пользователь в систему или нет»? — Каран 21 сен. ’12 в 19:25
добавить комментарий |

Почему запланированное задание Windows 7 выполняется скрытым? должен объяснить, почему это происходит.

Кроме того, это описание TechNet общих свойств задачи утверждает:

общие свойства задачи отображаются на вкладке Общие диалогового окна Свойства задачи или Создание задачи. Общие свойства задачи включают имя задачи, автора, описание, параметры безопасности, операционную систему, для которой настроена задача, и свойство, определяющее, является ли задача скрытой. .

Когда вы создаете задачу в папке задач, вы должны назвать задачу. Две задачи не могут иметь одно и то же имя, если они находятся в одной папке задач. Описание задачи необязательно.

Параметры безопасности задачи определяют контекст безопасности, в котором она выполняется. Для получения дополнительной информации см. Контекст безопасности задачи.

По умолчанию скрытые задачи не отображаются в пользовательском интерфейсе планировщика задач. Вы можете просматривать скрытые задачи, если в меню «Просмотр» выбрано «Показать скрытые задачи». Вы делаете задачу скрытой, когда устанавливаете флажок «Скрытый» на вкладке «Общие» диалогового окна «Свойства задачи» или «Создание задачи».

Не означает, что флажок скрывает только саму задачу из пользовательского интерфейса планировщика, а не саму программу, которая запланирована?


Хорошо, после некоторых дополнительных исследований я обнаружил этот ответ на StackOverflow:

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

В комментарии указывается, что это дает полные права на задачу, что может раздражать, но приемлемо в данном случае.

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


12

ИДЕАЛЬНОЕ РЕШЕНИЕ

  • Изменение пользователя, выполняющего задачу, на СИСТЕМУ — выполнит вашу команду не под вашим пользователем
  • Установка флажка «Запускать независимо от того, вошел ли пользователь в систему или нет» — требует сохранения пароля вместе с задачей и будет скрытно нарушать при следующей смене пароля (что обычно обеспечивается политиками домена в корпоративных средах)

Если это мешает вам сделка, окончательное решение — создать файл сценария JS, подобный приведенному ниже, который будет запускать вашу команду в скрытом окне, подождите, пока команда для завершения и возврата кода ошибки:

  WScript.CreateObject ("WScript.Shell"). Run ('powershell -File C: \ Path \ To \  MyScript.ps1 ', 0, true);  

Сохранить как файл js (myjob.js) и добавьте это в свой планировщик задач: Наслаждайтесь

Улучшить этот ответ
ответил 10 февраля ’16 в 17:29
  • Кроме того, для запуска сценария следует использовать Wscript.exe, а не Cscript. В противном случае на мгновение может появиться черное окно консоли.. — BBK, 26 июня ’18 в 22:05
  • Вот еще один пример VBScript, который у меня работает: faqforge.com/windows/… — BBK, 26 июня ’18, 22:21
добавить комментарий |

ИДЕАЛЬНОЕ РЕШЕНИЕ

  • Изменение Пользователь, запускающий задачу в СИСТЕМЕ — выполнит вашу команду не под вашим пользователем.
  • Установка флажка «Запускать вне зависимости от того, вошел ли пользователь в систему или нет» — требует сохранения пароля вместе с задачей, а затем будет скрыто прерываться изменение временного пароля (что обычно обеспечивается политиками домена в корпоративных средах)

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

  WScript.CreateObject ("WScript.Shell"). Run ('powershell -  Файл C: \ Путь \ К \ MyScript.ps1 ', 0, true);  

Сохраните это как файл js (myjob.js) и добавьте его в свою задачу планировщик: Наслаждайтесь


2

v>

«Запускать вне зависимости от того, вошел ли пользователь в систему или нет», позволит скрытому параметру работать. Обратите внимание, что вам необходимо предоставить свои учетные данные после выбора этого .

Улучшите это ответ
изменён 18 марта ’14 в 16: 00
Heptite
17.2k55 золотых знаков4949 серебряных знаков6666 бронзовых знаков
ответил 18 марта ’14 в 3:12
добавить комментарий |

«Запускать независимо от того, вошел ли пользователь в систему или нет», позволит скрытому параметру работать. Обратите внимание, что вам необходимо предоставить свои учетные данные после выбора это.


1

Оба:

  • Изменение пользователя, выполняющего задачу, на SYSTEM «
  • и проверка» Запускать независимо от того, вошел ли пользователь в систему или нет «

предотвратит появление черного командного окна, но помните о недостатках: вы не сможете работать с некоторыми инструментами автоматизации графического интерфейса, такими как AutoIt или SendKeys в PowerShell, так как Windows запускает задачи в безголовом стиле. окружающая обстановка.

Улучшите этот ответ
ответил 22 сен 2015, 11:47
добавить комментарий |

Оба:

  • Изменение пользователя, выполняющего задачу, на SYSTEM «
  • и проверка «Запускать независимо от того, вошел ли пользователь в систему или нет»

предотвратит появление черного окна команд, но помните о недостатках: вы не будете иметь возможность работать с некоторыми инструментами автоматизации графического интерфейса, такими как AutoIt или SendKeys в PowerShell, поскольку Windows запускает задачи в среде без заголовка.


1

Я оставляю настройки по умолчанию и пишу короткие пользовательские программы, которые запускают выполнение без отображения окна. Например, для запуска командного файла без открыв окно командной строки, используйте приведенный ниже код. Задайте задачу создать «RunBatchFile.exe (путь_к_файлу_файла)».

  class Program {static void Main (string []  args) {попробуйте {if (args.Length  

Улучшите этот ответ
ответил 20 июня ’18 в 21:20
  • 1
    И я предполагаю, что магия, которая делает скрытую, определенно связана с ProcessWindowStyle. В частности, скрытая часть, верно? Я кое-что вижу об этом здесь: msdn.microsoft.com/en-us/library/… — Выпейте немного сока Pimp IT 20 июня ’18 в 21:23
  • Да, это то, что скрывает окно. Без него всплывет окошко. — AresAvatar, 20 июня ’18 в 21:24
  • 1
    Этот код в том виде, в каком он написан, будет работать со всем, что работает с ShellExecute. — AresAvatar 20 июн ’18 в 21:29
добавить комментарий |

Я оставляю настройки по умолчанию и пишу короткие пользовательские программы, которые запускают выполнение без отображения окна. Например, чтобы запустить командный файл, не открывая окно командной строки, используйте приведенный ниже код. Задайте задачу создать «RunBatchFile.exe (path_to_batch_file)».

  class Program {static void Main (string [] args) {try {if (args.Length  

0

У меня была эта проблема с запланированными задачами PowerShell (которые я развертывал через GPO). В итоге я обернул его в командное окно:

  CMD/Q/D/C "powershell.exe -Command" & '\ MYDOMAIN  netlogon  MyPowerShellScript.ps1'  ""  

Улучшите этот ответ
ответил 02 июня ’16 в 22:21
  • Хотя это может дать ответ на вопрос, было бы лучше, если бы вы могли объяснить, почему это происходит. — DavidPostill ♦ 03 июня ’16 в 09:54
добавить комментарий |

У меня была эта проблема с запланированными задачами PowerShell (которые я развертывал через GPO). В итоге я обернул его в командное окно:

  CMD/Q/D/C "powershell.exe -Command" & '\ MYDOMAIN  netlogon  MyPowerShellScript.ps1'  ""  

Оцените статью
logicle.ru
Добавить комментарий