PowerShell dla początkujących

Pracując z PowerShellem, pierwszą rzeczą, z którą się spotykamy, są polecenia (Cmdlety).
Wywołanie polecenia wygląda następująco:

Verb-Noun -Parameter1 ValueType1 -Parameter2 ValueType2[]

Pomoc

Dostęp do pomocy w programie PowerShell można uzyskać za pomocą polecenia Get-Help. Możesz określić jeden z parametrów: przykładowy, szczegółowy, pełny, online, showWindow.

Get-Help Get-Service -full zwróci pełny opis działania polecenia Get-Service
Get-Help Get-S* wyświetli wszystkie dostępne polecenia i funkcje, zaczynając od Get-S*

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

Oto przykładowa pomoc dotycząca polecenia Get-Evenlog

PowerShell dla początkujących

Jeżeli parametry są ujęte w nawiasy kwadratowe [], są one opcjonalne.
Oznacza to, że w tym przykładzie nazwa samego dziennika jest obowiązkowa i nazwa parametru NIE. Jeżeli typ parametru i jego nazwa są ujęte razem w nawiasy, to parametr jest opcjonalny.

Jeśli spojrzysz na parametr EntryType, zobaczysz wartości ujęte w nawiasy klamrowe. W przypadku tego parametru możemy używać wyłącznie predefiniowanych wartości w nawiasach klamrowych.

Informację o tym, czy parametr jest wymagany, możemy zobaczyć w poniższym opisie w polu Wymagany. W powyższym przykładzie atrybut After jest opcjonalny, ponieważ Wymagane ma wartość Fałsz. Następnie widzimy pole Pozycja naprzeciwko, które zawiera nazwę. Oznacza to, że dostęp do parametru można uzyskać jedynie poprzez nazwę, czyli:

Get-EventLog -LogName Application -After 2020.04.26

Ponieważ parametr LogName miał podaną liczbę 0 zamiast Named, oznacza to, że możemy uzyskać dostęp do parametru bez nazwy, ale podając go w wymaganej kolejności:

Get-EventLog Application -After 2020.04.26

Załóżmy taką kolejność:

Get-EventLog -Newest 5 Application

Alias

Abyśmy mogli korzystać ze znanych poleceń z konsoli, PowerShell posiada aliasy (Alias).

Przykładowym aliasem polecenia Set-Location jest cd.

Oznacza to, że zamiast wywoływać polecenie

Set-Location “D:”

możemy użyć

cd “D:”

Historia

Aby wyświetlić historię wywołań poleceń, możesz użyć Get-History

Wykonaj polecenie z historii Invoke-History 1; Historia wywołań 2

Wyczyść historię Wyczyść historię

Rurociąg

Potok w PowerShell ma miejsce, gdy wynik pierwszej funkcji jest przekazywany do drugiej. Oto przykład użycia potoku:

Get-Verb | Measure-Object

Aby jednak lepiej zrozumieć potok, weźmy prostszy przykład. Jest zespół

Get-Verb "get"

Jeśli wywołamy pomoc Get-Help Get-Verb -Full, zobaczymy, że parametr Verb akceptuje dane wejściowe potoku, a ByValue jest zapisywany w nawiasach.

PowerShell dla początkujących

Oznacza to, że możemy przepisać czasownik Get-Verb na „get” | Get-Cerownik.
Oznacza to, że wynikiem pierwszego wyrażenia jest ciąg znaków, który jest przekazywany do parametru Verb polecenia Get-Verb poprzez potok wejściowy według wartości.
Wejściem potoku może być także ByPropertyName. W tym przypadku przekażemy obiekt posiadający właściwość o podobnej nazwie Verb.

Zmienne

Zmienne nie są typowane jednoznacznie i są oznaczone symbolem $ na początku

$example = 4

Symbol > oznacza wprowadzenie danych
Na przykład $przykład > Plik.txt
Za pomocą tego wyrażenia umieścimy dane ze zmiennej $example w pliku
To samo co Set-Content -Value $example -Path File.txt

Tablice

Inicjalizacja tablicy:

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

Inicjowanie pustej tablicy:

$ArrayExample = @()

Uzyskiwanie wartości według indeksu:

$ArrayExample[0]

Zdobądź całą tablicę:

$ArrayExample

Dodawanie elementu:

$ArrayExample += “Third”

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

Sortuj według:

$ArrayExample | Sort

$ArrayExample | Sort -Descending

Jednak sama tablica pozostaje niezmieniona podczas sortowania. A jeśli chcemy, aby tablica zawierała posortowane dane, musimy przypisać posortowane wartości:

$ArrayExample = $ArrayExample | Sort

W PowerShell nie ma faktycznego sposobu na usunięcie 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

Metalowe ramki

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){}

Wyjdź z pętli przerwania.

Pominięcie elementu kontynuuj.

Instrukcje warunkowe

if () {} elseif () {} else

switch($someIntValue){
  1 { “Option 1” }
  2 { “Option 2” }
  default { “Not set” }
}

Funkcjonować

Definicja funkcji:

function Example () {
  echo &args
}

Funkcja biegania:

Example “First argument” “Second argument”

Definiowanie argumentów w funkcji:

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

function Example ($first, $second) {}

Funkcja biegania:

Example -first “First argument” -second “Second argument”

Wyjątek

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

Źródło: www.habr.com

Dodaj komentarz