Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Microsoft Windows NT/2000/2003 (http://forum.oszone.net/forumdisplay.php?f=5)
-   -   Задача: централизованная раздача тасков для Планировщик задач по сети (http://forum.oszone.net/showthread.php?t=98209)

Mertvii 15-01-2008 20:13 717719

Задача: централизованная раздача тасков для Планировщик задач по сети
 
Условие:
сеть около 20 машин, winXP SE, в составе рабочей группы(уточню сразу - перевести в домен не предлагать) На каждом компе есть 2 учётки - пользователь(на кажом компе свой логин и пас) и администратор(на всех одинаковая с одинаковым пассом) Для управления всем хоз-ом используется DameWare Utilities
Задача:
необходимо на каждой машине установить на выполнение задачу во встроенном в систему планировщике, при минимальной затрате усилий
Мои попытки решения:
Повозившись, создал батч-файл с необходимым скриптом, который делал следующее - перебирал все машины в сети (цикл for по номерам, из которого call-ом вызывается ещё один батник, куда передаётся номер машины, там запускается schtasks), запускал для каждой консольный вариант планировщика(в хелпе явно сказано, что он может использоваться и для работы с удалённой машиной) Сам скрипт верен, задача на машине создаётся, НО Как ошибку при этом выбивает следующее - "ПРЕДУПРЕЖДЕНИЕ. Запланированная задача "XXX" была создана, однако не может выполняться, так как не удалось задать сведения об учетной записи." Не спешите с выводами, скрипт -абсолютно верен-, информация об учётных записях задана верно, команда выполняется в контексте администратора целевой машины, пароли не пустые Просто по какойто причине при создании её -удалённо- не позволяется редактировать учётные данные, под которыми она запускается Если создать эту же задачу, залогинившись с консоли той машины под администратором, всё создаётся на ура как ручками, так и батником При просмотре созданной задачи на локальной машине видно, что запускается она от имени локального администратора, а пароль не установлен Тоже самое происходит, если попытатся в Сетевом окружении зайти на этот компьютер, а затем в папку Назначенные задания (соединение, разумеется, устанавливается от имени администратора локальной машины) - при попытке просмотреть свойства пишет что невозможно получить инфу о учётных данных(выскакивает сразу окошко с предупреждением), потом окно свойств открывается, но кнопка установки пасворда "погашена" Тоже самое в итоге имеем если решать средствами дэмваря(с него всё и началось) - похоже всё вышеперичисленное обращается к одному и тому же "интерфейсу"(простите, плохо представляю процесс удалённого вызова планировщика)

Для тех, кто не осилил столько буков краткое резюме: по какой-то причине не удаётся при создании во встроенном планировщике задания на удалённой машине указать контекст(логин и пасс), в котором оно будет выполняться(система пишет, что запрещён доступ или же что просто не удалось), хотя само задание создаётся Машины в составе рабочей группы, подключаюсь к компу при установке задания как локальный администратор той машины Соответственно задание не выполняется, ибо пишет что учётная запись не опознана

Mertvii 16-01-2008 08:26 718050

ап Может альтернативное решение есть?

HLT 16-01-2008 09:04 718067

AT \\computername time [/INTERACTIVE] [ /EVERY:date[,...] | /NEXT:date[,...]] "command"
Cоздает задание, которое будет выполнено от имени localsystem

подробнее - at /?

Mertvii 16-01-2008 10:39 718153

HLT, Спасибо, попробую поставить от localsystem А с чем свзяана невозможность поставить от имени Администратора? По едее, если я устанавливаю соединение как администратор той машины(например net use \\machine\IPC$ /user:local_administrator local_password), у меня по идее должна быть возможность менять большую часть системных настроек, в том числе ключи реестра...

HLT 16-01-2008 10:59 718170

Назначенные задания лежат не в виде ключей реестра, а в виде файлов .job в каталоге c:\windows\tasks.
Можно, попробовать настроить задание (с паролями, логинами и т.д.) у себя на машине, а потом тупо скопировать на юзерские компы.
Сам так не пробовал - всё делаю через АТ

Mertvii 16-01-2008 11:55 718232

HLT, пробовал копировать, при этом задание почемуто не появляется в этой папке(несмотря на то, что операция копирования проходит воде как), но в шедулере видно Опять же, не работает Тоже думал, что в джоб файле всё лежит, теперь сомневаюсь Например простая логика - если и учётные данные там же, это брешь в безопасности величиной с дом, ведь задание то может месяцами стоять на выполнении Т.е. по всей логике, учётные данные должны быть как-то защищены, подозреваю, что проблема где-то тут, может в недоступном из сети ключе реестра, или как-то хитро пошифрованы ключом, привязанным к конкретному компу Хотелось бы понять принцип

HLT 16-01-2008 13:01 718283

Докопался до первоисточника:http://technet.microsoft.com/en-us/l.../bb742545.aspx
Цитата:

Note: When you move a .job file on a Windows NT or Windows 2000-based system, a user's credentials will not transfer with the file. They must be reentered after moving the file. This is because the credentials are not stored with the task, but by the security system of the operating system.

Вот еще вдогонку статейка: Copy Scheduled Tasks to Remote Machines


Вот еще такая софтинка есть, но с ней не разбирался.
Task Scheduler Pro
Если есть желание - можешь поковыраться. Демо дают бесплатно, если понравится - думаю, лекарство от жадности найти можно будет...

Mertvii 16-01-2008 16:09 718415

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

babki 16-01-2008 16:20 718429

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

Mertvii 16-01-2008 17:49 718503

babki, вариант конечно, но в итоге в первый раз всё таки придётся логиниться на всех машинах и прописывать пасс и пароль везде ручками, а остальные параметры заданий менять уже скриптом, если время передвинуть например Потом уже менять только батник... Есть сомнения только смогут ли все машины одновремено получить к нему доступ, по идее выбить должно что файл занят процессом а выставялть каждой машине своё время... не знаю, можно ли средствами батч процессинга это сделать. Всё же почему не даёт менять учётные данные, может ключ в реестре какой запрещающий?

wertyg 17-01-2008 00:51 718795

оф топ.) слушай а что за задание такое надо запускать на всех компах? просто интересно.
и ксати сработает или не но предложу. сначало ходим по ПК и создаём задание всё указываем как надо. проверяем чтоб работало. а потом ты создаёш другое задание на админском машине с таким же именем и просто копируеш его на ПК в папку windows\task с именем там уже существующим. т.е. перезаписываеш файл который там находиться. вот интересно винда заметит подмену или нет.)

HLT 17-01-2008 09:04 718921

Цитата:

Цитата wertyg
сначало ходим по ПК и создаём задание всё указываем как надо »

Идея появилась =)
Один раз пройти по всем машинкам, и сделать задание - ежедневный запуск некоего батника с сетевой шары.
Если ничего делать не надо - батник лежит пустой.
Если надо что-то сделать - прописали в батнике всё что надо, и пусть работает.
(Разумеется, права на запись в батник должны быть только у админа)

Mertvii 18-01-2008 11:55 719841

wertyg, да таких заданий можно сколько угодно придумать :) В данном случае понадобилось раскинуть на все машины чат и в реестре добавить нужные ключи Т.к. машины не в домене, удалённую установку приложений из msi пакетов не сделать, насколько я знаю А задач таких может быть много, поэтому и было желание сделать предельно простой скрипт, в который всё включается, потом запускается батник, который копирует уже батники задания на конечные машины и создаёт на каждой из них само задание Минус того, что предложил HLT - что таки 1 раз придётся пройтись/подключиться ремот контролом и прописать везде учётные данные А если вдруг по неким причинам будет решено их изменить - опять на все логиниться и менять, ибо по сети не даёт, по той ссылке, что давал HLT(кстате спасибо, что трудился, искал :) ) предлагают копировать его, задав учётные данные, но как он сам говорил, учётные данные не копируются с заданием в винХП, и там же в каментах пишут, что пробовали, и не вышло... Вобщем похоже никто не знает, на ixbt тоже молчат


Время: 09:03.

Время: 09:03.
© OSzone.net 2001-