Невидимый запуск запланированного задания

Все об администрировании рабочих станций Windows 95/98/NT/2000/XP/7/8. То, чего не найдешь в бескрайних просторах Интернета. Решения тех проблем, которые не решаются типовыми ответами, которые можно получить в техподдержке Майкрософта - а именно: переустановить продукт или купить какой-ть другой лицензионный диск.


Модератор: UncleFather

Аватара пользователя
UncleFather
Site Admin
Сообщения: 1503
Зарегистрирован: 17 авг 2004 16:20, Вт
Контактная информация:

Невидимый запуск запланированного задания

Сообщение UncleFather »

Задача:

Необходимо скрыто запускать запланированное (назначенное) задание в ОС MS Windows. То есть нужно чтобы при запуске никаких окон не появлялось, чтобы не мешать пользователю.

Решение:

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

01.JPG

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

Если же нужно скрыто запускать запланированное задание от имени работающего пользователя, то для этого в MS Windows Vista и старше есть галочка «Скрытая задача»:

02.jpg

Для Windows XP задача решается чуть сложнее:

  1. Создаем VBS скрипт (назовем его, например MyStarter.vbs), который будет запускать указанную нами программу не создавая окна. Для этого прописываем объекту WSHShell при запуске второй параметр «0».

    В скрипте либо сразу указываем строку запуска вместе с параметрами, например: "C:\WINDOWS\system32\WindowsPowerShell\v1.0\powershell.exe -WindowStyle Hidden C:\Soft\Bat\IPCheckFull.ps1"

    Код: Выделить всё

    Set WSHShell = WScript.CreateObject("WScript.Shell")
    WSHShell.Run "C:\WINDOWS\system32\WindowsPowerShell\v1.0\powershell.exe -WindowStyle Hidden C:\Soft\Bat\IPCheckFull.ps1",0

    либо делаем универсальный скрипт, которому при запуске (из планировщика) будем передавать строку запуска вместе с параметрами:

    Код: Выделить всё

    Set WSHShell = WScript.CreateObject("WScript.Shell")
    WSHShell.Run WScript.Arguments(0),0
  2. В назначенных заданиях создаем новое задание, которому в качестве запускаемой программы указываем наш скрипт. При этом, если в самом скрипте мы сразу указали запускаемую программу с параметрами, то строка «Выполнить» в нашем задании будет просто указывать на скрипт:

    Код: Выделить всё

    C:\Soft\Bat\MyStarter.vbs

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

    Код: Выделить всё

    C:\WINDOWS\system32\wscript.exe C:\Soft\Bat\MyStarter.vbs "C:\WINDOWS\system32\WindowsPowerShell\v1.0\powershell.exe -WindowStyle Hidden C:\Soft\Bat\IPCheckFull.ps1"

Оба vbs скрипта можно скачать отсюда:

InvisibleTasks.rar
(952 байт) 483 скачивания

Alexander A. Manaeff©

Понравилась статья? Будем крайне признательны за репосты в соцсетях! Материально поддержать проект можно здесь

Мои странички:
ВКонтакте
Одноклассники
Youtube
Facebook
Instagram

Изображение
Изображение
Изображение
Изображение