WinXP, Запуск logon скриптов от SYSTEM
logon скрипты выполняются от имени пользователя
startup скрипты от имени system, но до входа пользователя в систему
Вижу следующие методы решения:
1. logon.bat + runas - дыра в безопастности
2. расширение прав огранниченных пользователей - не найдено реализации.
3. Создание задачи в планировщике от SYSTEM (startup скриптом) с запуском ее из logon.bat - в планировщике остается задача - нехорошо.
4. установка сервиса, который выполняет нужную команду - некрасиво и писать надо.
Пока склоняюсь к 4му варианту.
О себе: WinXP Pro SP3, Samba3 (домен NT4, без AD)
Рассмотрите такой вариант (впрочем, не поручусь, что он реализуем для NT4):
1) создаём папку общего доступа с правами для клиентов только на запись;
2) с помощью WMI создаём подписку на событие появления в этой папке нового файла (назовём этот сценарий "регистратором");
3) "логон"-сценарий пользователя создаёт в этой папке некий сигнальный файл;
4) "регистратор", обнаружив новый сигнальный файл, удаляет его, а затем запускает на нужной станции соответствующий процесс (скажем, с помощью PSEXEC).
Спасибо за мысль, это схоже с моим вариантом #4, только клиент и сервер поменялись местами. Осталось выбрать, что проще.
Может быть я чего не знаю про runas. Я правильно понимаю, что: runas не работает удаленно, используя runas с ключом /savecred вы фактически дарите пароль от пользователя.
Оставить задачу в планировщике не устраивает потому, что создана она будет для всех пользователей (startup скрипт). И даже если она не запустится - ничего не помешает пользователю запустить ее. Как вариант - запретить запуск задач политикой для всех пользователей, кроме указанных - нужно тогда шаманить с возвратом настройки в исходное состояние.
Также можно задание удалять просто-напросто после запуска.Или как-то так