Skrypt logowania
Transkrypt
Skrypt logowania
Skrypty logowania Skrypty logowania są podobne do plików wsadowych używanych do automatycznego przygotowywania środowiska stacji roboczych. Za każdym razem, gdy użytkownik loguje się do sieci, program LOGIN wykonuje skrypty logowania. Może to służyć zamapowaniu często używanych dysków sieciowych, przechwyceniu portu drukarki i skierowania wydruku na drukarkę sieciową, wyświetleniu na ekranie informacji o połączeniu lub innych komunikatów czy wykonywaniu innych zadań. W NetWare 5 możesz przypisać literę dysku (taką jak G czy H) określonej kartotece sieciowej. Działa to tak samo jak przypisanie litery C pierwszemu dyskowi twardemu czy litery E napędowi CD-ROM. Gdy przypisujesz literę dysku kartotece, nazywa się to mapowaniem dysku Gdy logujesz się do sieci, na ekranie pojawiają się wyniki automatycznie wykonywanych kolejnych poleceń. Te polecenia pochodzą właśnie z Twojego skryptu logowania. Skrypty logowania to jeden z bardziej zaawansowanych elementów NetWare 5. Domyślny skrypt logowania jest przygotowywany w momencie instalacji NetWare 5. Ten skrypt zawiera pewne podstawowe mapowania dysków, dzięki którym możesz korzystać z narzędzi NetWare 5 przechowywanych w serwerze. Jeśli chcesz stworzyć dla swojej stacji roboczej dodatkowe mapowania, możesz stworzyć własny skrypt logowania. W poprzednich wersjach NetWare (3.lx oraz 2.x) istniały dwa rodzaje skryptów logowania: skrypty użytkowników oraz skrypty systemowe. Skrypt systemowy był plikiem na serwerze i był wykonywany dla każdego użytkownika, który logował się do sieci, był więc dobrym miejscem do umieszczenia poleceń mapowania dysków i innych informacji wspólnych dla wszystkich użytkowników danego serwera. Skrypty logowania użytkowników były osobnymi plikami dla każdego użytkownika i były przechowywane w podkartotekach MAIL użytkowników. W skrypcie logowania użytkownika można było tworzyć mapowanie dysku i umieszczać inne polecenia indywidualne dla danego użytkownika Skrypty logowania są przeznaczone głównie dla użytkowników stacji roboczych DOS i Windows 3.1. Użytkownicy Windows 95/98 i Windows NT mogą używać elementów występujących na swoich pulpitach w celu określenia ustawień, które dotąd były konfigurowane poprzez skrypty logowania. Na przykład, użytkownicy Windows 95/98 i Windows NT mogą tworzyć skróty do aplikacji lub często używanych folderów. W związku z tym, jeśli korzystasz z Windows 95/98 lub Windows NT, możesz nie chcieć lub nie potrzebować - korzystać z więcej niż jedynie domyślny skrypt logowania W NetWare 5 występują trzy rodzaje skryptów logowania: - Skrypt logowania kontenera (systemowy) - Skrypt logowania kontenera (w poprzednich wersjach NetWare nazywany systemowym skryptem logowania) jest właściwością obiektu kontenera. Wszystkie polecenia w skrypcie logowania kontenera są wykonywane w momencie logowania się do sieci każdego użytkownika danego kontenera. W związku z tym skrypt logowania tego typu jest dobrym miejscem na umieszczenie poleceń wspólnych dla wszystkich użytkowników danego kontenera. - Skrypt logowania profilu - Dzięki skryptom tego typu możesz tworzyć skrypty logowania odnoszące się do kilku użytkowników, którzy niekoniecznie muszą należeć do tego samego kontenera. Jest to rodzaj grupowego skryptu logowania. Skrypt logowania profilu jest właściwością obiektu Profile (profil), definiującego listę użytkowników należących do tzw. profilu. (Obiekt Profile istnieje wyłącznie w celu umożliwienia obsługi skryptów logowania profilu. Jeśli nie chcesz korzystać z tego typu skryptów logowania, nie musisz 1 tworzyć żadnych obiektów typu profil). Podczas logowania użytkownik może uruchomić tylko jeden skrypt logowania profilu. - Skrypty logowania użytkowników - Skrypt logowania użytkownika jest właściwością danego obiektu typu User. Jeśli dany użytkownik wymaga zastosowania mapowań dysków lub innych ustawień, które nie odnoszą się do innych użytkowników, możesz zapisać je właśnie w skrypcie logowania użytkownika. Jeśli użytkownik nie posiada własnego skryptu logowania, zamiast niego wykonywany jest skrypt domyślny, tworzący podstawowe mapowania dysków. Te trzy rodzaje skryptów logowania współdziałają ze sobą tworząc podczas logowania użytkownika do sieci odpowiednie środowisko sieciowe. Skrypty logowania są wykonywane w następującej kolejności: 1. Skrypt logowania kontenera. 2. Skrypt logowania profilu. 3. Skrypt logowania użytkownika (lub domyślny skrypt logowania jeśli użytkownik nie posiada własnego skryptu). Wszystkie trzy skrypty są opcjonalne. Jeśli nie stworzysz któregoś z nich, program LOGIN przejdzie do następnego skryptu na liście. Jeśli nie istnieje żaden skrypt logowania, jedynym wykonywanym skryptem będzie wyłącznie domyślny skrypt logowania użytkowników. Rysunek 1 przedstawia trzech różnych użytkowników w drzewie BlueSky oraz obiekty w tym drzewie, zawierające skrypty logowania Rys 1. Skrypty logowania występujące \v przykładowym drzewie BlueSky Gdy do sieci loguje się użytkownik Lin, wykonywane są dla niej trzy skrypty logowania. Najpierw wykonuje się skrypt należący do kontenera bezpośrednio powyżej niej (kontener BlueSky), następnie skrypt profilu (ponieważ Lin należy do profilu Payroll), a na koniec jej własny skrypt logowania użytkownika. Gdy loguje się użytkownik Doug, wykonywane są dwa skrypty logowania. Jako pierwszy jest wywoływany skrypt należący do kontenera (BlueSky), a następnie uaktywnia się skrypt logowania użytkownika. Gdy do sieci loguje się użytkownik Mick, dla niego także są uruchamiane dwa skrypty logowania. Najpierw jest wykonywany skrypt logowania profilu (gdyż Mick należy do profilu Payroll), a następnie jego własny skrypt logowania użytkownika. Kontener bezpośrednio powyżej użytkownika nie zawiera skryptu logowania, więc dla Micka nie jest wykonywany skrypt logowania kontenera. 2 Gdy do sieci loguje się użytkownik Susan, wykonuje się tylko jeden skrypt logowania. Ponieważ Susan nie należy do profilu Payroll i jej kontener (Personnel) nie posiada skryptu logowania kontenera, nie zostanie dla niej wykonany ani skrypt kontenera, ani skrypt profilu. Ponieważ dla pojedynczego użytkownika może zostać wykonanych do trzech skryptów logowania, mogą wystąpić pomiędzy nimi konflikty. Jeśli tak się stanie, obowiązują polecenia w ostatnim wykonywanym skrypcie. Tak więc, jeśli w skrypcie logowania kontenera występuję mapowanie litery dysku G do pewnej kartoteki, a następnie w skrypcie logowania użytkownika do litery dysku G zostanie przypisana inna kartoteka, w efekcie będzie obowiązywać mapowanie zastosowane w skrypcie logowania użytkownika. Skrypty logowania kontenerów odnoszą się wyłącznie do użytkowników bezpośrednio zawartych w tych kontenerach. Nie odnoszą się do użytkowników w podkontenerach. Przykładem może być kontener zawierający użytkownika Susan z rysunku 1. Ponieważ ten kontener nie posiadał skryptu logowania, w chwili logowania się Susan do sieci nie był wykonywany żaden skrypt logowania kontenera, mimo że następny kontener w hierarchii (BlueSky) taki skrypt logowania posiadał Aby uprościć administrowanie skryptami logowania w swojej sieci, spróbuj umieścić jak największą ilość wspólnych informacji (takich jak mapowanie kartotek dla aplikacji sieciowych) w skryptach logowania kontenera i profilu. Dużo łatwiej jest zmienić mapowanie dysku w jednym skrypcie odnoszącym się do wielu użytkowników niż robić to samo w tuzinach lub setkach skryptów poszczególnych użytkowników. Tworzenie skryptu logowania Podobnie jak w przypadku innych właściwości NDS, także tworzenie skryptów logowania najlepiej przeprowadzić za pomocą programu NetWare Administrator. Otwórz arkusz właściwości obiektu (w menu Object wybierz polecenie Details) i kliknij na przycisku karty Login Script. Gdy otworzysz kartę Login Script dla obiektu typu User, Profile lub kontener, ujrzysz puste okno (lub poprzednią wersję skryptu, jeśli taka istnieje). W tym oknie możesz wpisywać polecenia, które chcesz zawrzeć w skrypcie logowania: mapowania dysków, przechwytywanie portów drukarek, komunikaty, ustawienia środowiska itd. Ogólnie rzecz biorąc, jeśli jesteś zwykłym użytkownikiem, możesz zmieniać wyłącznie własny skrypt logowania. Jeśli jesteś użytkownikiem Admin, możesz zmieniać skrypty logowania innych użytkowników oraz kontenerów. (Nawet jeśli nie jesteś użytkownikiem Admin, możesz otrzymać uprawnienia do modyfikowania skryptów logowania innych obiektów, jeśli trzeba. Przypisywanie użytkownikom skryptu logowania profilu Aby stworzyć skrypt logowania profilu, powinieneś stworzyć obiekt typu Profile (tak jak każdy inny obiekt NDS). Skrypt logowania dla obiektu Profile możesz stworzyć na jego karcie właściwości Login Script. Po utworzeniu skryptu musisz przypisać go poszczególnym użytkownikom. W tym celu wykonaj poniższe kroki: 1. W oknie przeglądania drzewa zaznacz obiekt użytkownika. 2. W menu Object wybierz polecenie Details, po czym otwórz kartę Login Script. 3. W polu Profile poniżej okna z tekstem skryptu logowania wpisz nazwę obiektu profilu. 4. Kliknij na przycisku OK zapisując zmiany i wracając do okna przeglądania. 5. Zaznacz obiekt profilu. Pojawi się ostrzeżenie informujące, że aby skorzystać z profilu, użytkownicy muszą posiadać prawo do odczytu. 6. W menu Object wybierz polecenie Trustees of This Object (prawa dostępu do obiektu). 7. W oknie Trustees kliknij na przycisku Add Trustee (dodaj uprawnionych), a nstępnie wpisz nazwę użytkownika, który będzie korzystał ze skryptu logowania profilu. 3 8. Upewnij się, że są włączone uprawnienia Browse (przeglądanie) oraz Read (odczyt), po czym kliknij na przycisku OK., nadając je użytkownikowi. Najpopularniejsze polecenia skryptów logowania W skryptach logowania możesz użyć ponad 30 różnych poleceń, jednak najczęstszym powodem korzystania ze skryptów jest wykonanie zewnętrznego polecenia lub programu, skierowanie danych z portu równoległego do kolejki wydruku oraz mapowanie dysków na kartoteki sieciowe. W związku z tym bardzo prawdopodobne jest, że będziesz korzystał wyłącznie z trzech różnych poleceń skryptu logowania. Te trzy najczęściej spotykane polecenia to: Polecenie @. Polecenie #CAPTURE. Polecenie MAP. Polecenie @ To polecenie służy wywołaniu przez skrypt logowania zewnętrznego programu li: polecenia, na przykład narzędzia NetWare lub aplikacji Windows. Używaj tego poi cenią wyłącznie na stacjach roboczych Windows. Aby wywołać program, na początku linii użyj znaku @. (Znak @ umożliwia dalsze wykonywanie skryptu równoległe działania uruchomionej aplikacji). Na przykład, aby w skrypcie logowania uruchomić program NetWare Admini^ umieść w skrypcie poniższe polecenie: @SYS:\PUBLIC\WIN32\NWADMIN Polecenie #CAPTURE To polecenie powoduje skierowanie danych wychodzących do portu równoległego stacji roboczej do sieciowej kolejki Aby wykonać program CAPTURE, pamiętaj o umieszczeniu na początku linii znaku #. Gdy program CAPTURE zakończy działanie, skrypt logowania odzyska kontrolę i zacznie działać dalej, wykonując pozostałe polecenia. Na przykład, aby przechwycić port LPT1 i skierować jego dane do sieciowej kolejki wydruku o nazwie LaserQ, w skrypcie logowania mógłbyś umieścić poniższe polecenie: #CAPTURE L=l Q=.LaserQ.Sales.BlueSky NB NT NFF TI=5 Polecenie MAP To polecenie jest używane do przypisywania liter dysków kartotekom sieciowym. Gdy w skrypcie logowania umieścisz polecenie MAP, podczas każdego logowania użytkownika do sieci, wskazanej kartotece zostanie przypisana litera dysku. Aby zamapować dysk w skrypcie logowania, zastosuj polecenie MAP o następującym formacie: MAP litera:=ścieżka_dostępu Na przykład, aby zamapować dysk L na kartotekę VOL1 :APPS\WP, powinieneś wpisać MAP L:=VOL1:APPS\WP Polecenia MAP możesz użyć do zamapowania dysków wyszukiwania. Dyski wyszukiwania to specjalny rodzaj mapowania dysków, pełniący funkcję DOS-owych ścieżek wyszukiwania. Dyski wyszukiwania są używane do wskazania kartotek zawierających aplikacje lub narzędzia i umożliwiają użytkownikowi uruchomienie aplikacji bez znajomości szczegółowej lokalizacji tej aplikacji. Sieć przeszukuje wszystkie dostępne dyski 4 wyszukiwania próbując zlokalizować plik aplikacji, tak aby użytkownik nie musiał tego robić samodzielnie. Aby zamapować dysk wyszukiwania, nie przypisuje się określonej litery dysku. Zamiast tego używa się litery S, po której następuje numer. NetWare 5 samo przypisuje litery dyskom wyszukiwania, w kolejności odwrotnej, począwszy od Z. (Można zamapować do 16 dysków wyszukiwania; będą one oznaczone literami od Z do K). Na przykład, jeśli jakiś dysk wyszukiwania jest już zamapowany i chcesz zamapować kolejny dysk dla kartoteki SYS:MSWORD, w skrypcie logowania wpisz poniższą linię: MAP S2:=SYS:MSWORD Mapowania dysków wyszukiwania są dodawane do zmiennej środowiskowej DOS PATH systemu DOS w stacji roboczej. Oznacza to że, jeśli wskażesz, że dyskiem wyszukiwania jest Sl, to mapowanie dysku zastąpi pierwszą ścieżkę wyszukiwania DOS-u, która już była ustawiona. Aby uniknąć zastępowania ustawień zmiennej PATH, użyj opcji INS (od słowa „insert", czyli wstaw). Na przykład możesz wpisać MAP INS Sl: zamiast MAP Sl:. Użycie opcji INS powoduje, że mapowanie dla kartoteki SYS:PUBLIC zostanie wstawione na początku zawartości zmiennej PATH, zaś oryginalna pierwsza ścieżka wyszukiwania znajdzie się na drugim miejscu. W skryptach logowania pierwszy dysk wyszukiwania powinien być zamapowany na kartotekę PUBLIC. Ta kartoteka zawiera narzędzia NetWare 5 oraz inne często wykorzystywane pliki. Aby zamapować pierwszy dysk wyszukiwania na kartotekę PUBLIC (znajdującą się na wolumenie SYS), użyj poniższego polecenia: MAP INS Sl:=SYS:PUBLIC Ponieważ NetWare 5 przypisuje litery dla dysków wyszukiwania poczynając od końca alfabetu, powyższe polecenie przypisze kartotece SYS:PUBLIC literę Z. Jeśli przejdziesz na dysk Z, ujrzysz po prostu zawartość kartoteki PUBLIC. Zamiast mapować dyski wyszukiwania w kolejności (S3, S4, S5 itd), możesz dla każdego dysku użyć oznaczenia S16, jeśli tylko nie ma potrzeby stosować określonej kolejności lub litery dysku. Każde polecenie MAP S16 spowoduje wstawienie mapowania dysku na koniec listy. Dzięki temu lista wyszukiwania staje się bardziej elastyczna. Na przykład, jeśli usuniesz jedno z mapowań, pozostałe przesuną się automatycznie. Oprócz tego unikasz niebezpieczeństwa zastąpienia dysku wyszukiwania, który może już istnieć w którymś z wykonywanych wcześniej skryptów. Opcje polecenia MAP Zadanie Mapowanie dysków w kolejności, bez określania liter dysków Opis Jeśli nie chcesz określać konkretnych liter dysków, możesz zamapować w kolejności wszystkie dostępne dyski. Jest to użyteczne, gdy nie wiesz, jakie litery dysków zostały zamapowane w poprzednich skryptach logowania. Aby przypisać litery dysków w ten sposób, użyj gwiazdki, po której następuje liczba. Na przykład, aby otrzymać pierwszy i drugi dostępny dysk, powinieneś użyć poniższych poleceń: 5 MAP *1:=VOL1:APPS\WP MAP *2:=VOL l :DATA\REPORTS Mapowanie następnego dostępnego dysku Usuwanie mapowania dysku Wyłączenie ekranu mapowania Włączenie ekranu mapowania Mapowanie pozornej kartoteki głównej Mapowanie dysku na obiekt typu Directory Map Aby zamapować następny dostępny dysk, użyj litery N (bez dwukropka), tak jak w poniżsym poleceniu: MAPNVOL1:APPS\WP Aby usunąć mapowanie na przykład dysku G, użyj poniższego polecenia: MAP DEL G Gdy polecenie MAP jest wywoływane w skrypcie logowania, na ekranie zostaje wyświetlona informacja o przypisanych literach dysków. Aby wyłączyć wyświetlanie tej informacji, użyj poniższego polecenia: MAP DISPLAY OFF Na końcu skryptu logowania możesz włączyć wyświetlenie informacji o przypisanych literach dysków. Aby otrzymać podsumowanie mapowania, na końcu lub w pobliżu końca skryptu umieść następujące polecenia: MAP DISPLAY ON MAP Niektóre aplikacje muszą być instalowane w głównej kartotece wolumenu lub dysku. Jeśli wolałbyś raczej zainstalować aplikację w podkartotece, możesz tak zrobić, a następnie zamapować pozorną kartotekę główną. Pozorna kartoteka główna powoduje że podkartoteka wydaje się kartoteką główną dysku, dzięki czemu aplikacja działa prawidłowo. Pozorną kartotekę główną możesz zamapować jako zwykłą literę dysku lub jako literę dysku wyszukiwania. Aby zamapować dysk H jako pozorną kartotekę główną dla podkartoteki VOL1:APPS\CAD, użyj polecenia: MAP ROOT H:=VOL1 :APPS\CAD Możesz stworzyć obiekt NDS o nazwie Directory Map (odwzorowanie kartoteki), wskazujący konkretną kartotekę. Następnie możesz mapować dyski do tego obiektu zamiast do rzeczywistej ścieżki dostępu. W ten sposób, jeśli kiedyś przeniesiesz kartotekę do innej części systemu plików, wystarczy że zmienisz jedynie właściwości obiektu Directory Map, bez konieczności zmiany wszystkich skryptów logowania. Najlepiej jest stworzyć obiekt Directory Map w bieżącym kontekście użytkownika. Jeśli obiekt Directory Map jest w innej części drzewa kartotek, stwórz w bieżącym kontekście użytkownika obiekt Alias dla obiektu Directory Map. Aby zamapować dysk wyszukiwania dla obiektu Directory Map o nazwie Database, użyj polecenia: MAPS16:=DATABASE 6