PowerShell dla początkujących

Pracując z PowerShellem, pierwszym, na co natrafiamy, są polecenia (Cmdlet).
Wywołanie polecenia wygląda tak:

Verb-Noun -Parameter1 ValueType1 -Parameter2 ValueType2[]

Pomoc

Wywołanie pomocy w PowerShell odbywa się za pomocą polecenia Get-Help. Można podać jeden z parametrów: example, detailed, full, online, showWindow.

Get-Help Get-Service -full zwróci pełny opis działania polecenia Get-Service.
Get-Help Get-S* pokaże wszystkie dostępne polecenia i funkcje zaczynające się od Get-S*.

Szczegółowa dokumentacja znajduje się również na oficjalnej stronie Microsoft.

Oto przykładowa pomoc dla polecenia Get-EventLog.

PowerShell dla początkujących

Jeśli parametry są ujęte w kwadratowe nawiasy [], to są one opcjonalne.
To znaczy, że w tym przykładzie sama nazwa dziennika jest obowiązkowa, natomiast nazwa parametru nie. Jeśli typ parametru i jego nazwa są ujęte w nawiasy razem, to ten parametr jest opcjonalny.

Patrząc na parametr EntryType, widać wartości ujęte w klamrowe nawiasy. Dla tego parametru możemy używać tylko zdefiniowanych wartości w klamrowych nawiasach.

Informację o tym, czy parametr jest obowiązkowy, możemy zobaczyć w opisie poniżej, w polu Required. W powyższym przykładzie atrybut After jest opcjonalny, ponieważ obok Required stoi false. Następnie widzimy pole Position, obok którego napisano Named. Oznacza to, że można odwołać się do parametru tylko po nazwie, tzn.:

Get-EventLog -LogName Application -After 2020.04.26.

Ponieważ dla parametru LogName zamiast Named wskazano liczbę 0, oznacza to, że możemy odwołać się do parametru bez jego nazwy, podając go w odpowiedniej kolejności:

Get-EventLog Application -After 2020.04.26.

Możemy również zastosować taki porządek:

Get-EventLog -Newest 5 Application.

Alias

Aby móc korzystać z znanych poleceń konsoli w PowerShell, istnieją aliasy (Alias).

Przykładem aliasu dla polecenia Set-Location jest cd.

To znaczy, że zamiast wywołania polecenia

Set-Location "D:".

możemy użyć

cd "D:".

Historia

Aby zobaczyć historię wywołań poleceń, można użyć Get-History.

Wykonać polecenie z historii Invoke-History 1; Invoke-History 2.

Wyczyścić historię Clear-History.

Pipeline

Pipeline w PowerShell to sytuacja, w której wynik wykonywania pierwszej funkcji przekazywany jest do drugiej. Oto przykład użycia pipeline'a:

Get-Verb | Measure-Object.

Aby lepiej zrozumieć pipeline, weźmy prostszy przykład. Jest polecenie

Get-Verb "get".

Jeśli wywołasz pomoc Get-Help Get-Verb -Full, zobaczysz, że parametr Verb akceptuje dane wejściowe pipelinowe i w nawiasach napisano ByValue.

PowerShell dla początkujących

To oznacza, że możemy przepisać Get-Verb «get» na «get» | Get-Verb.
Oznacza to, że wynik pierwszego wyrażenia to ciąg znaków, który jest przekazywany do parametru Verb polecenia Get-Verb przez input pipeliny jako wartość.
Input pipeliny może również być ByPropertyName. W takim przypadku przekazujemy obiekt, który ma właściwość o podobnej nazwie do Verb.

Zmienne

Zmienne nie są ściśle typowane i są zadawane z użyciem znaku $ na początku.

$example = 4

Znak > oznacza umieszczenie danych w
Na przykład, $example > File.txt
Tym wyrażeniem umieścimy dane z zmiennej $example w pliku.
Podobnie jak w poleceniu Set-Content -Value $example -Path File.txt.

Tablice

Inicjalizacja tablicy:

$ArrayExample = @(“First”, “Second”)

Inicjalizacja pustej tablicy:

$ArrayExample = @()

Uzyskiwanie wartości według indeksu:

$ArrayExample[0]

Uzyskanie całej tablicy:

$ArrayExample

Dodawanie elementu:

$ArrayExample += “Third”

$ArrayExample += @(“Fourth”, “Fifth”)

Sortowanie:

$ArrayExample | Sort

$ArrayExample | Sort -Descending

Jednak sama tablica pozostaje niezmieniona podczas sortowania. Jeżeli chcemy, aby tablica zawierała posortowane dane, musimy przypisać posortowane wartości:

$ArrayExample = $ArrayExample | Sort

W zasadzie w PowerShell nie ma usuwania elementu z tablicy, ale można to zrobić w ten sposób:

$ArrayExample = $ArrayExample | where { $_ -ne “First” }

$ArrayExample = $ArrayExample | where { $_ -ne $ArrayExample[0] }

Usuwanie tablicy:

$ArrayExample = $null

Pętle

Składnia pętli:

for($i = 0; $i -lt 5; $i++){}

$i = 0
while($i -lt 5){}

$i = 0
do{} while($i -lt 5)

$i = 0
do{} until($i -lt 5)

ForEach($item in $items){}

Wyjście z pętli break.

Pomiń element continue.

Instrukcje warunkowe

if () {} elseif () {} else

switch($someIntValue){
  1 { “Opcja 1” }
  2 { “Opcja 2” }
  default { “Nie ustawione” }
}

Funkcja

Definicja funkcji:

function Example () {
  echo &args
}

Uruchomienie funkcji:

Example “Pierwszy argument” “Drugi argument”

Definiowanie argumentów w funkcji:

function Example () {
  param($first, $second)
}

function Example ($first, $second) {}

Uruchomienie funkcji:

Example -first “Pierwszy argument” -second “Drugi argument”

Wyjątek

try{
} catch [System.Net.WebException],[System.IO.IOException]{
} catch {
} finally{
}

Źródło: habr.com

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster