Login Script but not Default :)

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

Сообщение Дмитрий Иванов » 21 янв 2005, 12:35

Музалёв Николай писал(а):
...тупо...из книжки...

Хм... книжка должна была бы называться NW 3.11. Концепции. Приложение А. Команды процедуры регистрации.
В соотв. с этими рекоменндациями предлагаю вариант ДВА:
Код: Выделить всё
if "%CN" = VALUE "MNS" then
write " MNS OK"
end


Спасибо щас попробую, а книжка Гаскина/Гарбара стр. 222... :)
Аватара пользователя
Дмитрий Иванов
 
Сообщения: 250
Зарегистрирован: 01 мар 2004, 17:16
Откуда: Минск

отчет :)

Сообщение Dm » 21 янв 2005, 13:11

Я разобрался со свими скриптами. Все теперь ОК.

Всем участникам обсуждения огромная благодарность!

Воспользовался рецептом :
Типа так
Map K:=.TNT_Srv5_PROJECT.TNT:
обратив внимание на точку впереди.
Очень помогает при разных контекстах.


Действительно, система ругается на строчку BEGIN, а в остальном - все в порядке.
Еще раз спасибо всем :)
Dm
 
Сообщения: 12
Зарегистрирован: 30 дек 2004, 10:03
Откуда: Тюмень

Сообщение Станислав Дронкин » 21 янв 2005, 13:20

У меня работает конструкция

If OS="WIN98" THEN
.........
End

Я думаю, что это должно сработать аналогичным образом и в случае с CN
Станислав Дронкин
 
Сообщения: 56
Зарегистрирован: 19 июн 2002, 15:33
Откуда: Саратов

А я продолжаю ловить глюки...

Сообщение Дмитрий Иванов » 21 янв 2005, 13:34

А что вы скажите на это:
Код: Выделить всё
cls
write "%CN"                               /- возвращаю значение переменной/
if "%CN" = VALUE "USER4" then  /- условие для write - это пользователь USER4/
write " OK"
else                                          /- если условие false то "ggg"/
write " ggg"
end


это из окошка регистрации:
Код: Выделить всё
admin    /- вернулось %CN/
OK        /- сработало первое, несмотря на то, что условие false.../

И под кем бы не заходил, проходит по первому :shock:
Что еще можно предпринять ?

Станислав Дронкин писал(а):У меня работает конструкция

If OS="WIN98" THEN
.........
End

Я думаю, что это должно сработать аналогичным образом и в случае с CN
А вот с CN и %1 при таком синтаксисе выдает ошибку...
Аватара пользователя
Дмитрий Иванов
 
Сообщения: 250
Зарегистрирован: 01 мар 2004, 17:16
Откуда: Минск

Так, вроде разобрался...

Сообщение Дмитрий Иванов » 21 янв 2005, 14:02

Работает:
Код: Выделить всё
cls
if "%CN" = "USER4" then
write " OK"
else
write " ggg"
end


"VALUE" перед значением не надо!
Всем спасибо!
Аватара пользователя
Дмитрий Иванов
 
Сообщения: 250
Зарегистрирован: 01 мар 2004, 17:16
Откуда: Минск

Re: отчет :)

Сообщение Андрей Тр. aka RH » 21 янв 2005, 14:08

Dm писал(а):Я разобрался со свими скриптами. Все теперь ОК.
Странно .. тогда это не скрипты не выполняются, да еще в зависимости от контекста пользователя, а команда МАР в данном случае написана неверно. Это ж RTFM чистой воды :) Все равно в окошке выполнения скрипта, которое мы тут уже хором просили, в этом случае должна быть ОШИБКА о невыполнении данной команды. А BEGIN, по-моему, в скриптовых командах вообще отсутствует ( END - есть ).

Дмитрий Иванов

А шо такое есть VALUE "USER4" ?

P.S. А .. понятно :) RTFM
Даешь отдельный раздел по ZENworks ... :bad-words: .. и печати !
Аватара пользователя
Андрей Тр. aka RH
 
Сообщения: 3937
Зарегистрирован: 18 июн 2002, 11:27

Дык, то и есть, что советовали выше...

Сообщение Дмитрий Иванов » 21 янв 2005, 14:29

Андрей Тр. aka RH писал(а):Дмитрий Иванов

А шо такое есть VALUE "USER4" ?

P.S. А .. понятно :) RTFM


Возможно я это не так понял конечно...
В соотв. с этими рекоменндациями предлагаю вариант ДВА:
Код: Выделить всё
if "%CN" = VALUE "MNS" then
write " MNS OK"
end


З.Ы. И я, блин, READ уже всякие там F... M... со вчерашнего дня вдоль и поперек... :)
Аватара пользователя
Дмитрий Иванов
 
Сообщения: 250
Зарегистрирован: 01 мар 2004, 17:16
Откуда: Минск

Сообщение Андрей Тр. aka RH » 21 янв 2005, 15:04

Дык, то и есть, что советовали выше...
Не знаю, я VALUE в логин скриптах не припоминаю .. равно как и в доке не нашел. Может, те "рекоменндации" для 3.12, и там оно как-то все было .. не так ? По синтаксису в IF .. THEN сравнивается непосредственно со значением. А с %CN и %1 - может, попробовать писать их в двойных кавычках ?
Даешь отдельный раздел по ZENworks ... :bad-words: .. и печати !
Аватара пользователя
Андрей Тр. aka RH
 
Сообщения: 3937
Зарегистрирован: 18 июн 2002, 11:27

Сообщение Дмитрий Иванов » 21 янв 2005, 15:58

Андрей Тр. aka RH писал(а):
Дык, то и есть, что советовали выше...
Не знаю, я VALUE в логин скриптах не припоминаю .. равно как и в доке не нашел. Может, те "рекоменндации" для 3.12, и там оно как-то все было .. не так ? По синтаксису в IF .. THEN сравнивается непосредственно со значением. А с %CN и %1 - может, попробовать писать их в двойных кавычках ?


Дык, разобрался-ж уже, чит. выше. СПС всем. :)
Аватара пользователя
Дмитрий Иванов
 
Сообщения: 250
Зарегистрирован: 01 мар 2004, 17:16
Откуда: Минск

хм... вот задался я еще одним вопросом...

Сообщение Дмитрий Иванов » 21 янв 2005, 17:48

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

Спасибо...
Аватара пользователя
Дмитрий Иванов
 
Сообщения: 250
Зарегистрирован: 01 мар 2004, 17:16
Откуда: Минск

Сообщение Музалёв Николай » 21 янв 2005, 18:01

По поводу VALUE прошу прощения за введение в заблуждение: оно используется при операциях над числительными. Отсутствие этого оператора означает, что операции (сравнения в частности) идут над строками.
По поводу своих переменных.
Предполагается, что по SET-оператору вы можете напихать в свою локальню систему чего хотите и потом оперировать этими переменными, заключив их в угловые скобки. Указанное правило предполагало DOS-перемменные, но никто не мешает проверить и в ВИНде.
Если же предполагаются просто локальные переменные типа счетчиков циклов и т.д. , то тогда так:
Код: Выделить всё
set x = "1"
perexod:
...чеготоДелаемТут....
set x = <x> + "1"
if <x> is less then value "10" then goto perexod
armoracia rusticana (lat.), "блины" и "фиги" всех видов, а также смайлики - крайне не желательны !
Музалёв Николай
 
Сообщения: 3027
Зарегистрирован: 04 июн 2002, 19:58
Откуда: Беларусь. МИНСК.

Сообщение Андрей Тр. aka RH » 21 янв 2005, 18:40

Дмитрий, вот если бы Вы сходили по ссылочке ( RTFM ), что я привел выше, то не задавали бы подобных вопросов :) Там примерно в середине - где про GOTO приведен Example по использованию DOS-переменных ( в угловых скобках ). А далее про команду SET написано подробнее, как этими переменными пользоваться, присваивать им значения и т.д. Доку ж надо не только пролистывать, но еще и читать иногда.

Кстати, Николай, в том же примере ( в доке ) переменная Х ( численная ) в IF .. THEN используется безо всякой VALUE :
Код: Выделить всё
SET X=1
AGAIN:
SET X=<X> + 1
;see compound strings for this
WRITE <X>
IF <X> < 9 THEN GOTO AGAIN
Даешь отдельный раздел по ZENworks ... :bad-words: .. и печати !
Аватара пользователя
Андрей Тр. aka RH
 
Сообщения: 3937
Зарегистрирован: 18 июн 2002, 11:27

Сообщение Дмитрий Иванов » 21 янв 2005, 19:03

НИКОЛАЙ
Огромное СПАСИБО. Буду пробовать.

АНДРЕЙ
Ну что Вы все RTFMом тыкаете. Форум-то для чего? Ну не глупые же я совсем вопросы задаю.
А бывают случаи, когда хочется выиграть время и сделать что-то побыстрее. Вот как я сейчас сижу и переписываю огромный Login Script. Пол дня было потеряно на поиски синтаксиса %CN, а про то что это дело в кавычки надо брать, ну ни где я не нашел (даже в книге у Гаскина без), только здесь Николай подсказал, еще раз спасибо. И сам бы не догадался (когда-то на делфи писал... стереотипы, блин)...
Аватара пользователя
Дмитрий Иванов
 
Сообщения: 250
Зарегистрирован: 01 мар 2004, 17:16
Откуда: Минск

Сообщение Владимир Горяев » 22 янв 2005, 23:25

Дмитрий Иванов
Не переживай. В нвадмине F1 нажмешь - там все с примерами, хелп короче(ну или RTFM) :)
В мапах лучше использовать UNC пути...RTFM. :lol:
Бардак автоматизировать невозможно!!!
_________________
Аватара пользователя
Владимир Горяев
 
Сообщения: 3473
Зарегистрирован: 05 июн 2002, 13:37
Откуда: Смоленск

Сообщение Музалёв Николай » 24 янв 2005, 13:35

Кстати, о примерах....
Коллега С.Дубров, было дело - макакал меня мордой в то, что вчерась съел, за то, что я выступал в форуме без проверки своих советов - ветераны-соколовцы помнят...
Ну дык вот - с тех пор я внял!
Приведенный ( в доке )
пример не работает:
...примере переменная Х ( численная ) в IF .. THEN используется безо всякой VALUE :
Код: Выделить всё
SET X=1
AGAIN:
SET X=<X> + 1
;see compound strings for this
WRITE <X>
IF <X> < 9 THEN GOTO AGAIN 

Не работает, кстати не только по логике, но даже по синтаксису! ("Дети! Кто это написал на доске это слово? Это очень плохое слово, дети...")

А вот мой пример работает именно так, как надо:
Код: Выделить всё
set  x =  "1"
again:
set x = <x> + "1"
;see compound strings for this
WRITE <x>
IF <x> < VALUE "19" THEN GOTO AGAIN

(Значение константы сравнения увеличено, что бы отстроиться от совпадения строки и значения)
Кстати, лучше было бы его записать так:
Код: Выделить всё
set  x =  "1"
again:
;see compound strings for this
WRITE <x>
set x = <x> + "1"
IF <x> < VALUE "19" THEN GOTO AGAIN

Желающие могут попробовать оба варианта, как с параметром VALUE, так и без:
18 сравнений с параметром VALUE., без параметра VALUE - только одно сравнение.
(Опытная пощадка: реальная сеть 2*NW51+6, вин2к рус, кл483+2конс, эквивалент админу.)

РЕЗЮМ(с): Дети, проверяйте доки практикой!
armoracia rusticana (lat.), "блины" и "фиги" всех видов, а также смайлики - крайне не желательны !
Музалёв Николай
 
Сообщения: 3027
Зарегистрирован: 04 июн 2002, 19:58
Откуда: Беларусь. МИНСК.

Пред.След.

Вернуться в Novell

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

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

cron