- Что такое Task Host Windows в ОС Windows 10 и как его можно отключить
- Что такое Task Host Windows и для чего он нужен
- Что делать, если Task Host Windows не дает выключить ПК
- Можно ли его отключить?
- Уменьшение времени ожидания закрытия приложений
- Второстепенные службы
- Связанное задание
- Вирус Taskhost.exe
- Папка tasks что это
- Изменение или удаление назначенных заданий
- Запуск и остановка назначенных заданий
- Просмотр состояния назначенных заданий
- Глобальные опции для назначенных заданий
- Работа с заданиями на удаленных компьютерах
- Как использовать сценарий
- Внутри сценария
- Неразбериха с учетными записями
Что такое Task Host Windows в ОС Windows 10 и как его можно отключить
Иногда при окончании сеанса работы ПК система выдает ошибку. Если в Windows 10 появляется надпись Task Host Windows, важно сразу уточнить, что это и как отключить. Данная функция обеспечивает безопасность отдельных программ, которые во время отключения завершаются некорректным образом. Существует несколько способов, как избавить персональный компьютер от ошибок, которые тормозят необходимые процессы.
Что такое Task Host Windows и для чего он нужен
Task Host для Винды – это интегрированная в операционку программа. Ошибка с данным софтом возникает у пользователей седьмой, восьмой и десятой версий ОС. За приложение несет ответственность внутренний элемент Taskhost.exe.
Главная задача – обеспечить стабильное background — взаимодействие созданных на ПК библиотек исполнения. Внутри таких сборников прописано большое количество различных программ и приложений, действие которых требуется упорядочить дополнительным образом.
Внимание! Полная остановка софта Taskhost.exe или отсутствие файла на ноутбуке или другом ПК влечет нестабильное взаимодействие остальных приложений, возможны периодические или системные сбои.
Ликвидировать Task Host Windows полностью с выбранного устройства не стоит. Полная остановка приложения является причиной ошибок, устранить которые будет непросто. Taskhost.exe – это файл, расположенный в специальном разделе System32 (отдельная папка), примерный объем– 50 Кб. Иногда незнакомый документ воспринимают как троян, но он безопасен для персонального ноутбука, встроен в конфигурацию ОС разработчиком.
Что делать, если Task Host Windows не дает выключить ПК
Иногда при отключении компьютера на мониторе высвечивается уведомление о невозможности выключить персональное устройство из-за активности дополнительного документа Taskhost.exe. При этом появляется клавиша «Все равно завершить» или «перезагрузить», в зависимости от изначально выбранного процесса. Нажатие клавиши позволяет устранить ошибку в текущем моменте.
К такого рода приложениям операционная система Windows (версии от 7 до 10) относит различные службы. Например, команды по резервному копированию данных, мониторинг напечатанных софтов, элементы разряда Update и другие. Иногда «десятка» при выявлении сбоев связывается с программой Device Install Reboot. Чтобы софт перестал тормозить выключение, необходимо следовать определенной инструкции:
- открыть раздел «Параметры» через кнопку старта;
- найти вкладку «Учетные записи», затем «Параметры входа»;
- в строке «Использовать мои данные для входа для автоматического завершения настройки устройства после перезапуска или обновления» передвинуть ползунок в положение «Отключить».
- Если система указывает на MsCtfMonitor, необходимо перейти в «Планировщик заданий».
Открыть Microsoft, затем Windows – TextServicesFramework. Переместить ползунок в положение «Выключено» около процесса MsCtfMonitor.
Можно ли его отключить?
Некоторые пользователи признают процедуру Taskhost.exe несколько назойливой, поэтому хотят полностью отключить или удалить внутренний софт. Осуществить операцию можно. Стандартный способ – в принудительной форме через раздел Диспетчер задач не сработает. Процесс завершится, но через непродолжительный промежуток времени вновь запустится.
Уменьшение времени ожидания закрытия приложений
С помощью несложных твиков можно снизить количество времени, которое требуется на остановку работы внутренних служб персонального компьютера после начала процедуры завершения или перезагрузки операционной системы Windows 10. Этапы действий:
- в строке службы «Выполнить» набрать команду regedit, чтобы открыть редактор реестра;
- в левой части открывшегося окна пройти по пути: HKEY_LOCAL_MACHINE – SYSTEM – CurrentControlSet – Control;
- в правой части откроется список настраиваемых функций, в строке Wait To Kill Service Timeout установить значение 2000 или 1000 мс.
После этого следует нажать кнопку «Сохранить», затем важно перезапустить устройство, чтобы закрепить новые настройки операционной системы.
Второстепенные службы
Второстепенными являются сторонние приложения, которые устанавливаются дополнительно вместе с основными службами Windows. Такие утилиты можно деактивировать самостоятельно. Это поможет уменьшить количество минут, которые необходимы для полного завершения процессов операционной системы. Инструкция:
- в командной строке «Выполнить» ввести значение msconfig;
- открыть раздел «Конфигурация системы»;
- перейти на вкладку «Службы»;
- напротив строки «Не отображать службы Windows» поставить галочку;
- нажать кнопку «Отключить все».
После этого сторонние процессы будут отключены, время на отключение операционной системы сокращено.
Связанное задание
Иногда указанные способы не срабатывают – на мониторе персонального устройства продолжает появляться надпись о невозможности завершения текущих программ из-за действия внутренней утилиты Taskhost.exe. Дополнительный вариант устранения проблемы:
- открыть раздел «Планировщик заданий» (можно быстро найти через поисковую систему);
- найти меню «Вид» (располагается на верхней панели открывшегося окна);
- напротив строки «Отобразить скрытые задачи» поставить галочку;
- после пройти по следующим пунктам – Microsoft, Windows, RAC;
- отключить команду RAC TASK.
- Затем следует перейти на строку «Анализ цепочки ожидания».
Откроется окно, где будет отображен процесс и номер ID устройства. Выбрать вкладку «Перейти к службам», найти нужную службу и выключить управление сервисом. Важно отключать только те программы, выключение которых действительно не навредит рабочим приложениям ПК.
Вирус Taskhost.exe
Task Host Windows – это встроенная программа, разработанная и интегрированная компанией Microsoft. Некоторые вредоносные приложения «притворяются» различными «правильными» софтами по названию.
Признаки, по которым можно определить, что утилита является вирусом:
- скорость загрузки – торможение процесса на несколько минут означает наличие неполадок;
- системный файл располагается только в папке System32;
- «правильный» софт весит не больше 50 Кб, вирусные – около 150;
- в диспетчере задач можно отследить несанкционированный скачок нагрузки на процессор ПК.
Вирус необходимо удалить. Потребуется завершить процесс Taskhost.exe через Диспетчер задач. Открыть папку, в которой был обнаружен недопустимый файл, и удалить. Кроме этого, можно использовать стандартные антивирусные программы.
Процесс Taskhost.exe обеспечивает взаимосвязь внутренних продуктов ОС Windows. Работает в версиях от «семерки» до «десятки». Полное отключение софта нежелательно, чтобы не перезагрузить процессор.
Папка tasks что это
Опять в окне Диспетчера задач какие-то лишние процессы… Что и говорить, приятного мало. Кто их знает, что они делают, а вдруг что-то вредное?
Вредоносные программы любят системные папки Windows. Наша задача — обнаружить и выжить их оттуда.
Опять в окне Task Manager (Диспетчер задач) какие-то лишние процессы… Что и говорить, приятного мало. Кто их знает, что они делают, а вдруг что-то вредное? И, в любом случае, на них тратятся системные ресурсы.
К сожалению, мало кто из нас знает толком назначение всех утилит из папки Windows. Все же давайте разберемся, как опознать большинство системных файлов Windows (и обнаружить лишние файлы, если они есть), чтобы отличить своих от чужих. Заодно посмотрим, как проследить, какие приложения работают на компьютере, не только обычные, но и новая разновидность вредоносных программ — скрытые rootkit-файлы.
Как говорится, от вора нет запора: нам, конечно же, никогда не узнать, где и когда проявится очередная дыра в системе защиты, через которую злоумышленники будут пытаться нанести вред системе или похитить данные. Даже при установленном брандмауэре, последней версии антивируса и антишпионского сканера, и при жесткой дисциплине в отношении загрузки файлов из интернета, в компьютере все равно время от времени обнаруживается какая-нибудь свеженькая инфекция.
Антивирусы и другие средства обеспечения безопасности эффективны только при наличии хорошо продуманной стратегии регулярного и частого обновления; они не в состоянии блокировать вредоносную программу, на которую не были заранее запрограммированы. Соответственно, злоумышленники пишут и рассылают свои программы с таким расчетом, чтобы они попадали на компьютеры жертв в период их уязвимости — например, когда в интернете уже появился код очередного червя, но на сайтах антивирусов еще не размещены новые базы для блокирования или устранения этой инфекции. Такой период может длиться несколько минут или дней, и за это время вирус находит свои жертвы.
К счастью, после того как вредоносный код распознан, справиться с ним довольно легко, хотя процедура эта и скучновата.
Сохранность данных прежде всего
Главное в этом деле — помнить, что мы имеем дело с операционной системой. Поэтому лезть в системные файлы, а особенно удалять их — верный путь к проблемам. Подобные действия вполне могут привести к тому, что Windows перестанет запускаться.
Затем, на каждом шаге необходимо оставлять за собой путь к отступлению. Для этого в Windows XP и Me удобно использовать функцию System Restore, которая гарантирует возврат в состояние, предшествующее сбою. Для этого нужно щелкнуть на кнопке Start — Programs (в XP — All Programs) — Accessories — System Tools — System Restore — Create a restore point (Пуск — Программы (в XP — Все программы) — Стандартные — Служебные — Создать точку возврата) и выполнить инструкции мастера. Такие точки возврата следует создавать перед каждым изменением.
Некоторые системные файлы являются скрытыми и при обычной настройке интерфейса Windows не отображаются на экране. Для того чтобы их увидеть, откройте Explorer (Проводник) или любое окно папки и выберите команду Tools — Folder Options — View (Сервис — Свойства папки — Вид). В открывшемся окне включите режим Show hidden files and folders (Показать скрытые файлы и папки) и проследите, чтобы режимы Hide extensions for known file types (Не показывать расширения известных типов файлов) и Hide protected operating system files (Recommended) (Скрыть защищенные файлы операционной системы (Рекомендуется)) были отключены. В ответ на все последующие предупреждения Windows щелкайте на кнопке Yes (Да). (Мы еще поговорим об этих предупреждениях.) Затем запустите последнюю версию антивирусной программы и антишпионского сканера. Если возникнет необходимость удалить файл, делайте это только при полной уверенности, что в нем содержится злонамеренный код. Например, не удаляйте из системных папок старые библиотеки DLL.
Что работает в системе?
Теперь пора выяснить, какие программы и службы действуют на компьютере прямо сейчас. В окне Task Manager (Диспетчер задач) отражаются не все работающие приложения. Поэтому для решения этой задачи лучше воспользоваться бесплатной утилитой Sysinternals Process Explorer (www.sysinternals.com). Распаковав файл procexpnt.zip и запустив procexp.exe, вы поймете, что по сравнению с Диспетчером задач Windows Process Explorer — все равно что Шерлок Холмс по сравнению с инспектором Лестрейдом: возможно, не так блестяще выглядит, но действует гораздо надежнее и эффективнее. И, кстати, в отличие от частных детективов, работает бесплатно.
По умолчанию некоторые из самых полезных данных, извлекаемых Process Explorer из системы, скрыты. Для того чтобы их просмотреть, щелкните правой кнопкой мыши на имени столбца и воспользуйтесь командой Select Columns (Выбрать столбцы). В открывшемся окне будут выбраны только столбцы Process Name (Процесс) и Description (Описание). Выберите также Company Name (Компания) и Command Line (Командная строка). Перейдите на вкладку DLL, выберите столбец Path (Путь) и щелкните на кнопке OK. Затем выберите команду View (Вид) и включите режим Show Lower Pane (Отображать нижнюю панель). В завершение выберите команду View — Lower Pane View — DLLs (Вид — Нижняя панель — DLL).
Настроив Process Explorer таким образом, можно выделить любой активный процесс и увидеть на нижней панели список используемых им DLL-библиотек. В столбце Command Line (Командная строка) сообщается, в какой папке находятся работающие программы, а в случае сервисов (которые иногда работают под управлением svchost.exe) — какой экземпляр svchost.exe запускает этот сервис.
В первую очередь под подозрение попадают процессы, запускаемые из папки Temp. Шпионские программы любят устанавливаться в подобных укромных уголках. То же самое относится к процессам, которые ссылаются на DLL-библиотеки, расположенные в папке Temp. «Добропорядочные» программы запускаются из папки Temp в единственном случае: при инсталляции приложения с помощью InstallShield или другой утилиты установки. Кроме Explorer.exe, в Windows XP, скорее всего, обнаружатся и другие активные процессы, в том числе smss.exe, winlogon.exe, services.exe, alg.exe и lsass.exe. Все они необходимы для работы Windows. Не трогайте их.
Несколько более пристального внимания заслуживает другой «законный» Windows — rundll32.exe, если он окажется среди действующих процессов. За этой программой иногда скрываются вредоносные программы, распространяемые в виде DLL-файлов, — они используют ее в качестве плацдарма для загрузки. В окне Task Manager (Диспетчер задач) значится только rundll32, но в Process Explorer, в столбце Command Line (Командная строка), отражаются все DLL-библиотеки, ассоциированные с rundll32. Все же, прежде чем удалить этот процесс, убедитесь, что это действительно необходимо: ведь rundll32 «законно» используется драйверами некоторых устройств. В принятии этого решения вам поможет путь к файлу DLL.
Поиск незваных гостей
Кроме перечисленных системных файлов, вы, скорее всего, обнаружите среди активных процессов еще несколько программ Windows — приложений и сервисов, работающих в фоновом режиме, а также драйверов различных устройств. Обычно эти программы запускаются одновременно с Windows. Просмотрите содержимое столбцов Description (Описание), Company Name (Компания) и Command Line (Командная строка) для каждого из них. По этим данным вы, скорее всего, поймете, какие процессы относятся к какой из программ, установленных на компьютере.
Если поля Description (Описание) или Company Name (Компания) пустуют либо содержат незнакомые названия, вероятно, стоит копнуть поглубже. Щелкните правой кнопкой мыши на имени процесса в списке Process Explorer и выберите команду Properties (Свойства). Если содержимое вкладки Image (Образ) не прояснит ситуации, перейдите на вкладку Services (Службы). На этой вкладке перечисляются некоторые «легальные» сервисы, которые в главном окне Process Explorer входят в группу services.exe (и не имеют описаний в поле Description).
Предположим, например, что мы обнаружили в Process Explorer два процесса со свободными полями Description (Описание) и Company Name (Компания): slee81.exe и WLTRYSVC.EXE. При ближайшем рассмотрении на вкладке Services (Службы) выясняется, что slee81.exe — это файл Steganos Live Encryption Engine. Пользователь, сам устанавливавший программы Steganos на свой компьютер, не удивится, что они работают в фоновом режиме. Это не нарушение системы защиты, но повод задуматься: если вы не используете эту программу, возможно, стоит ее отключить и освободить ресурсы процессора?
Распознать второй файл, WLTRYSVC.EXE, еще проще — по содержимому поля Services (Службы). Поскольку имя процесса (WLTRYSVC service) мало информативно, находим файл WLTRYSVC, расположенный уровнем ниже, и обнаруживаем, что процесс WLTRYSVC запускается другим приложением — BCMWLTRY.EXE. Этот файл идентифицируется как Broadcom Wireless Network Tray Applet — еще одно приложение, установленное на компьютере.
Таким образом «прочесываем» все активные службы и фоновые приложения. Сложнее всего решить вопрос с теми из них, которые не идентифицируются и на вид не выполняют какой-либо полезной функции. Имена таких «темных лошадок» стоит поискать в интернете — возможно, их деятельность вам не понравится.
Онлайн-досье
Где искать информацию о незваных пришельцах из Сети? Подозрительные DLL в первую очередь стоит проверить в базе данных Microsoft DLL Help Database, где есть возможность поиска DLL по имени. При подозрении, что файл имеет отношение к шпионским программам, можно посетить сайт Computer Associates Spyware Information Center (http://www3.ca.com/securityadvisor/pest/). Еще один хороший ресурс — Pest Encyclopedia (http://research.pestpatrol.com/), где есть информация более чем о 27000 формах вредоносных программ.
Если по поводу программы все еще остаются подозрения, ее можно поверить по списку Task List Programs на сайте AnswersThatWork.com, где есть список обычных программ, шпионских утилит и вирусов. Можно также воспользоваться постоянно действующими локальными средствами, такими как WinPatrol (www.winpatrol.com) и WinTasks 5 Professional (www.liutilities.com/products/wintaskspro/). Обе эти программы подключаются к размещенной в интернете базе данных, где есть информация о тысячах DLL-библиотек и приложений. Кроме того, WinTasks ведет еще «черный список» нежелательных процессов, не допуская их повторного запуска.
Те, для кого поиск вредоносных программ — постоянное занятие, могут воспользоваться программой Security Task Manager (www.neuber.com/taskmanager), которая проверяет все исполняемые файлы, драйверы и DLL независимо от того, активны они или нет.
И последнее. Поиск информации о файле в интернете не должен быть поверхностным. Чем больше сведений вы получите, тем выше вероятность того, что вы не удалите по ошибке полезную программу или DLL-библиотеку.
Внимание: rootkit
Сравнительно недавно появилась новая порода вредоносных программ — rootkit-файлы, работающие на уровне ядра операционной системы. Эти средства позволяют хакерам скрывать следы своих файлов (и сами файлы) на инфицированном компьютере. К счастью, существуют программы, позволяющие обнаружить и удалить эту инфекцию.
Хакеры используют rootkit-программы для управления и атак, а также для сбора информации с систем, на которые удалось установить rootkit — обычно вместе с вирусом или путем взлома.
Обычные rootkit-программы, как правило, после инсталляции работают незаметно, в фоновом режиме, но легко обнаруживается путем просмотра активных процессов, обмена данными с внешней средой и проверки устанавливаемых программ.
Однако rootkit-программы, действующие на уровне ядра операционной системы, изменяют само ядро или компоненты ОС. Кроме того, их гораздо труднее обнаружить.
В частности, некоторые rootkit вмешиваются в системные запросы, передаваемые ядру операционной системы, и отменяют те из них, что касаются rootkit-программ. Обычно это приводит к тому, что сведения о программе или аппаратной конфигурации становятся невидимыми для администратора или утилит поиска вредоносного ПО.
Впервые rootkit-программы появились и получили распространение в Linux и UNIX. Как следует из их названия, они позволяют хакеру получить доступ на уровне root — высший уровень административных привилегий. Самый опасный вид rootkit — средства перехвата нажатий клавиш, позволяющие узнавать регистрационные данные и пароли пользователей.
Средства борьбы с rootkit
Большинство программных детекторов, в том числе антивирусы, антишпионы и IDS (Intrusion Detection Sensors — датчики вторжений) неспособно обнаружить rootkit-программы ядра.
Стратегий распознавания rootkit ядра на инфицированном компьютере мало, так как каждый rootkit ведет себя по-своему и по-своему заметает следы.
Иногда удается обнаружить rootkit ядра, проверяя инфицированную систему с другого компьютера по сети. Еще один метод — перезагрузить компьютер с Windows PE, сокращенной версией Windows XP, запускаемой с компакт-диска, и сравнить профили чистой и инфицированной операционных систем.
В Windows с rootkit-файлами хорошо справляется бесплатная утилита RootkitRevealer (www.sysinternals.com), которая отыскивает файлы и ключи системного реестра, которые могут иметь отношение к rootkit. Однако программа RootkitRevealer не защищена «от дурака»: далеко не все найденные ею объекты являются вредоносными. Для того чтобы эффективно использовать RootkitRevealer, необходимо правильно трактовать предоставляемую ею информацию.
RootkitRevealer не удаляет и не блокирует обнаруженные rootkit, и даже не может определенно сказать, является ли обнаруженный файл частью rootkit. Но если программа обнаружила нечто, чего на этом месте быть не должно, и антивирус не в состоянии это удалить — высока вероятность, что вы нашли то, что искали.
RootkitRevealer должна работать в полном одиночестве: пользователю рекомендуется отключить все остальные программы, в том числе фоновые и те, что включаются автоматически, такие как хранитель экрана, отложить мышку, отойти от компьютера и позволить RootkitRevealer сделать свое дело.
Если параллельно с RootkitRevealer на компьютере будет работать что-то еще, системного сбоя не произойдет, но поиск будет нарушен, и результаты могут быть неточными.
Результатом работы RootkitRevealer является список файлов, в число которых попадают метаданные NTFS для каждого раздела диска. Эти файлы создаются при нормальной работе Windows, и не всегда являются признаком наличия rootkit. Некоторые расхождения вполне допустимы. Например, первые 10-20 результатов могут иметь вид обычных ключей системного реестра, но напротив них должно стоять Access denied. Это обычные результаты для нормальной системы, независимо от наличия в ней rootkit.
Но файлы с пометкой Hidden from Windows API, — это повод для беспокойства. Такие файлы могут находиться во временных папках, папке Windows или еще где-нибудь на диске. Если вам встретятся такие файлы, попробуйте перейти к ним с помощью Windows Explorer (Проводника) и проверить: видимы ли они там? Впрочем, и это нельзя считать прямой уликой. Например, технологии скрытия файлов используют такие полезные программы, как антивирус Касперского.
Гораздо подозрительнее программы с длинными именами файлов, состоящими из произвольного набора букв и цифр. При обнаружении таких файлов рекомендуется обновить антивирус и выполнить как можно более тщательную проверку компьютера.
Менее опытные пользователи могут прибегнуть к помощи антивирусного сканера F-Secure BlackLight (www.f-secure.com/blacklight), который обнаруживает и обезвреживает rootkit-файлы. Несмотря на спартанский дизайн, это довольно серьезная программа.
Если же устранить rootkit ядра не удается, остается последнее средство — форматирование инфицированного диска и переустановка операционной системы.
В заключение отметим, что, хотя впервые rootkit появились в Linux и UNIX, сегодня их самая любимая среда — Windows. Такой популярности она обязана не только широкому распространению, но и наличию в ней мощных API (Application Programming Interfaces — программных интерфейсов приложения), благодаря которым легко замаскировать истинное поведение системы. Популярный Web-браузер Internet Explorer только упрощает задачу проникновения в систему хакеров, вирусов и электронных червей, которые часто являются носителями rootkit-кода.
Изменение или удаление назначенных заданий
Чтобы изменить свойства задания, откройте окно Scheduled Tasks и затем откройте это задание. Перейдите в нужную вкладку диалогового окна Properties и внесите необходимые изменения.
Чтобы удалить назначенное задание, выделите его и удалите, используя один из следующих способов.
- Нажмите клавишу Delete.
- Щелкните на значке Delete в панели инструментов .
- Щелкните правой кнопкой на этом задании и выберите в контекстном меню пункт Delete.
- Выберите пункт Delete в меню File.
Удаленные задания перемещаются в корзину ( Recycle Bin ). Если вы не хотите запускать определенное задание, но предполагаете использовать его в будущем, то вместо удаления отключите его. Для этого сбросьте флажок Enable во вкладке Task диалогового окна Properties этого задания.
Запуск и остановка назначенных заданий
Вы можете запускать любое задание в любое время, если не хотите ждать следующего запланированного запуска. В окне Scheduled Tasks выделите это задание и выберите FileRun или щелкните правой кнопкой на этом задании и выберите в контекстном меню пункт Run.
Если задание выполняется, и вы хотите остановить его, откройте окно Scheduled Tasks , щелкните правой кнопкой на этом задании и выберите в контекстном меню пункт End Task (Прекратить задание). Возможно, это произойдет не мгновенно, а с небольшой задержкой.
Просмотр состояния назначенных заданий
Вы можете получать информацию о состоянии задания, изменив тип отображения на Details в меню View . В колонках этого представления содержится информация о каждом задании.
Колонка Status (Состояние) может содержать следующие значения.
Значение | Описание |
---|---|
Нет | Задание не выполняется |
Running | Задание выполняется на данный момент |
Missed | Система «упустила» возможность запуска задания (обычно это означает, что компьютер не работал в запланированное время) |
Could not start | Последняя попытка запуска задания была неудачной |
Просматривайте файл журнала, чтобы увидеть подробную информацию о работе заданий. Для доступа к файлу журнала нужно выбрать Advanced View Log (ДополнительноПросмотр журнала) в меню папки Scheduled Tasks или открыть этот журнал в Блокноте (Notepad). Этот журнал находится в файле %SystemRoot%SchedLgU.Txt .
Глобальные опции для назначенных заданий
Во вкладке Advanced окна Scheduled Tasks имеются опции управления работой назначенных заданий.
- Stop Using Task Scheduler (Прекратить использование планировщика заданий). Выбор этой команды отключает запуск любых назначенных заданий, пока вы не вернетесь в меню Advanced и не выберите команду Start Using Task Scheduler (Начать использование планировщика заданий). Кроме того, Task Scheduler не запустится автоматически при следующей загрузке Windows Server 2003, если вы не перезапустили Task Scheduler до перезагрузки.
- Pause Task Scheduler (Приостановить планировщик заданий). Используйте эту команду, чтобы временно прекратить работу выполняемых заданий и запуск заданий. Эту команду полезно использовать во время установки программного обеспечения. Чтобы возобновить запуск назначенных заданий, выберите в меню Advanced пункт Continue Task Scheduler (Продолжить работу планировщика заданий). Задания, запланированные на тот период, когда вы приостановили Task Scheduler , не будут запущены, пока не наступит запланированное время их следующего запуска.
- Notify Me of Missed Tasks (Извещать меня о пропущенных заданиях). Эта команда не соответствует своему названию. Она уведомляет вас не о пропущенных заданиях, а об отказах самой службы Schedule Task . Вы не получаете уведомлений о заданиях, которые не удалось запустить из-за повреждения или отсутствия исполняемых файлов .
- AT Service Account (Служебная учетная запись AT). Используйте эту команду, чтобы заменить пользовательскую учетную запись , с которой запускаются задания, запланированные с помощью команды AT (по умолчанию используется учетная запись System). При выборе этой команды появляется диалоговое окно AT Service Account Configuration ( Конфигурирование служебной учетной записи AT), где вы можете выбрать пользовательскую учетную запись (а также ввести и подтвердить пароль для этой учетной записи). Это явно неподходящая идея; выполнение задач должно осуществляться с помощью учетной записи System.
- View Log (Просмотр журнала). Выберите эту команду, чтобы открыть файл журнала в Notepad, где вы можете видеть информацию о выполнении (или неудачном выполнении) ваших запланированных заданий.
Работа с заданиями на удаленных компьютерах
Вы можете просматривать, добавлять или изменять назначенные задания на удаленном компьютере в зависимости от ваших полномочий работы на этом компьютере. Даже не имея права доступа к заданиям на другом компьютере, вы можете отправлять задания пользователям на других компьютерах в форме . job -файлов.
Папка Scheduled Tasks и папка Tasks
При работе с заданиями на удаленных компьютерах важно знать, что папка Scheduled Tasks , доступ к которой вы получаете в панели управления, и папка %SystemRoot% Tasks – это не одно и то же при доступе к удаленному компьютеру.
Если вы открываете эти папки на локальном компьютере, то их содержимое идентично. Большинство пользователей предполагает, что они идентичны и при доступе к удаленному компьютеру. Но это не так.
Если вы открываете %SystemRoot% Tasks на удаленном компьютере, появляется что-то очень знакомое, поскольку вы видите на самом деле содержимое вашей собственной папки %SystemRoot% Tasks (это зеркальное отображение – то же самое происходит с Recycle Bin ). Действуют следующие правила.
- Если вы удаляете задание из удаленной (как вам кажется) папки Tasks , то на самом деле вы удаляете его из своей собственной папки.
- Система не позволяет вам перетаскивать задание между папками Tasks , поскольку на самом деле вы пытаетесь перетащить его в ту же папку.
Просмотр заданий на удаленном компьютере
Для просмотра папки Scheduled Tasks на удаленном компьютере вы должны найти папку Scheduled Tasks . Откройте My Network Places (Сетевое окружение) и раскройте запись для удаленного компьютера, чтобы найти папку Scheduled Tasks . Ее легко найти, поскольку значок этой папки содержит изображение часов. Выберите эту папку для просмотра ее содержимого (используйте представление Details , чтобы получить максимум информации). Действуют следующие правила.
- Диск, содержащий папку Scheduled Tasks , должен быть предоставлен для разделяемого доступа, чтобы вы имели доступ к этой папке.
- Вы не можете задавать сопоставление (букву накопителя) для папки Scheduled Tasks .
Если вы имеете соответствующий уровень полномочий, то можете удалять и изменять задания на удаленном компьютере.
Передача заданий на удаленные компьютеры
Вы можете перетаскивать или копировать задание между своим и удаленным компьютером при соблюдении следующих условий.
- На целевом компьютере должен присутствовать файл, от которого зависит задание (обычно это исполняемый файл ).
- Свойства задания, возможно, потребуется скорректировать, чтобы изменить путь к этому файлу на целевом компьютере.
- Свойства задания, возможно, потребуется скорректировать, чтобы указать другое пользовательское имя.
Если вы имеете доступ к папке Scheduled Tasks на целевом компьютере, то наиболее подходящий способ – это нажать правую кнопку мыши и, не отпуская ее, перетащить задание между локальной папкой Scheduled Tasks и удаленной папкой Scheduled Tasks . Выберите пункт Copy Here в меню, которое появится, когда вы отпустите правую кнопку мыши (перетаскивание при нажатой левой кнопке вызывает перемещение файла , а не копирование). Альтернативный способ – это копирование и вставка задания между папками Scheduled Tasks с помощью команд контекстных меню, которые появляются при щелчке правой кнопкой.
Если у вас нет доступа к папке Scheduled Tasks удаленного компьютера, выполните копирование задания и его вставку в любом месте на целевом компьютере, и затем пользователь этого компьютера переместит файл задания в свою папку Scheduled Tasks .
Отправка и получение заданий с помощью электронной почты
Вы можете отправить по электронной почте файл задания (имя_задания. job ) любому пользователю, присоединив этот файл к сообщению в виде вложения. Но если ваша программа электронной почты не позволяет вам входить в панель управления, чтобы вы могли открыть папку Scheduled Tasks , то вы не получите доступа к . job -файлу, когда щелкнете на кнопке Attach . В этом случае нужно открыть Control Panel , открыть папку Scheduled Tasks и скопировать задание в любую папку, к которой имеется доступ из вашей программы электронной почты (я использую корень диска C:). Затем присоедините эту копию к сообщению электронной почты.
Получателю нужно просто перетащить или скопировать этот файл в его папку Scheduled Tasks .
Усовершенствованная служба Task Scheduler включает множество улучшений по сравнению с более ранними версиями, но невозможность переименовать запланированную представляет собой досадное ограничение. Однако со сценарием Rename-ScheduledTask.ps1 под рукой вам больше не придется мириться с этим неудобством
Служба Task Scheduler в Windows — очень полезный инструмент автоматизации. Начиная с версий Windows Vista и Windows Server 2008, служба Task Scheduler была переработана. Она имеет новые типы триггеров, действия и папки задач. Кроме того, она имеет встроенный интерфейс объектов, поддерживающий выполнение сценариев для управления запланированными задачами. Компания Microsoft предоставляла этот интерфейс для Task Scheduler и в более ранних версиях Windows, но его надо было загружать отдельно. На экране 1 показано окно обновленной службы Task Scheduler в системе Windows 7.
Экран 1. Task Scheduler в Windows 7 |
В системах Windows Server 2003, Windows XP и Windows 2000 запланированные задачи представляют собой файлы с расширением. job, которые находятся в папке \%SystemRoot%Tasks. В этих версиях операционных систем переименование задач выполняется очень просто: нажмите клавишу F2, когда задача будет выделена в проводнике Windows, или щелкните правой кнопкой мыши по заданию в окне Task Scheduler и выберите пункт Rename. В системах Windows 7, Vista и Server 2008 задания Task Scheduler больше не хранятся в виде. job-файлов в папке Tasks, поэтому переименовать запланированное задание после его создания нельзя.
Я не знаю причины, по которой эта, казалось бы, простая возможность не была реализована, но есть обходной путь: экспортировать задачу в файл XML, импортировать задачу, чтобы создать новое задание с новым именем, а затем удалить старую задачу. Эти действия я счел лишней тратой времени и написал сценарий PowerShell Rename-ScheduledTask.ps1 (листинг 1), позволяющий упростить процесс переименования задачи.
Сценарий работает только в системах Windows 7, Vista и Server 2008 по двум причинам. Во-первых, этот сценарий в более ранних версиях операционной системы не нужен. Во-вторых, интерфейс объектов, поддерживающий выполнение сценариев и используемый данным сценарием, отсутствует в более ранних версиях операционной системы. Вы можете использовать сценарий для переименования задач на локальном компьютере и на удаленных компьютерах. Если вы хотите переименовать задание на локальном компьютере, необходимо запустить сценарий в PowerShell с повышенными правами (то есть щелкнуть правой кнопкой мыши по ярлыку PowerShell и выбрать пункт Run as administrator).
Как использовать сценарий
Синтаксис командной строки сценария выглядит следующим образом:
Обязательными являются только параметры -TaskName и -NewName, которые вы используете, чтобы указать имя исходной задачи и новое имя соответственно. Поскольку параметры -TaskName и -NewName должны быть первым и вторым параметром в командной строке сценария, прописывать названия параметров (-TaskName и -NewName) необязательно.
Переработанная служба Task Scheduler поддерживает использование папок задач. Если указать имя задачи без имени папки задачи, сценарий посчитает, что задача находится в корневой папке задач («»). Вы можете переместить задачу в другую папку, указав имя папки задачи как часть нового имени задачи. Если папка задачи не существует, она будет создана. Например, команда
переименовывает задачу с именем My Task в User TasksUser Task 1. Папка User Tasks будет создана, если она не существует.
Вы можете использовать параметр -ComputerName, чтобы указать компьютер, на котором находится задача, которая будет переименована. Вы не можете перемещать задачи между компьютерами, поэтому переименованная задача будет храниться на том же компьютере, что и старая. Если вы опустите параметр -ComputerName, сценарий посчитает, что задача, которую необходимо переименовать, находится на текущем компьютере.
Параметр -ConnectionCredential задает объект PSCredential для подключения к службе Task Scheduler на компьютере (который будет локальным, если вы пропустили параметр -ComputerName). Обратите внимание, что сценарий Rename-ScheduledTask.ps1 переименовывает задачу путем копирования исходной задачи в новую задачу, а затем удаляя исходную. Это означает, что, если исходная задача имеет сохраненные учетные данные, они не могут быть скопированы, поскольку учетные данные хранятся в защищенном виде. Поэтому, прежде чем использовать параметр -ConnectionCredential, необходимо проверить свойства задачи, чтобы узнать, имеет ли она сохраненные учетные данные. Как показано на экране 2, если выбран режим Run whether user is logged on or not, а параметр Do not store password не отмечен, учетные данные сохраняются в задаче. Следовательно, после создания новой задачи учетные данные также должны быть воссозданы.
Экран 2. Свойства задачи |
Если исходная задача содержит сохраненные учетные данные, сценарий Rename-ScheduledTask.ps1 попросит вас задать учетные данные при создании копии. Если вы не хотите, чтобы сценарий запрашивал у вас учетные данные, можете указать параметр -TaskCredential, который запрашивает объект PSCredential в качестве аргумента (подробнее об этом рассказано во врезке «Неразбериха с учетными записями» для получения дополнительной информации о параметрах -ConnectionCredential и -TaskCredential).
Помимо неспособности скопировать учетные данные, у сценария есть еще один важный побочный эффект: новая копия задачи не будет иметь журнала событий исходной задачи, который отображается во вкладке History страницы настроек. Если журнал событий задачи важен для вас, перед переименованием сохраните историю в файл.
Интерактивная справка сценария содержит полный список образцов команд. Чтобы просмотреть примеры команд, запустите следующий код в строке PowerShell:
Внутри сценария
Сценарий Rename-ScheduledTask.ps1 использует программный идентификатор Schedule.Service, чтобы обратиться к объекту TaskService, который обеспечивает доступ к службе Task Scheduler для управления зарегистрированными задачами. Объект TaskService не существует в версиях Windows, выпущенных до появления Vista и Server 2008. Дополнительную информацию об объекте TaskService и объектах, связанных с ним, можно найти в статье «Task Scheduler Scripting Objects» (msdn.microsoft.com/enus/library/aa383607.aspx).
Затем сценарий использует метод Connect объекта TaskService, чтобы попытаться подключиться к службе Task Scheduler. Если параметр -ConnectionCredential присутствует в командной строке, сценарий использует функцию get-plaintextpwd, как показано в листинге 2, для получения свойства Password объекта PSCredential в виде текстовой строки. Сценарий работает подобным образом в связи с тем, что метод Connect объекта TaskService не поддерживает работу с объектами PSCredential.
После подключения к службе Task Scheduler сценарий проверяет свойство HighestVersion объекта TaskService. Это свойство является 32-разрядным целым числом без знака, которое содержит внутренний номер версии службы Task Scheduler. Старшие 16 разрядов содержат основной номер версии, а младшие 16 разрядов представляют дополнительный номер версии. Версия службы Task Scheduler в системах Windows 7, Vista и Server 2008 имеет внутренний номер 1.2 (65538), поэтому сценарий следит за тем, чтобы значение HighestVersion было, по крайней мере, не ниже данного значения, прежде чем продолжить работу. Если версия службы слишком старая, сценарий выдает ошибку и завершает работу.
Если версия службы Task Scheduler удовлетворяет условию, сценарий использует метод GetFolder объекта TaskService, чтобы получить корневую папку задач. Затем сценарий использует функцию Get-taskname, как показано в листинге 3, чтобы получить список всех имен задач из всех папок задач. Он обращается к списку имен задач, чтобы проверить правильность параметров -TaskName и -NewName.
Далее, сценарий Rename-ScheduledTask.ps1 получает объект TaskDefinition для задачи с именем, указанным в параметре TaskName. Объект TaskDefinition определяет все компоненты задачи. Если задача имеет сохраненные учетные данные, сценарий проверяет, был ли задан параметр -TaskCredential. Если он не был задан, сценарий использует команду Get-Credential для выполнения запроса на ввод учетных данных. Отмена этого запроса генерирует ошибку и завершает работу сценария. Если параметр -TaskCredential был задан, сценарий использует функцию get-plaintextpwd для преобразования свойства Password объекта PSCredential в обычный текст.
И наконец, сценарий использует метод RegisterTaskDefinition для создания копии задачи. Заметим, что, если задача требует наличия учетных данных, но предоставленные учетные данные не являются допустимыми, задача не будет создана и сценарий выдаст ошибку. Если сценарий успешно создаст новую задачу, он использует метод DeleteTask объекта TaskFolder исходной задачи, чтобы удалить ее.
Неразбериха с учетными записями
При переименовании запланированного задания при помощи сценария Rename-Scheduled
Task.ps1 вам могут потребоваться два набора учетных данных.
- Параметр -ConnectionCredential задает учетные данные, используемые для подключения к службе Task Scheduler на локальном или удаленном компьютере, где хранится задача. Если вы не являетесь членом группы администраторов на компьютере, где размещается задача, вы можете подключиться к службе Task Scheduler с помощью учетных данных администратора.
- Параметр -TaskCredential при необходимости задает учетные данные для самой задачи. Учетные данные задания необходимы только тогда, когда опция Run whether user is logged on or not выбрана, а опция Do not store password не отмечена. Если учетные данные требуются, а вы не указали параметр -TaskCredential, сценарий попросит ввести учетные данные.
Оба параметра, -ConnectionCredential и -TaskCredential, запрашивают в качестве аргумента объект PSCredential. Объект PSCredential надежно хранит имя пользователя и пароль для применения в операциях, требующих повышенной безопасности. Однако существует важная оговорка, о которой нужно помнить: сценарий Rename-ScheduledTask.ps1 преобразует пароли безопасности в объектах PSCredential в простой текст, так как модель объектов, поддерживающая выполнение сценариев, не работает с объектами PSCredential.
Вы можете легко создавать объекты PSCredential с помощью команды Get-Credential. Запустите команду
в строке оболочки PowerShell для получения дополнительной информации об объектах PSCredential.
Листинг 1. Сценарий Rename-ScheduledTask.ps1
Листинг 2. Функция get-plaintextpwd
Листинг 3. Функция Get-taskname
Билл Стюарт (bill.stewart@frenchmortuary.com) — системный и сетевой администратор компании French Mortuary, Нью-Мехико
Поделитесь материалом с коллегами и друзьями