скрипт

Обсуждение технических вопросов по продуктам Novell

скрипт

Сообщение Орлов Алексей » 04 окт 2005, 13:24

Добрый день коллеги, есть вопрос по оптимизации скрипта, а имеено, есть жалобы, что с утра в момент ломления большого колличества пользователей около 350 на сервак, происходит значительное замедления вхождения в сеть. Далее привожу Вам мой скрипт, он через переменную include выполняеться в каждом контейнере, а именнно в дереве есть всего один профиль с логин скриптом (ниже) который через include вставляеться в каждый контейнер, извините за повторение, так вот что бы уменьшить время в хода в сеть есть мнение создать для каждого контейнера свой логин скритп, но я против. т.к. такой проще админить, но хотелось бы знать знасительно ли такая мера сможит ускорить логирование пользователей.

Скрипт

MAP DISPLAY OFF
NO_DEFAULT
MAP ERROR ON

;Приветствие.
;--------------------------------------------------------------------------------------------------

write ""
write ""
write " Здравствуйте %FULL_NAME ."
write ""
write " Мы рады приветствовать Вас в компьютерной сети "
write ""
write " Сегодня: %DAY_OF_WEEK, %DAY - MONTH %YEAR года."
write ""
write " Желаем Вам удачного дня ! "
write ""
lastlogintime
FIRE PHASERS 1 TIMES
pause

;Подключение дисков.
;---------------------------------------------------------------------------------------------------
MAP ROOT G:=serv1/GROUP:
MAP ROOT O:=serv1/dbase:Group
MAP ROOT H:=serv1/home:

;Проверка групп.

IF PLATFORM="W98" OR PLATFORM="W95" THEN
MAP Y:=serv1/sys:
#Y:\REGEDIT\rootsupd.exe
MAP DEL Y:
end

IF MEMBER OF ".KONSULTANT" THEN
MAP ROOT K:=serv2/DBASE:APPL\
end

IF MEMBER OF ".ADMIN_LEVEL1" THEN
MAP ROOT S:=serv2/SOFT:
end

IF MEMBER OF ".ADMIN_LEVEL2" THEN
MAP ROOT S:=serv2/SOFT:
MAP ROOT W:=serv2/WORK:
MAP ROOT M:=serv2/SYS:
MAP ROOT L:=serv2/SYS:
end

IF MEMBER OF ".ADMIN_LEVEL3" THEN
MAP ROOT S:=serv2/SOFT:
MAP ROOT W:=serv2/WORK:
MAP ROOT M:=serv2/SYS:
MAP ROOT L:=serv2/SYS:
MAP ROOT V:=serv2/SYS:
MAP ROOT E:=serv2/HOME:

end

IF MEMBER OF ".STATIST" THEN
MAP ROOT I:=serv2/DBASE:
end

IF MEMBER OF ".NETOP_GROUP" THEN
MAP ROOT R:=serv2/DBASE:Netop
end

IF MEMBER OF ".MUSIC" THEN
MAP ROOT N:=SLAVE/MUSIC:
end

Грузиться реестр

IF PLATFORM="WNT" THEN
IF MEMBER OF ".ELITES_GROUP" THEN
MAP Y:=serv2/sys:
#regedit /s Y:\REGEDIT\ElitesNT.reg
ELSE
MAP Y:=serv2/sys:
#regedit /s Y:\REGEDIT\GlobalNT.reg
MAP DEL Y:
end
end

IF PLATFORM="W98" OR PLATFORM="W95" THEN
IF MEMBER OF ".ELITES_GROUP" THEN
MAP Y:=serv2/sys:
#regedit /s Y:\REGEDIT\Elites9x.reg
MAP DEL Y:
ELSE
MAP Y:=serv2/sys:
#regedit /s Y:\REGEDIT\Global9x.reg
MAP DEL Y:
end
end

Это запускаеться не всегда по требованию

IF PLATFORM="WNT" THEN
IF MEMBER OF ".UPDATE_CLIENT" THEN
MAP ROOT J:=serv2/SYS:PUBLIC\CLIENT\WINNT\I386
#J:\setupnw.exe /acu /u:update.txt
map del j:
END
END

Огромное спасибо за советы...........
Даёшь полный контроль над Юзверем!!!
-------------------------------------------------------
Я еще из тех, кто учился азбуке по букварю, а не по клавиатуре....

Иногда пишу в своем блоге на тему ms Lync, directaccess.
Аватара пользователя
Орлов Алексей
 
Сообщения: 953
Зарегистрирован: 04 июн 2003, 12:43
Откуда: Нижний Новгород

Сообщение Савельев Сергей » 04 окт 2005, 13:35

Добрый день
Во всех ли случаях нужно тормозить скрипт до окончания выполнения программ?
Если нет, то замени # на @ и скрипт не будет останавливаться
Одна беда только будет
Если есть DOS, то на строках с @ будут ошибки, даже если данный кусок скрипта не предназначен для исполнения в DOS

Пример
IF "%OS"<>"MSDOS" THEN
IF MEMBER OF "ENGINEERING" OR "%LOGIN_NAME"="ADMIN" THEN
MAP *1:=SYS:
@ \\SCHOOL\SYS\PUBLIC\MSG MSG.INI
ELSE
PAUSE
MAP *1:=SYS:
END
ELSE
IF MEMBER OF "ENGINEERING" OR "%LOGIN_NAME"="ADMIN" THEN
MAP *1:=SYS:LOGIN
ELSE
PAUSE
MAP *1:=SYS:LOGIN
END
END
Последний раз редактировалось Савельев Сергей 04 окт 2005, 13:43, всего редактировалось 1 раз.
Лучше ужасный конец, чем ужас без конца

Главное чтобы свет в конце тоннеля не оказался поездом идущем на встречу.

Изображение
______________________________________
Аватара пользователя
Савельев Сергей
 
Сообщения: 524
Зарегистрирован: 15 ноя 2002, 11:24
Откуда: Моск. обл. г. Железнодорожный

Сообщение Орлов Алексей » 04 окт 2005, 13:40

IF PLATFORM="WNT" THEN
IF MEMBER OF ".ELITES_GROUP" THEN
MAP Y:=serv2/sys:
#regedit /s Y:\REGEDIT\ElitesNT.reg
ELSE
MAP Y:=serv2/sys:
#regedit /s Y:\REGEDIT\GlobalNT.reg
MAP DEL Y:
end
end

IF PLATFORM="W98" OR PLATFORM="W95" THEN
IF MEMBER OF ".ELITES_GROUP" THEN
MAP Y:=serv2/sys:
#regedit /s Y:\REGEDIT\Elites9x.reg
MAP DEL Y:
ELSE
MAP Y:=serv2/sys:
#regedit /s Y:\REGEDIT\Global9x.reg
MAP DEL Y:
end
end


Тогда не будет отрабатываться эта часть. А это связано с тем, что не у всех пользователей корректно, происходит запуск программ по сети
\\server\tom\и т.д.
Даёшь полный контроль над Юзверем!!!
-------------------------------------------------------
Я еще из тех, кто учился азбуке по букварю, а не по клавиатуре....

Иногда пишу в своем блоге на тему ms Lync, directaccess.
Аватара пользователя
Орлов Алексей
 
Сообщения: 953
Зарегистрирован: 04 июн 2003, 12:43
Откуда: Нижний Новгород

Сообщение Савельев Сергей » 04 окт 2005, 13:52

Орлов Алексей писал(а):#regedit /s Y:\REGEDIT\GlobalNT.reg



@ regedit /s Y:\REGEDIT\GlobalNT.reg
помоему для @ не обязотельно \\server\tom\и т.д
и на обычных путях живет
если я Вас правильно понял
Лучше ужасный конец, чем ужас без конца

Главное чтобы свет в конце тоннеля не оказался поездом идущем на встречу.

Изображение
______________________________________
Аватара пользователя
Савельев Сергей
 
Сообщения: 524
Зарегистрирован: 15 ноя 2002, 11:24
Откуда: Моск. обл. г. Железнодорожный

ответ

Сообщение Орлов Алексей » 04 окт 2005, 13:55

Помоему разница между # и @ большая., а именно
# ждёт пока приложение будет выполнено и потом отмапливает диск
@ не ждёт завершения и дует дальше, а дальше отмапливание диска
Даёшь полный контроль над Юзверем!!!
-------------------------------------------------------
Я еще из тех, кто учился азбуке по букварю, а не по клавиатуре....

Иногда пишу в своем блоге на тему ms Lync, directaccess.
Аватара пользователя
Орлов Алексей
 
Сообщения: 953
Зарегистрирован: 04 июн 2003, 12:43
Откуда: Нижний Новгород

Сообщение Савельев Сергей » 04 окт 2005, 13:59

Савельев сергей писал(а):Во всех ли случаях нужно тормозить скрипт до окончания выполнения программ?
Если нет, то замени # на @ и скрипт не будет останавливаться
Лучше ужасный конец, чем ужас без конца

Главное чтобы свет в конце тоннеля не оказался поездом идущем на встречу.

Изображение
______________________________________
Аватара пользователя
Савельев Сергей
 
Сообщения: 524
Зарегистрирован: 15 ноя 2002, 11:24
Откуда: Моск. обл. г. Железнодорожный

Сообщение Владимир Горяев » 04 окт 2005, 14:01

@cmd /q /c start /min \\SERVER\SYS\PUBLIC\INST\ieset.cmd
ieset.cmd
Код: Выделить всё
@ECHO OFF
Regedit /s \\SERVER\SYS\PUBLIC\INST\setpxy.reg
Regedit /s \\SERVER\SYS\PUBLIC\INST\au.reg

REM ... еще можно всякие команды

@ECHO ON
@exit

и в 9X работало без проблем, соотв с command.com, в принципе и на %comspec меняется и работает. UNC пути должны пониматься, может клиенты недопатченные?

pause то же не есть хорошо

Поменял имя сервера на SERVER :) , так понятнее
Бардак автоматизировать невозможно!!!
_________________
Аватара пользователя
Владимир Горяев
 
Сообщения: 3473
Зарегистрирован: 05 июн 2002, 13:37
Откуда: Смоленск


Вернуться в Novell

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 11

cron