![]() |
Задача: централизованная раздача тасков для Планировщик задач по сети
Условие:
сеть около 20 машин, winXP SE, в составе рабочей группы(уточню сразу - перевести в домен не предлагать) На каждом компе есть 2 учётки - пользователь(на кажом компе свой логин и пас) и администратор(на всех одинаковая с одинаковым пассом) Для управления всем хоз-ом используется DameWare Utilities Задача: необходимо на каждой машине установить на выполнение задачу во встроенном в систему планировщике, при минимальной затрате усилий Мои попытки решения: Повозившись, создал батч-файл с необходимым скриптом, который делал следующее - перебирал все машины в сети (цикл for по номерам, из которого call-ом вызывается ещё один батник, куда передаётся номер машины, там запускается schtasks), запускал для каждой консольный вариант планировщика(в хелпе явно сказано, что он может использоваться и для работы с удалённой машиной) Сам скрипт верен, задача на машине создаётся, НО Как ошибку при этом выбивает следующее - "ПРЕДУПРЕЖДЕНИЕ. Запланированная задача "XXX" была создана, однако не может выполняться, так как не удалось задать сведения об учетной записи." Не спешите с выводами, скрипт -абсолютно верен-, информация об учётных записях задана верно, команда выполняется в контексте администратора целевой машины, пароли не пустые Просто по какойто причине при создании её -удалённо- не позволяется редактировать учётные данные, под которыми она запускается Если создать эту же задачу, залогинившись с консоли той машины под администратором, всё создаётся на ура как ручками, так и батником При просмотре созданной задачи на локальной машине видно, что запускается она от имени локального администратора, а пароль не установлен Тоже самое происходит, если попытатся в Сетевом окружении зайти на этот компьютер, а затем в папку Назначенные задания (соединение, разумеется, устанавливается от имени администратора локальной машины) - при попытке просмотреть свойства пишет что невозможно получить инфу о учётных данных(выскакивает сразу окошко с предупреждением), потом окно свойств открывается, но кнопка установки пасворда "погашена" Тоже самое в итоге имеем если решать средствами дэмваря(с него всё и началось) - похоже всё вышеперичисленное обращается к одному и тому же "интерфейсу"(простите, плохо представляю процесс удалённого вызова планировщика) Для тех, кто не осилил столько буков краткое резюме: по какой-то причине не удаётся при создании во встроенном планировщике задания на удалённой машине указать контекст(логин и пасс), в котором оно будет выполняться(система пишет, что запрещён доступ или же что просто не удалось), хотя само задание создаётся Машины в составе рабочей группы, подключаюсь к компу при установке задания как локальный администратор той машины Соответственно задание не выполняется, ибо пишет что учётная запись не опознана |
ап Может альтернативное решение есть?
|
AT \\computername time [/INTERACTIVE] [ /EVERY:date[,...] | /NEXT:date[,...]] "command"
Cоздает задание, которое будет выполнено от имени localsystem подробнее - at /? |
HLT, Спасибо, попробую поставить от localsystem А с чем свзяана невозможность поставить от имени Администратора? По едее, если я устанавливаю соединение как администратор той машины(например net use \\machine\IPC$ /user:local_administrator local_password), у меня по идее должна быть возможность менять большую часть системных настроек, в том числе ключи реестра...
|
Назначенные задания лежат не в виде ключей реестра, а в виде файлов .job в каталоге c:\windows\tasks.
Можно, попробовать настроить задание (с паролями, логинами и т.д.) у себя на машине, а потом тупо скопировать на юзерские компы. Сам так не пробовал - всё делаю через АТ |
HLT, пробовал копировать, при этом задание почемуто не появляется в этой папке(несмотря на то, что операция копирования проходит воде как), но в шедулере видно Опять же, не работает Тоже думал, что в джоб файле всё лежит, теперь сомневаюсь Например простая логика - если и учётные данные там же, это брешь в безопасности величиной с дом, ведь задание то может месяцами стоять на выполнении Т.е. по всей логике, учётные данные должны быть как-то защищены, подозреваю, что проблема где-то тут, может в недоступном из сети ключе реестра, или как-то хитро пошифрованы ключом, привязанным к конкретному компу Хотелось бы понять принцип
|
Докопался до первоисточника:http://technet.microsoft.com/en-us/l.../bb742545.aspx
Цитата:
Вот еще вдогонку статейка: Copy Scheduled Tasks to Remote Machines Вот еще такая софтинка есть, но с ней не разбирался. Task Scheduler Pro Если есть желание - можешь поковыраться. Демо дают бесплатно, если понравится - думаю, лекарство от жадности найти можно будет... |
HLT, использование системной записи не помогло, оно просто не позволяет устанавливать учётные данные через сеть, копирование таска не работает, в той статье в комментах это отписано, да и драг эенд дроп на все машины в сети тоже не самое приятное занятие, хотелось бы скрипт, который бы всё сделал сам Проблема даже не в том, что учётные данные не копируются вместе с заданием, а с тем, что их не выходит установить после копирования/создания задания, почему - хз...
|
А почему бы не сделать на каждом компьютере запуск одного некого задания, которое запускает некий батник из сетевого ресурса, а в этом батнике затем прописывать те задачи , которые необходимо выполнить. проблема в том чтобы этот сетевой ресурс в локальной сети всегда включался первым..
|
babki, вариант конечно, но в итоге в первый раз всё таки придётся логиниться на всех машинах и прописывать пасс и пароль везде ручками, а остальные параметры заданий менять уже скриптом, если время передвинуть например Потом уже менять только батник... Есть сомнения только смогут ли все машины одновремено получить к нему доступ, по идее выбить должно что файл занят процессом а выставялть каждой машине своё время... не знаю, можно ли средствами батч процессинга это сделать. Всё же почему не даёт менять учётные данные, может ключ в реестре какой запрещающий?
|
оф топ.) слушай а что за задание такое надо запускать на всех компах? просто интересно.
и ксати сработает или не но предложу. сначало ходим по ПК и создаём задание всё указываем как надо. проверяем чтоб работало. а потом ты создаёш другое задание на админском машине с таким же именем и просто копируеш его на ПК в папку windows\task с именем там уже существующим. т.е. перезаписываеш файл который там находиться. вот интересно винда заметит подмену или нет.) |
Цитата:
Один раз пройти по всем машинкам, и сделать задание - ежедневный запуск некоего батника с сетевой шары. Если ничего делать не надо - батник лежит пустой. Если надо что-то сделать - прописали в батнике всё что надо, и пусть работает. (Разумеется, права на запись в батник должны быть только у админа) |
wertyg, да таких заданий можно сколько угодно придумать :) В данном случае понадобилось раскинуть на все машины чат и в реестре добавить нужные ключи Т.к. машины не в домене, удалённую установку приложений из msi пакетов не сделать, насколько я знаю А задач таких может быть много, поэтому и было желание сделать предельно простой скрипт, в который всё включается, потом запускается батник, который копирует уже батники задания на конечные машины и создаёт на каждой из них само задание Минус того, что предложил HLT - что таки 1 раз придётся пройтись/подключиться ремот контролом и прописать везде учётные данные А если вдруг по неким причинам будет решено их изменить - опять на все логиниться и менять, ибо по сети не даёт, по той ссылке, что давал HLT(кстате спасибо, что трудился, искал :) ) предлагают копировать его, задав учётные данные, но как он сам говорил, учётные данные не копируются с заданием в винХП, и там же в каментах пишут, что пробовали, и не вышло... Вобщем похоже никто не знает, на ixbt тоже молчат
|
Время: 09:03. |
Время: 09:03.
© OSzone.net 2001-