Windows PowerShell

Article on other languages:

del.icio.us del.icio.us
Digg Digg
Furl Furl
Reddit Reddit
Rojo Rojo
Add to OnlyWire

Windows PowerShell (poprzednio Microsoft Shell lub MSH, nazwa kodowa Monad) to interpreter poleceń opracowany przez firmę Microsoft. Jest on znacznie rozbudowanym następcą takich interpreterów jak command.com czy cmd.exe. Został wydany w 2006 roku i jest obecnie dostępny dla Windows XP SP2, Windows 2003, Windows Vista i jest wbudowany w Windows 2008 jako cecha opcjonalna (nie instalowana automatycznie).

PowerShell jest zintegrowany z .NET Framework i dostarcza środowisko do wykonywania zadań administracyjnych przez uruchmianie 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.

Charakterystyczną cechą PowerShell, odróżniającą go od innych interpreterów poleceń jest obiektowa logika. 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ć, faktycznie 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) na pierwszy rzut oka zwraca listę plików i katalogów w bieżącej lokalizacji. Z otrzymanej przez Get-ChildItem | Get-Member listy, widać jednak że można prosto zastosować metodę Delete czy sięgnąć do właściwości LastAccessTIme czy Attributes.

Warto również zwrócić uwagę, że praktycznie każda funkcja dostępna przez API systemu (czyli de facto każda rzecz, którą w Windows można zrobić) jest możliwa do wywołania z PowerShell. Oznacza to, że nie ma takiej rzeczy związanej z zarządzaniem systemem, której nie dałoby się wykonać poprzez skrypt PowerShell.


Spis treści

Cmdlets

Poniższa tabela zawiera wybór z ponad 129 Cmdlets dostarczanych z PowerShell w porównaniu do odpowiadających im komend z konkurencyjnych interpreterów komend. Każde polecenie składa się z dwóch części: czasownikowej (get, set, clear itp.) oraz rzeczownikowej (location, host, process itp.). Dzięki temu nauczenie się dwóch stosunkowo niedługich list słów kluczowych pozwala na praktyczne użycie ponad stu dostępnych poleceń. Polecenia dotyczące zwykle plików i katalogów mają znacznie szersze działanie i dotyczą obiektów w dowolnej przestrzeni nazw. Przykładowo mogą dotyczyć równie dobrze plików jak i gałęzi w rejestrze.

Windows PowerShell
(Cmdlet)
Windows PowerShell
(Alias)
cmd.exe / COMMAND.COM
(MS-DOS, Windows, OS/2, etc.)
Bash
(Unix, BSD, GNU/Linux, etc.)
Opis
Set-Location sl, cd, chdir cd, chdir cd Zmienia aktualną lokalizację (katalog, gałąź rejestru, repozytorium certyfikatów)
Clear-Host cls, clear cls clear Czyści ekran
Copy-Item cpi, copy, cp copy cp Kopiuje obiekty (np. pliki) lub fragment struktury (np. drzewo katalogów)
Get-Help help, man help man Wyświetla pomoc do komend
Remove-Item ri, del, rmdir, rd, rm del, rmdir, rd rm, rmdir Usuwa obiekt (plik, katalog itp.)
Rename-Item rni, ren ren mv Zmienia nazwę obiektu (pliku, katalogu itp.)
Get-ChildItem gci, dir, ls dir ls Zwraca wszystkie obiekty w bieżącej lokalizacji. (Na przykład pliki w aktualnym katalogu)
Write-Output echo, write echo echo Wyświetla łańcuchy, zmienne itd na ekranie
Pop-Location popd popd popd Zamienia aktualną lokalizację na lokalizację ostatnio przesuniętą na stos
Push-Location pushd pushd pushd Przesuwa aktualną lokalizację na stos
Set-Variable sv, set set set Wyświetla wartość zmiennej/Tworzy zmienną
Get-Content gc, type, cat type cat Wyświetla zawartość obiektu (np. pliku)
Get-Process gps, ps tlist, tasklist ps Wypisuje aktualnie uruchomione procesy
Stop-Process spps, kill kill, taskkill kill Zatrzymuje uruchomiony proces
Tee-Object tee ? tee Tuneluje wejście do pliku lub zmiennej, przenosi wejście wzdłuż tunelu

Przykłady

Jedne z najbardziej przydatnych:

  • Zatrzymuje wszystkie procesy zaczynające się na "c":
 PS> get-process c* | stop-process
  • Szuka procesu, który zużywa więcej niż 300 MB i wyłącza (ang. kill)go.
 PS> get-process | where { $_.WS -gt 300MB } | stop-process


Rozszerzenia plików

  • PS1 – skrypty powłoki (ang. shell) Windows PowerShell - Uwaga! Domyślne ustawienia PowerShell nie pozwalają na uruchamianie skyptów nie podpisanych cyfrowo. Ustawienie to można prosto zmienić poleceniem Set-ExecutionPolicy.
  • PS1XML – typ i struktura danych Windows PowerShell
  • PSC1 – plik konsoli Windows PowerShell

Linki zewnętrzne

This article is from Wikipedia. All text is available under the terms of the GNU Free Documentation License.


Giant Panda

Mercedes Car
James Bond Guide
This site monitored by SitePinger.net