Centrum Skryptow - Systemy Operacyjne

Skrypty: Twoje pierwsze kroki Udostępnij na: Facebook

Autor: Skrypciarze

Opublikowano: 28 września 2009

Zawartość strony
 Krok 1   Krok 1
 Ale do czego właściwie służą skrypty?   Ale do czego właściwie służą skrypty?
 Ale to wygląda jak kod   Ale to wygląda jak kod
 Uruchamianie skryptów   Uruchamianie skryptów
 A co z tymi skrótami?   A co z tymi skrótami?
 Korzystanie z witryny Script Center   Korzystanie z witryny Script Center
 Jesteście zdani sami na siebie… z reguły   Jesteście zdani sami na siebie… z reguły
 Dodatkowa frajda dla początkujących   Dodatkowa frajda dla początkujących

Dawno temu, jeszcze zanim na świat przyszli Skrypciarze, ludzie mieli w zwyczaju chodzić z jednego miejsca w drugie. Nie dla zdrowia czy rekreacji, ale ponieważ chcieli dokądś dotrzeć. Ci szczęśliwcy, którzy posiadali alternatywne środki transportu, mogli poruszać się nieco szybciej na swoich koniach, wielbłądach, słoniach czy innych lokalnych zwierzętach jucznych (stojąc w wielokilometrowym korku, rozważamy niekiedy opcję przerzucenia się na ten środek transportu).

Później pojawiła się ta dziwna maszyna nazywana powozem bez koni. Wiele osób kpiło z niej. Mówili: „To tylko chwilowa moda” „Dlaczego ktoś chciałby podróżować czymś takim?”, a nawet „To zbyt niebezpieczne”. Ale pojawiła się także garstka wizjonerów, którzy stwierdzili: „Super, też chcę spróbować”. Ta ostatnia grupa nie tylko przewidziała, ile radości może przynieść samochód, ale także że któregoś dnia pozwoli skrócić czas podróży z miejsca na miejsce o godziny, a nawet dni.

Obecnie niektórzy przejawiają takie podejście do skryptów, jak nasi przodkowie do samochodów wiele lat temu: „Do czego potrzebne mi są skrypty?”, „Skrypty stanowią domenę fanatyków, którzy nie chcą uruchamiać systemu w normalny sposób”, a nawet „Skrypty są niebezpieczne”. Ale w rzeczywistości nie trzeba być wizjonerem ani ryzykantem, aby wypróbować możliwości skryptów. Wystarczy być osobą, której zależy na czasie (tylko fanatycy uważają, że tworzenie skryptów to świetna zabawa). Skrypty nie tylko przyspieszają realizację zadań, ale także ułatwiają ją. A po poznaniu podstawowych reguł praca z nimi wcale nie jest trudna.

Krok 1

C:\>cscript test.vbs

To pierwsza rzecz, którą należy zapamiętać, aby rozpocząć stosowanie skryptów do zarządzania systemami Microsoft Windows. Właściwie to druga rzecz, jaką należy zapamiętać. Pierwszą stanowi adres witryny Script Center, ale ponieważ jakoś tu dotarliście, zdecydowaliśmy się pominąć ten rok.

W witrynie Script Center (oraz przypuszczalnie w wielu innych miejscach w Internecie, ale możemy ręczyć tylko za siebie) znaleźć można wiele gotowych do użyciach skryptów. Skrypt może wyglądać w następujący sposób:

Wscript.echo "My very first script."

Tak, ta jedna linia to skrypt. To bardzo prosty skrypt, większość jest nieco dłuższa, ale to nadal jest skrypt. Pewnie zastanawiacie się, co zrobić z tą jedną linią. To bardzo proste:

  • Otwórzcie Notatnik.
  • Skopiujcie skrypt z przeglądarki i wklejcie go w Notatniku.
  • Zapiszcie skrypt jako plik z rozszerzeniem .vbs, np. test.vbs.

A teraz wystarczy otworzyć okno poleceń, przejść do folderu, w którym zapisany został plik i wpisać następujący kod:

 

cscript test.vbs

Jeśli wykorzystaliście przedstawiony powyżej krypt, efekt powinien być następujący:

My very first script.

Uwaga: Prawdopodobnie niektórzy czytelnicy denerwują się teraz: „Hej, to nie działa! O co chodzi?” Nie martwcie się, nie jesteście sami. Typowy błąd podczas realizacji podanej przez nas instrukcji wynika ze sposobu działania funkcji Save As (Zapisz jako). Jeśli wybraliście opcję Save As w Notatniku i wpisaliście nazwę pliku w polu File Name (Nazwa pliku), uczynny Notatnik doda rozszerzenie .txt do podanej nazwy. A zatem jeśli wpiszecie test.vbs, uzyskacie w efekcie plik o nazwie test.vbs.txt. Można zapobiec temu niepożądanemu zjawisku na dwa sposoby, możecie zastosować dowolny z nich:

  • Umieśćcie nazwę pliku w podwójnym cudzysłowie. Zamiast wpisywać test.vbs w polu File Name wpiszcie “test.vbs”.
  • Wybierzcie opcję All Files (Wszystkie pliki) z listy rozwijanej Save As Type (Zapisz jako typ) przed kliknięciem przycisku Save (Zapisz).

Przy pomocy tej samej procedury można uruchomić prawie każdy skrypt zaprezentowany w Script Center. Powodzenia!

 Do początku strony Do początku strony

 

Ale do czego właściwie służą skrypty?

A więc chcecie dowiedzieć się więcej? Okay, zatrzymajmy się na moment (a właściwie wróćmy do kroku zero) i porozmawiajmy o tym, czym są skrypty i dlaczego warto z nich korzystać.

Skrypty umożliwiają automatyzację procesu przekazywania i pobierania informacji z komputera (lub komputerów). Nasz pierwszy skrypt działał w następujący sposób: przekazaliśmy zdanie do komputera i otrzymaliśmy to samo zdanie z powrotem z komputera. Funkcja ta nie wydaje się może zbyt przydatna, ale to tylko pierwszy krok. A jeden krok nie wystarcza nawet, żeby wyjść z pokoju, a co dopiero pokonać całą drogę (w zasadzie jeden ze Skrypciarzy mieszkał kiedyś w apartamencie, w którym można było pokonać pokój jednym krokiem, ale z niejasnych przyczyn nie lubi wracać do tych wspomnień, ten apartament był niewiele przydatniejszy niż nasz pierwszy skrypt). Istnieje wiele sytuacji, w których skrypty są bardzo przydatne. Oto kilka z nich:

  • Do regularnego wykonywania serii zadań administracji systemem
  • Do wykonywania serii zadań administracji systemem na wielu komputerach
  • Do scalania i przetwarzania danych wynikowych pobranych z komputera
  • Do uruchamiania zadań, gdy nie ma nikogo, kto mógłby podjąć interakcję z interfejsem graficznym
  • Do powtarzania wielokrotnie tych samych akcji podczas każdego uruchomienia zadania

Jeśli pomyślicie o realizowanych ostatnio zadaniach administracji systemem, z pewnością przyjdzie Wam do głowy kilka operacji, które warto zautomatyzować przy użyciu skryptów.

 Do początku strony Do początku strony

 

Ale to wygląda jak kod

Być może przejrzeliście już witrynę Script Center, może nawet przeczytaliście któryś z artykułów Hey, Scripting Guy! i widzieliście skrypt podobny do następującego:

strComputer = "."

Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")

Set colProcesses = objWMIService.ExecQuery _

    ("Select * from Win32_Process Where Name = 'Dfrgntfs.exe'")

If colProcesses.Count = 0 Then

    Wscript.Echo " Dfrgntfs.exe is not running."

Else

    Wscript.Echo " Dfrgntfs.exe is running."

End If

A teraz myślicie sobie: „Te skrypty wyglądają na dość skomplikowaną sprawę”. Wierzcie lub nie, ale skrypty nie są przeznaczone tylko dla profesjonalnych programistów, którzy korzystają zwykle z bardziej zaawansowanych i złożonych narzędzi. Oczywiście skrypty także mogą być zaawansowane i złożone, ale można również pisać dość proste, aczkolwiek bardzo przydatne skrypty. W związku z tym nie obawiajcie się podobieństwa do „kodu”, wiele zadań można realizować w prosty sposób bez żadnego doświadczenia programistycznego.

Zaletą skryptów, która odróżnia je od innych technologii programistycznych, jest to, że wszystkie niezbędne komponenty są wbudowane w system operacyjny. Za chwilę pokrótce omówimy pewne skróty, takie jak VBScript, WSH czy WMI, ale już teraz możemy zaznaczyć, iż stanowią one część środowiska skryptowego i wszystkie są wbudowane w system Windows. Do pisania skryptów nie potrzebujemy fikuśnego, drogiego oprogramowania. Jak mogliście się przekonać, tak naprawdę wystarczy Notatnik, który także jest dostępny w systemie.

Co więcej, technologie skryptowe zostały zaprojektowane specjalnie po to, aby pomóc w administrowaniu systemem operacyjnym. Nawet najbardziej utalentowany programista nie zdecydowałby się na stworzenie przy ich użyciu zaawansowanej aplikacji, takiej jak Word czy Excel. Skrypty umożliwiają automatyzowanie zadań administracji systemem.

Należy pamiętać, że w tym artykule (oraz prawie wszystkich artykułach opublikowanych w witrynie Script Center) zajmujemy się skryptami służącymi do administracji systemem. Istnieją również inne technologie skryptowe (np. webowe), ale to już nie nasza działka.

Język VBScript to nie jedyny język skryptowy, a Notatnik to nie jedyne narzędzie służące do pisania skryptów. Ale tym zagadnieniem możecie się zająć sami, gdy już zdobędziecie pewne doświadczenie. Większość skryptów oraz przykładów zamieszczonych w witrynie Script Center wykorzystuje język VBScript.

WAŻNE: I ostatnia, bardzo istotna uwaga dotycząca skryptów do administrowania systemem. Do uruchamiania większości skryptów, a przynajmniej tych robiących coś naprawdę ciekawego, konieczne są uprawnienia lokalnego administratora na maszynie, na której działa skrypt. Wykonanie dużej części skryptów dostępnych w Script Center nie powiedzie się, jeśli nie będziecie ich uruchamiać w kontekście lokalnego administratora.

 Do początku strony Do początku strony

 

Uruchamianie skryptów

Dość teorii, wróćmy do uruchamiania skryptów. Pokazaliśmy już, jak wykonywać skrypt z wiersza polecenia przy użyciu Cscript (czytelnikom, których tak podekscytował nagłówek “Uruchamianie skryptów”, że przeszli od razu do tego miejsca, zalecamy uspokojenie się i powrót do sekcji zatytułowanej Krok 1). Można także uruchamiać skrypty, podwójnie klikając je w oknie My Computer (Mój komputer) lub Windows Explorer. Różnica polega na tym, że wynik nie zostanie ładnie wydrukowany w oknie polecenia, lecz pojawi się w wyskakującym oknie komunikatu. Wypróbujcie następującą metodę na stworzonym skrypcie: podwójnie kliknijcie plik test.vbs. Powinno pojawić się okno komunikatu podobne do następującego:

Rysunek 1: Okno komunikatu.

To było proste. Dlaczego od razu nie skorzystaliśmy z tej metody? Po co nam okno polecenia? Zanim odpowiemy na te pytania, przetestujcie kolejny przykład: wklejcie następujący skrypt do Notatnika i zapiszcie go jako plik z rozszerzeniem .vbs, a następnie podwójnie kliknijcie plik.

For i = 1 to 5

    Wscript.echo i

Next

Co się stało, trzeba było kliknąć przycisk OK w pięciu różnych oknach komunikatu? A teraz wyobraźcie sobie, że skrypt zwraca listę wszystkich procesów uruchomionych na komputerze lub nazwy wszystkich komputerów w domenie. To klikanie mogłoby chwilę potrwać. Gdy skrypt jest wykonywany przy użyciu programu Cscript, przesyła wszystkie dane wyjściowe prosto do wiersza polecenia i nie mamy do czynienia z tymi wszystkimi oknami komunikatu.

Dodatkowe informacje na temat uruchamiania skryptów znaleźć można w artykule Running WSH Scripts w dokumentacji Windows 2000Scripting Guide.

 Do początku strony Do początku strony

 

A co z tymi skrótami?

Ponieważ obiecaliśmy je omówić, a Skrypciarze nigdy nie kłamią (no może poza sporadycznym „Tak, świetnie Ci w nowej fryzurze”), oto krótka definicja wybranych technologii związanych ze skryptami wraz z łączami do sekcji dokumentacji Windows 2000Scripting Guide, które objaśniają je w sposób bardziej szczegółowy:

  • VBScript – Visual Basic, Scripting Edition. Język skryptowy dostępny domyślnie w systemie Microsoft Windows. Patrz VBScript Primer.
  • WSH – Windows Script Host. Środowisko uruchamiania skryptów. Patrz WSH Primer.
  • WMI – Windows Management Instrumentation. Technologia dostarczająca zasoby służące do zarządzania systemami operacyjnymi Windows przy pomocy skryptów. Patrz WMI Scripting Primer.
  • ADSI – Active Directory Service Interfaces. Technologia dostarczająca zasoby do zarządzania Active Directory oraz innymi usługami katalogowymi przy pomocy skryptów. Patrz ADSI Scripting Primer.

 Do początku strony Do początku strony

 

Korzystanie z witryny Script Center

Script Center oferuje wiele zasobów pomocnych zarówno w rozpoczynaniu nauki, jak i pogłębianiu wiedzy.

Learn to Script. Najlepiej rozpocząć od strony Learn to Script. Zawiera ona łącza do dokumentacji Windows 2000 Scripting Guide (1200 stronicowa książka dostępna online), różnych artykułów, laboratoriów wirtualnych oraz webcastów dostępnych na żądanie. Na początku warto obejrzeć webcasty z Scripting Week 1, mogą się one okazać bardzo pomocne.

Script Repository. Kolejny dział, w którym będziecie prawdopodobnie spędzać sporo czasu, to repozytorium skryptów. Tu możecie znaleźć tysiące gotowych do użycia skryptów. Po co poświęcać czas na pisanie nowego skryptu, jeśli można za darmo go skopiować? Gdy nie możecie znaleźć dokładnie tego, czego szukacie, może uda Wam się odszukać coś podobnego, aby po dokonaniu kilku prostych zmian osiągnąć upragniony cel. Pamiętajcie, że skrypty w witrynie Script Center zwykle nie zawierają obsługi błędów. W związku z tym gdy zdobędziecie już pewne doświadczenie i Wasze skrypty zaczną stawać się coraz bardziej złożone, polecamy zapoznanie się z artykułem Error Handling dostępnym w sekcji Windows 2000Scripting Guide.

Scripting Tools. Script Center zawiera także łącza do wielu narzędzi, które można pobrać (nawet za darmo) i które pomagają w pisaniu skryptów.

Scripting For…. Jeśli chcecie rozwiązać problem związany z określonym obszarem administracji systemem takim jak np. Desktop Deployment czy Windows Server 2003, zajrzyjcie do działu witryny Script Center poświęconego tej technologii.

 Do początku strony Do początku strony

 

Jesteście zdani sami na siebie… z reguły

Zanim pójdziecie własną drogą, chcemy podzielić się z Wami pewną pomocną wskazówką: skrypty nie uwzględniają wielkości liter. Istnieje jeden lub dwa wyjątki, co zawsze sygnalizujemy, ale z reguły różna wielkość liter służy wyłącznie do zwiększenia czytelności skryptu. W związku z tym następujący skrypt (który generuje losowe liczby):

intHighNumber = 100

intLowNumber = 1

For i = 1 to 5

    Randomize

    intNumber = Int((intHighNumber - intLowNumber + 1) * Rnd + intLowNumber)

    Wscript.Echo intNumber

Next

będzie działał tak samo jak następujący:

inthighnumber = 100

intlownumber = 1

for i = 1 to 5

    randomize

    intnumber = int((inthighnumber - intlownumber + 1) * rnd + intlownumber)

    wscript.echo intnumber

Next

A teraz możecie już zainteresować się pozostałą częścią witryny Script Center i zabrać się do pracy. Jeśli napotkacie problem nie do pokonania, możecie wysłać e-mail na adres scripter@microsoft.com (w języku angielskim, jeśli to możliwe), może będziemy mogli pomóc. Udanej zabawy i powodzenia!

 Do początku strony Do początku strony

 

Dodatkowa frajda dla początkujących

Mamy nadzieję, że spodobało Wam się nasze wprowadzenie do skryptów i co ważniejsze, iż okazało się ono pomocne. Początkującym twórcom skryptów polecamy serię Sesame Script!

 Do początku strony Do początku strony  

Centrum Skryptow - Systemy Operacyjne