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

У меня есть процесс демона, который я запускаю на своей машине каждый час, и даже если я проверил Hidden box, не работает.Task Properties

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

enter image description here

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

13
задан Joshua Frank
24.11.2022 3:38 Количество просмотров материала 2563
Распечатать страницу

8 ответов

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

39
отвечен Fern 2022-11-25 11:26

хорошо, после некоторых исследований я нашел ответ на StackOverflow:

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

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

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

18
отвечен Joshua Frank 2022-11-25 13:43

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

и Это TechNet описание Общие Свойства Задач гласит:

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

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

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

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

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

17
отвечен Karan 2022-11-25 16:00

ОКОНЧАТЕЛЬНОЕ РЕШЕНИЕ

  • изменение пользователя, выполняющего задачу, на SYSTEM-выполнит вашу команду не под вашим пользователем
  • проверка "запустить ли пользователь вошел в систему или нет" - требует, чтобы сохранить пароль с задачей, и будет hiddenly перерыв в следующий раз изменения пароля (то, что обычно применяется доменных политик в корпоративных средах)

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

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

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

9
отвечен Philipp Munin 2022-11-25 18:17

"запуск независимо от того, вошел пользователь в систему или нет" позволит скрытую опцию для работы. Обратите внимание, что после этого необходимо ввести учетные данные.

2
отвечен Tran Viet Cuong 2022-11-25 20:34

Как :

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

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

1
отвечен Gabriel Glenn 2022-11-25 22:51

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

CMD
/Q /D /C "powershell.exe -Command "& '\MYDOMAIN\netlogon\MyPowerShellScript.ps1'""
0
отвечен Berwin22 2022-11-26 01:08

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

class Program
{
    static void Main(string[] args)
    {
        try
        {
            if (args.Length < 1)
            {
                Console.WriteLine("No batch file");
                Console.WriteLine("Usage: RunBatchFile (path)");
                Environment.Exit(1);
            }

            if (!File.Exists(args[0]))
            {
                Console.WriteLine("Batch file {0} not found", args[0]);
                Console.WriteLine("Usage: RunBatchFile (path)");
                Environment.Exit(1);
            }

            // Set to batch file's folder
            string startIn = Path.GetDirectoryName(args[0]);
            if (!string.IsNullOrEmpty(startIn) && Directory.Exists(startIn))
                Directory.SetCurrentDirectory(startIn);

            // Start
            ProcessStartInfo pi = new ProcessStartInfo()
            {
                FileName = args[0],
                UseShellExecute = true,
                WindowStyle = ProcessWindowStyle.Hidden
            };
            Process.Start(pi);
        }
        catch (Exception ex)
        {
            Console.WriteLine("Exception: " + ex.ToString());
        }
    }
}
0
отвечен AresAvatar 2022-11-26 03:25

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх