Windows PowerShell

Z Wikipedii, wolnej encyklopedii
Przejdź do nawigacji Przejdź do wyszukiwania

PowerShell (poprzednio Windows PowerShell, Microsoft Shell lub MSH, nazwa kodowa Monad) – interpreter poleceń opracowany przez firmę Microsoft. Początkowo był to składnik systemu Windows, znany jako Windows PowerShell. Wraz z wprowadzeniem PowerShell Core jest to oprogramowanie wieloplatformowe oraz open-source.

Serializacja – w programowaniu komputerów proces przekształcania obiektów, tj. instancji określonych klas, do postaci szeregowej, czyli w strumień bajtów, z zachowaniem aktualnego stanu obiektu. Serializowany obiekt może zostać utrwalony w pliku dyskowym, przesłany do innego procesu lub innego komputera poprzez sieć. Procesem odwrotnym do serializacji jest deserializacja. Proces ten polega na odczytaniu wcześniej zapisanego strumienia danych i odtworzeniu na tej podstawie obiektu klasy wraz z jego stanem bezpośrednio sprzed serializacji.cmd.exe – interpreter poleceń stosowany w rodzinie systemów operacyjnych Microsoft Windows NT (włączając Windows 2000, XP, 2003, Windows Vista i Windows 7), Windows CE oraz OS/2.

Jest znacznie bardziej rozbudowany w stosunku do wcześniejszych interpreterów COMMAND.COM i cmd.exe, stosowanych w systemach operacyjnych MS-DOS i Microsoft Windows. PowerShell został wydany w 2006 roku i jest dostępny dla Windows XP SP2, Windows Server 2003 i nowszych oraz Linux i OS X. Jest wbudowany w Microsoft Windows Server 2008 i Microsoft Windows Server 2012 jako cecha opcjonalna (nie instalowana automatycznie).

Windows XP (nazwa kodowa Whistler) – wersja systemu operacyjnego Microsoft Windows z rodziny Windows NT (oparty na jądrze NT) firmy Microsoft, wydana oficjalnie 25 października 2001 roku. Koniec wsparcia technicznego dla tego systemu operacyjnego planowany jest na 8 kwietnia 2014.WMI (ang. Windows Management Instrumentation) – zestaw protokołów i rozszerzeń systemu Windows umożliwiających zarządzanie i dostęp do zasobów komputera, takich jak adaptery sieciowe, aktualnie otwarte programy, lista procesów, odczyty z wbudowanych czujników temperatury, odczytów woltomierzy itp.

PowerShell jest zintegrowany z .NET Framework i dostarcza środowisko do wykonywania zadań administracyjnych wykonywanych poleceniami cmdlets.

Od 2008 roku, common criteria (lista warunków, które muszą zostać spełnione) dla wszystkich produktów serwerowych Microsoft zawiera zarządzanie przez PowerShell. Oznacza to, że przy pomocy interpretera poleceń wykonać można każde działanie administracyjne na każdym współczesnym produkcie. Dzięki temu znacząco ujednolica i upraszcza się skryptowe zarządzanie środowiskiem.

Ścieżka dostępu – ciąg znaków określający położenie dowolnego obiektu w strukturze katalogu na dysku twardym lub innym nośniku danych (CD, pendrive itp.). Najczęściej ma postać listy katalogów odseparowanych ukośnikami (ang. slashem, "/") w systemach Unix i adresach internetowych oraz backslashem ("") w systemach Windows.C# (C Sharp, dosłownie "C-krzyżyk", "cis") – obiektowy język programowania zaprojektowany przez zespół pod kierunkiem Andersa Hejlsberga dla firmy Microsoft.

Charakterystyczną cechą PowerShell, odróżniającą go od innych interpreterów poleceń, jest logika obiektowa. Wynikiem każdego polecenia nie jest ciąg znaków na ekranie, ale obiekt określonego typu. W przypadku braku wskazania, co z danym obiektem należy zrobić, część jego właściwości wyświetlana jest na ekranie. Możliwe jest jednak bardziej zaawansowane wykorzystanie metod i właściwości zwróconego obiektu. Przykładowo polecenie Get-ChildItem (lub jego alias dir albo ls) zwraca listę plików i katalogów w bieżącej lokalizacji. Z otrzymanej przez Get-ChildItem | Get-Member listy, widać jednak, że można łatwo zastosować metodę Delete, bądź sięgnąć do właściwości LastAccessTime czy Attributes.

Analizator składniowy lub parser – program dokonujący analizy składniowej danych wejściowych w celu określenia ich struktury gramatycznej w związku z określoną gramatyką formalną. Nazwa analizator składniowy podkreśla analogię z analizą składniową stosowaną w gramatyce i językoznawstwie. Analizator składniowy umożliwia przetworzenie tekstu czytelnego dla człowieka w strukturę danych przydatną dla oprogramowania komputera.Microsoft Windows (ang. windows „okna”, IPA: [maɪkɹoʊsɑːft ˈwɪndoʊz]) – rodzina systemów operacyjnych stworzonych przez firmę Microsoft. Systemy rodziny Windows działają na serwerach, systemach wbudowanych oraz na komputerach osobistych, z którymi są najczęściej kojarzone.

Każda funkcja dostępna przez API systemu jest możliwa do wywołania z PowerShell. Oznacza to, że nie ma takiej opcji związanej z zarządzaniem systemem, której nie dałoby się wykonać poprzez skrypt PowerShell.

Projekt[ | edytuj kod]

Polecenia cmdlet[ | edytuj kod]

Cmdlety są specjalnymi komendami w środowisku PowerShell, które implementują konkretne funkcje. Są one rodzimymi komendami w stosie PowerShell. Ich nazwy są tworzone na zasadzie Czasownik-Rzeczownik, np. Get-ChildItem, przez co ich nazwa jednocześnie opisuje działanie komend. Cmdlety zwracają rezultaty w postaci obiektów lub ich zbiorów (także w postaci tablic) i mogą opcjonalnie odbierać dane wejściowe w tej formie, czyniąc je odpowiednimi do użycia w roli „odbiorców” w potoku. Gdy jednak PowerShell zezwala na zapisywanie w potoku tablic i innych zbiorów obiektów, cmdlety zawsze przetwarzają obiekty indywidualnie. W przypadku zbiorów obiektów, PowerShell kolejno wywołuje cmdlet'a na każdym obiekcie ze zbioru.

Certyfikat klucza publicznego – informacja o kluczu publicznym podmiotu, która dzięki podpisaniu przez zaufaną trzecią stronę jest niemożliwa do podrobienia.Interfejs programowania aplikacji (ang. Application Programming Interface, API) – sposób, rozumiany jako ściśle określony zestaw reguł i ich opisów, w jaki programy komunikują się między sobą. API definiuje się na poziomie kodu źródłowego dla takich składników oprogramowania jak np. aplikacje, biblioteki czy system operacyjny. Zadaniem API jest dostarczenie odpowiednich specyfikacji podprogramów, struktur danych, klas obiektów i wymaganych protokołów komunikacyjnych.

Cmdlety są wyspecjalizowanymi klasami .NET, których instancje są tworzone i wywoływane przez runtime PowerShella w trakcie działania środowiska. Cmdlety wywodzą się zCmdlet lub z PSCmdlet; PSCmdlet była używana gdy zachodziła konieczność interakcji cmdleta z runtime PowerShella. Te klasy bazowe definiowały konkretne metody - BeginProcessing(), ProcessRecord() oraz EndProcessing() – które były przeciążane przez implementację cmdlet'a w celu zapewnienia funkcjonalności. Gdy tylko cmdlet był uruchamiany, PowerShell kolejno wywoływał te metody, a ProcessRecord() była wywoływana gdy otrzymała dane wejściowe potoku. Jeśli wysłano kolekcję obiektów, metoda jest wywoływana osobno dla każdego z nich. Klasa implementująca Cmdlet'a musi mieć jeden atrybut .NET - CmdletAttribute – określa on czasownik i rzeczownik, które tworzą nazwę cmdleta. Wspólne czasowniki są numerowane.>

Atrybut – element składni języka programowania, który określa konkretną właściwość (znaczenie), nadaną wybranemu elementowi (obiektowi).Interpreter (interpretator) poleceń (ang. command processor) – część systemu operacyjnego odpowiedzialna za tłumaczenie poleceń systemowych wprowadzanych przez użytkownika w trybie konwersacyjnym.

Jeśli cmdlet otrzyma dane wejściowe z potoku lub z parametru wiersza poleceń, w klasie musi być odpowiednia właściwość, wraz z zaimplementowanym mutatorem. PowerShell wywołuje mutatora poprzez wartość parametru lub przez dane wejściowe potoku, które mutator zapisuje jako zmienne w klasie. Następnie do tych wartości odnoszą się metody, które implementują tą funkcjonalność. Właściwości które mapują się do parametrów wiersza poleceń są oznaczone przez ParameterAttribute i zdefiniowane, zanim nastąpi odwołanie do metodyBeginProcessing(). Te które odnoszą się do danych wejściowych potoku są również określone przez ParameterAttribute, ale mają zdefiniowany parametrValueFromPipeline.

Library of Congress Control Number (LCCN) – numer nadawany elementom skatalogowanym przez Bibliotekę Kongresu wykorzystywany przez amerykańskie biblioteki do wyszukiwania rekordów bibliograficznych w bazach danych i zamawiania kart katalogowych w Bibliotece Kongresu lub u innych komercyjnych dostawców. System operacyjny (ang. Operating System, skrót OS) – oprogramowanie zarządzające systemem komputerowym, tworzące środowisko do uruchamiania i kontroli zadań użytkownika.

Implementacja takich klas cmdletów może odwołać się do dowolnego API w .NET i może być napisana w dowolnym języku .NET. Dodatkowo PowerShell udostępnia konkretne interfejsy, takie jak WriteObject(), używany do korzystania ze specyficznych funkcjonalności PowerShell, jak np. zapisywanie obiektów wynikowych do potoku. Cmdlety mogą uzyskać bezpośredni dostęp do danych .NET lub za pomocą infrastruktrury Dostawców PowerShella, dzięki którym zbiory danych są adresowalne przy użyciu unikalnych ścieżek. Te zbiory są oznaczone literami dysków (oraz zaadresowane jako katalogi). Usługodawcy PowerShella zapewniają dostęp do m.in. systemu plików, rejestru, zbioru certyfikatów, a także do przestrzeni nazw dla aliasów komend, zmiennych i funkcji. PowerShell zawiera także różnorodne cmdlety do zarządzania poszczególnymi systemami Windows, a także systemami plików. Ponadto mogą one wykorzystać narzędzie WMI do kontroli komponentów systemu Windows. Inne aplikacje mogą rejestrować cmdlety za pośrednictwem PowerShella, tym samym pozwalając środowisku na zarządzanie nimi.

Windows Server 2003 – wersja systemu Windows, oparta na edycji XP, przeznaczona do zastosowań serwerowych (NT Server). System wydany został 24 kwietnia 2003, a podstawowe wsparcie techniczne zakończyło się 13 lipca 2010.SourceForge – darmowy system zarządzania i kontroli projektów Open Source, skomercjalizowany również do closed-source license. Projekty udostępniane są w wersjach dla różnych systemów operacyjnych, najczęściej jednak dla Linuksa i Windowsa.

PowerShell V2 zawiera nieco bardziej "przenośną wersję" Cmdletów, które są nazywane modułami. PowerShell V2 wydał następujące oświadczenie:

"Moduły pozwalają programistom i administratorom skryptów na podział i organizację swojego kodu w PowerShell w samodzielne segmenty wielokrotnego użytku. Kod z segmentu wykonuje we własnym autonomicznym kontekście i nie wywiera wpływu na obiekty poza nim. Moduły pozwalają także definiować ograniczone środowisko za pomocą skryptu."

W programowaniu obiektowym klasa jest częściową lub całkowitą definicją dla obiektów. Definicja obejmuje dopuszczalny stan obiektów oraz ich zachowania. Obiekt, który został stworzony na podstawie danej klasy nazywany jest jej instancją. Klasy mogą być typami języka programowania - przykładowo, instancja klasy Owoc będzie mieć typ Owoc. Klasy posiadają zarówno interfejs, jak i strukturę. Interfejs opisuje, jak komunikować się z jej instancjami za pośrednictwem metod, zaś struktura definiuje sposób mapowania stanu obiektu na elementarne atrybuty.Mapowanie – w informatyce przyporządkowanie jednych zasobów systemowych do drugich, często wirtualnych – zmiana przestrzeni adresowej (m.in. mapowanie plików, partycji, pamięci operacyjnej, portów I/O komputera, adresów IP, zasobów sieciowych).

Potoki[ | edytuj kod]

Podobnie jak w systemie Linux, cmdlety PowerShell można ze sobą łączyć za pomocą potoków (ang. pipeline). Łączenie polega na tym, że dane wyjściowe jednego polecenia są uwzględnione, lub będą działać jako wejście do innego polecenia. Przykładowo, rezultat polecenia Get-Process można doprowadzić za pomocą potoku do Where-Object w celu odfiltrowania każdego procesu który ma poniżej 10 MB pamięci stronicowanej, a następnie do komendy Sort-Object (by np. sortować obiekty na podstawie ilości operacji), i ostatecznie do komendy Select-Object w celu wybrania pierwszych 10 procesów.

Wiersz poleceń (ang. Command Line Interface, CLI), to jeden z najczęściej spotykanych sposobów interakcji człowieka z komputerem. Inne przykłady to interfejs tekstowy oraz interfejs graficzny.System plików – metoda przechowywania plików, zarządzania plikami, informacjami o tych plikach, tak by dostęp do plików i danych w nich zgromadzonych był łatwy dla użytkownika systemu; także: wolumin.

Analogicznie jak w przypadku potoków Uniksowych, potoki PowerShell pozwalają na tworzenie złożonych komend, której poszczególne etapy są łączone za pomocą operatora |. Różnica między potokami z obu środowisk polega na tym, że etapy komendy są wykonywane w ramach PowerShella, a nie jako zbiór procesów koordynowany przez system operacyjny, ponadto pomiędzy etapami przekazywane są obiekty .NET zamiast strumienia bajtów. Dzięki korzystaniu z obiektów i wykonywaniu etapów w ramach PowerShella nie ma potrzeby serializacji struktur danych, ani wyodrębniania ich przez bezpośrednie parsowanie tekstu wyjściowego. Obiekt może także enkapsulować konkretne funkcje działające na zawartych w nim danych, do których dostęp będzie miała docelowa komenda. W przypadku ostatniego cmdlet'a w potoku, PowerShell automatycznie łączy jego obiekty wyjściowe do cmdlet'a Out-Default, który przekształca obiekty w strumień sformatowanych obiektów, a następnie wyświetla je na ekranie.

Otwarte oprogramowanie (ang. open source movement, dosł. ruch otwartych źródeł) – odłam ruchu wolnego oprogramowania (ang. free software), który proponuje nazwę open source software jako alternatywną dla free software, głównie z przyczyn praktycznych, a nie filozoficznych.COMMAND.COM – domyślna powłoka (inaczej interpreter poleceń) systemu MS-DOS i niektórych wersji systemu Windows. Tłumaczy polecenia wpisane po znaku zachęty (ang. prompt; zwykle w postaci "C:>" lub "C>") na komendy wykonywalne przez system DOS.

Ponieważ wszystkie obiekty PowerShella są obiektami typu .NET, współdzielą między sobą metodę .ToString(), która zwraca dane z obiektu w formie tekstowej. Dodatkowo, PowerShell pozwala na zdefiniowanie sposobu formatowania: tekstowa reprezentacja obiektów może być skonfigurowana poprzez wybranie, jaki typ danych będzie wyświetlony i w jaki sposób to nastąpi. Jednak w celu zachowania kompatybilności wstecznej, jeśli dojdzie do sytuacji w której zewnętrzny plik wykonywalny zostanie użyty w potoku, otrzyma on strumień tekstu reprezentujący obiekt, zamiast bezpośrednio zintegrować się z systemem typu PowerShell.

Windows Server 2012 - nazwa kodowa "Windows Server 8", jest to szóste wydanie Windows Server, wersja serwerowa systemu Windows 8 i następca Windows Server 2008 R2. Dwie wersje developerskie zostały udostępnione w fazie testów. System był dostępny do kupienia 4 września 2012 roku.Plik wykonywalny, plik uruchamialny (ang. executable) – plik, który może być uruchomiony bezpośrednio w środowisku systemu operacyjnego. Zawiera instrukcję w postaci pozwalającej na jej zrealizowanie przez komputer.


Podstrony: 1 [2] [3] [4] [5]




Warto wiedzieć że... beta

Rejestr Windows, a dokładnie rejestr ustawień w systemach operacyjnych Windows – hierarchiczna baza danych konfiguracyjnych. Są w niej przechowywane informacje o konfiguracji i ustawieniach m.in. użytkowników, urządzeń podłączonych do komputera, a także zainstalowanych programów.
Potok (ang. pipe) – jeden z mechanizmów komunikacji międzyprocesowej umożliwiający wymianę danych pomiędzy dwoma procesami. Odbywa się to najczęściej poprzez połączenie standardowego wyjścia jednego procesu ze standardowym wejściem drugiego.
Microsoft Windows (ang. windows „okna”, IPA: [maɪkɹoʊsɑːft ˈwɪndoʊz]) – rodzina systemów operacyjnych stworzonych przez firmę Microsoft. Systemy rodziny Windows działają na serwerach, systemach wbudowanych oraz na komputerach osobistych, z którymi są najczęściej kojarzone.
MSDN (Microsoft Developer Network) – nazwa portalu i społeczności programistów i deweloperów, skupionych wokół technologii firmy Microsoft. Równocześnie jest to nazwa działu korporacji Microsoft, zajmującego się utrzymywaniem kontaktu z firmami, programistami, deweloperami i testerami oprogramowania: deweloperami sprzętu oraz systemów operacyjnych, tworzących i wykorzystujących API produktów Microsoft oraz języków skryptowych różnych aplikacji.
Właściwość klasy (ang. class property) – specjalny składnik klas w niektórych obiektowych językach programowania, posiadający cechy pola i metody. Właściwości są odczytywane i zapisywane tak jak pola, ale ich odczytywanie i zapisywanie zazwyczaj przebiega przez wywołanie metod. Łatwiej jest czytać i zapisywać pola, niż wywoływać metody, jednak wstawienie poprzez wywołanie metody pozwala na sprawdzanie poprawności danych, aktywowanie kodu aktualizacji (np. wyglądu GUI). Oznacza to, że właściwości są pośrednie między kodem (metody) a danymi (pole) klasy i zapewniają wyższy poziom hermetyzacji niż publiczne pola.
MS-DOS (ang. Microsoft Disk Operating System) to system operacyjny stworzony przez firmę Microsoft na podstawie nabytego przez nią kodu źródłowego systemu QDOS (ang. Quick and Dirty Operating System - napisany szybko i na brudno system operacyjny) stworzonego przez Seattle Computers. Jest to wersja systemu operacyjnego DOS przeznaczona dla komputerów IBM-PC.
Windows Server 2008 – kolejna wersja serwerowego systemu operacyjnego opracowywanego przez firmę Microsoft. Do 15 maja 2007 był znany jedynie pod nazwą kodową Windows Server „Longhorn”. Jest on następcą systemu Windows Server 2003 i został oparty na tym samym jądrze co system Windows Vista SP1. Premiera odbyła się 27 lutego 2008 o godzinie 18:00.

Reklama