PowerShell

Wprowadzenie

  • 2009-09-27 12:56
  • 4 komentarze
  • 1869 odsłon
  • Oceń ten tekst jako pierwszy
Spis treści

     1 Wprowadzenie do PowerShella
          1.1 Aplikacje
          1.2 Cmdlet
               1.2.1 Aliasy
          1.3 Podpisywanie skryptów
               1.3.1 Ustawianie polis
                    1.3.1.1 Restricted
                    1.3.1.2 AllSigned
                    1.3.1.3 RemoteSigned
                    1.3.1.4 Unrestricted
          1.4 Obliczanie wyrażeń matematycznych

Wprowadzenie do PowerShella


Aplikacje


Standardowy wygląd okna powłoki PowerShell nie różni się od innych aplikacji konsolowych, czy samego okna standardowej powłoki cmd.exe, a do edycji skryptów z powodzeniem wystarczy systemowy edytor Notatnik.


Podobnie jak inne powłoki można PowerShella również "zagnieździć" w aplikacji Console2, jeżeli ktoś chce mieć PS w jednej karcie, a na przykład cmd.exe w drugiej.

Cmdlet


Wszystkie polecenia, jakie używane są w PowerShellu nazywane są cmdlet-ami (wym. commandlet). W terminologii polskiej używa się tłumaczenia "komenda" lub "polecenie".

Wszystkie polecenia mają określony schemat nazewnictwa w postaci:
[czasownik]-[opcja]


Gdzie czasownik oznacza czynność, najczęściej jest to get lub set. Na przykład:
get-help about_signing

czy
set-executionpolicy remotesigned


Aliasy


PowerShell udostępnia mechanizm aliasów, dzięki któremu można poleceniom nadawać krótsze nazwy, które przy pracy w trybie interaktywnym są wygodniejsze dla programisty - standardowo dzięki temu dostępne są polecenia w stylu tych znanych z powłok cmd.exe czy bash (w rodzaju ls, cls, clear, dir czy cd) oraz skrótowce takie jak % dla komendy Foreach-Object.

Listę dostępnych aliasów można uzyskać używając komendy:
Get-Alias


Modyfikacje istniejących aliasów wykonuje się za pomocą polecenia
Set-Alias


A tworzenie nowych aliasów umożliwia New-Alias, nie są one jednak zachowywane do innych sesji - należy albo użyć eksportu za pomocą komendy Export-Alias, a potem importu (Import-Alias) w nowej sesji, albo tworzyć aliasy w pliku profilu.

Aliasy są tylko alternatywnymi nazwami dla komend, nie używa się ich do wykonywania na przykład kilku poleceń po sobie - do tego należy użyć funkcji.

Podpisywanie skryptów


Domyślnie PowerShell nie pozwala na uruchamianie żadnych zewnętrznych skryptów lub plików konfiguracyjnych, gdyż skryptowanie jest takim narzędziem, że nie można zaprzeczyć, iż mogło by zostać użyte do tworzenia złośliwego oprogramowania (nawiasem mówiąc niedługo po powstaniu wersji beta "Monada" powstał robak, proof-of-concept, nazwany Danom, korzystający z niego). W podobny sposób narażony jest Host skryptów systemu Windows i dla tego mechanizmu dostępne jest wiele wirusów VBS.
Twórcy PowerShella zdecydowali się domyślnie nie pozwalać na uruchamianie żadnych skryptów, ani plików konfiguracyjnych, w tym profili.

Ustawianie polis


Polisy uruchamiania skryptów można ustawiać korzystając z komendy Set-ExecutionPolicy.

set-executionpolicy [parametr]


Parametr przyjmuje następujące wartości:

Restricted


  • domyślna
  • zezwala na uruchamianie pojedynczych komend, a nie skryptów

AllSigned


  • skrypty są uruchamiane, o ile posiadają podpis cyfrowy od zaufanego dostawcy (dotyczy to także skryptów tworzonych na komputerze lokalnym)
  • powłoka pyta przed uruchamianiem skryptów

RemoteSigned


  • skrypty są uruchamiane, o ile posiadają podpis cyfrowy od zaufanego dostawcy (dotyczy to tylko skryptów pobieranych z Internetu)
  • nie są wymagane certyfikaty dla skryptów tworzonych lokalnie
  • nie są zadawane pytania przed uruchamianiem skryptów

Unrestricted


  • każdy skrypt może zostać uruchomiony
  • system jest zagrożony złośliwymi skryptami

Aktualny stan polisy można uzyskać za pomocą komendy Get-ExecutionPolicy:

get-executionpolicy


A więcej informacji na temat tych polis oraz podpisywania skryptów (także własnych) komendą:

get-help about_signing


Obliczanie wyrażeń matematycznych


PowerShell ma wbudowany mechanizm obliczania wyrażeń matematycznych. W trybie interaktywnym wydanie na przykład polecenia:
2 + 2


skutkuje wyświetleniem liczby 4. Podobnie też można stosować inne operatory matematyczne oraz także operować na zmiennych.

Przykład:
PS E:\> 34 * 1 + 2 -8
28
PS E:\>


Dodatkowo dostępne są dwa specjalne modyfikatory do liczb, które są przydatne w zaokrąglaniu wartości "komputerowych" - liczba 1KB oznacza 1024, a 1MB oznacza 1048576.

Przykład:
PS E:\> (Get-Process -Id 4).PrivateMemorySize / 1KB
1704
PS E:\>

4 komentarze

gordonek 2008-03-25 20:13

mam pytanie, w sumie to dwa: czy da się miec w nim zakladki? cos w stylu ctrl+alt+f1... f2 itp. i czy mozna go zminimalizowac do tray'a wszedzie szukam i nie moge znalesc.

Marooned 2007-09-07 22:58

fakt, ma swoje polecenia osobne

Ktos 2007-07-26 20:07

Niestety nie. W trybie odzyskiwania systemu to nawet normalna konsola jest okrojona strasznie.

Koziołek 2007-07-26 12:56

zaczynam lubić windowsa...
BTW. czy w trybie odzyskiwania systemu można korzystać z jakiejś nawet okrojonej wersji PS?