Ru-Board.club
← Вернуться в раздел «В помощь системному администратору»

» Запуск программы на сервере при входе пользователя по сети.

Автор: testsoft2001
Дата сообщения: 28.09.2004 15:31
Можно ли "отловить" момент регистрации сетевого пользователя в домене или просто на сервере и по этому событию запустить программу на сервере?
Автор: Looking
Дата сообщения: 28.09.2004 16:41
testsoft2001
А если например в сценарии пользователя вставить посылку сообщения на сервер, а там его принимать или стандартной службой или более продвинутой прогой?
Автор: testsoft2001
Дата сообщения: 29.09.2004 12:10
[b]Looking/b]

Цитата:
А если например в сценарии пользователя вставить посылку сообщения на сервер, а там его принимать или стандартной службой или более продвинутой прогой?


А можно подробнее? Чем посылать сообщение, чем его анализировать, где об этом можно почитать?
Автор: Looking
Дата сообщения: 29.09.2004 13:00
testsoft2001
Сейчас под рукой нет компа с доменом. Но в свойствах Юзера должна быть закладка профиль пользователя, где можно прописать сценарий входа. В сценарии можно прописать подключение домашних каталогов и запуск командных файлов, программ и т.д. которые будут выполняться при входе пользователя в домен. В составе NT систем есть служба сообщений (команда net send), можно прописать командную строку с сообщением на сервер типа "Пользователь Петров вошел в домен!". На рабочих станциях с 95/98 для этого можно поставить стороннюю прогу NetSend. А на сервере при входе Юзера будут приниматься сообщения. Для удобства вместо стандартной службы можно поставить стороннюю программу с более продвинутыми возможностями (история, архив, группы пользователей, стандартные ответы и сообщения и т.д).
Но это все в случае, если по каким-то соображениям служба сообщения не отключается.
Подобные проги http://www.cezeo.ru/?inref=cezeo_com http://www.blabsoft.com/products/ http://www.ariolic.ru/netsend/index.html
Автор: testsoft2001
Дата сообщения: 29.09.2004 13:40
Looking

Наверное мне следовало подробнее описать ситуацию.

Имеется класс бездисковых рабочих станций под Windows 95. Машинные каталоги хранятся на сервере под управлением Windows NT 4.0 server, который по совместительству PDC.

Проблема в том, что всегда найдется кретин, который либо сотрет что-нибудь в машинном каталоге (легко решается установкой соответсвующих прав доступа), либо что-нибудь добавит.

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

Оптимальный вариант - перед каждой загрузкой (до исполнеия команды setmdir) восстанавливать машинный каталог с эталона.

НО! Есть несколько "но".

1. Делать это надо до загрузки windows на клиенте, т.е. если и посылать от него сообщения, то делать это нужно из-под DOS 7.
2. Кажется, что проще всего просто скопировать машинный каталог по сети, но в нем есть длинные имена, которые DOS 7 не понимает, архиваторы под DOS длинных имен тоже не понимают. Кроме того это приведет к большой нагрузке на сеть.

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

Но, вот как этот скрипт запустить?
Автор: Looking
Дата сообщения: 30.09.2004 16:52
testsoft2001
Попробуй прописать нужный скрипт в сценарий загрузки пользователя, с указанием длинного пути к папке, где расположен скрипт клиента
Автор: testsoft2001
Дата сообщения: 30.09.2004 18:25
Looking


Цитата:
Попробуй прописать нужный скрипт в сценарий загрузки пользователя


Где это скрипт исполняется? Насколько я понимаю, он исполняется на клиенте (в данном случае под Windows 95), а на сервере только при локальном входе. Или я не прав?
Автор: kibkalo
Дата сообщения: 30.09.2004 18:30
testsoft2001 - совсем закрыть на запись можно! а потом для необходимых файлов (их не более десятка) на уровне файла а не папки дать право Modify
С реестром еще проще - через regedt32 можно задавать права отдельно на ветки, хотя все хранится в файле.
Автор: testsoft2001
Дата сообщения: 30.09.2004 18:54
kibkalo


Цитата:
совсем закрыть на запись можно!

Нельзя! Когда идет запись в реестр, сначала создается новый файл реестра, затем старый стирается, а новый переименовывается. Т.е. у клиента должны быть права Add&Read на машинный каталог.

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


Цитата:
С реестром еще проще - через regedt32 можно задавать права


Какой regedt32, какие права? Где Вы их под windows 95 видели? Напомню, речь идет не о пользователе Windows NT и его профиле, а о машинном каталоге Windows 95 клиента, установленного в режиме Server Base Setup.

PS. Кстати, клиенты грузятся по BootP/TFTP. Может запрос к BootP серверу можно чем-нибудь отловить?
Автор: Looking
Дата сообщения: 05.10.2004 12:48
testsoft2001
А что, с клиента не получится обновить каталог? Скажем эталонный только на чтение, в машинном удалить и скопировать с эталонного. Или в момент отработки скрипта что-то будет препятствовать?

Добавлено
И еще, если в момент отработки скрипта создать в машинном каталоге маленький файл с определенным именем (или скопировать из другого каталога), тормознуть на определенное время загрузку (можно с сообщением типа "Ждите, идет настройка рабочей среды!"), со стороны сервера при появлении файла происходит замена содержимого каталога на эталонное. Что-то будет препятствовать этой замене или нет?
Автор: testsoft2001
Дата сообщения: 05.10.2004 14:30
Looking

Цитата:
А что, с клиента не получится обновить каталог?

Ну, сейчас примерно так и делается, только не весь каталог, а наиболее важные файлы (реестр и кое-что по мелочи). Но весь каталог с клиента обновлять не следует - в DOS режиме (до загрузки GUI) не поддерживаются длинные имена, кроме того это излишняя нагрузка на сеть и раза в два замедлит загрузку.


Цитата:
момент отработки скрипта создать в машинном каталоге маленький файл

Нечто подобное предлагается на RemoteBoot , там используется бесконечный цикл проверки такого маркерного файлика на сервере.

Наверное работает, но в этом нет изящества: одно дело запуск программы по событию, другое в стиле Осла из Шрек-2 "Мы уже приехали?" .

Впрочем, наиболее раздражающий момент - ручную чистку машинных каталогов - я уже победил. Есть такая утилитка (free, между прочим) DelByOwner , которая удаляет/копирует/показывает файлы в зависимости от владельца. Работает довольно медленно, но для моих целей этого достаточно.
Автор: Looking
Дата сообщения: 06.10.2004 00:37
testsoft2001
Относительно длинных имен под ДОС - вопрос решаемый, поищи где-то было по оболочке ДОС, поддерживающей длинные имена, параллельно там было, что надо добавить для этой поддержки.
А по поводу второго варианта есть мысли прикрутить ApBackUp http://www.forum.ru-board.com/topic.cgi?forum=35&topic=8940#1 , но сначала надо кое что уточнить.

Страницы: 1

Предыдущая тема: Лицензии Win2003 Terminal server: cмена на постоянные


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.