PowerShell pentru începători

Când lucrăm cu PowerShell, primul lucru pe care îl întâlnim sunt comenzile (comenzile).
Apelul de comandă arată astfel:

Verb-Noun -Parameter1 ValueType1 -Parameter2 ValueType2[]

Ajutor

Ajutorul este accesat în PowerShell folosind comanda Get-Help. Puteți specifica unul dintre parametrii: exemplu, detaliat, complet, online, showWindow.

Get-Help Get-Service -full va returna o descriere completă a modului în care funcționează comanda Get-Service
Get-Help Get-S* va afișa toate comenzile și funcțiile disponibile începând cu Get-S*

Există, de asemenea, documentație detaliată pe site-ul oficial Microsoft.

Iată un exemplu de ajutor pentru comanda Get-Evenlog

PowerShell pentru începători

Dacă parametrii sunt încadrați între paranteze drepte [], ei sunt opționali.
Adică, în acest exemplu, numele jurnalului în sine este obligatoriu și numele parametrului Nu. Dacă tipul de parametru și numele acestuia sunt incluse între paranteze, atunci parametrul este opțional.

Dacă vă uitați la parametrul EntryType, puteți vedea valorile care sunt incluse în acolade. Pentru acest parametru, putem folosi doar valori predefinite în acolade.

Putem vedea informații despre dacă parametrul este necesar în descrierea de mai jos în câmpul Obligatoriu. În exemplul de mai sus, atributul După este opțional, deoarece Obligatoriu este setat la fals. Apoi vedem câmpul Poziție de vizavi care spune Numit. Aceasta înseamnă că parametrul poate fi accesat numai după nume, adică:

Get-EventLog -LogName Application -After 2020.04.26

Deoarece parametrul LogName avea numărul 0 specificat în loc de Named, aceasta înseamnă că putem accesa parametrul fără nume, dar specificându-l în secvența necesară:

Get-EventLog Application -After 2020.04.26

Să presupunem această ordine:

Get-EventLog -Newest 5 Application

Alias

Pentru a putea folosi comenzi familiare din consolă, PowerShell are aliasuri (Alias).

Un exemplu de alias pentru comanda Set-Location este cd.

Adică, în loc să apelezi comanda

Set-Location “D:”

putem folosi

cd “D:”

Istorie

Pentru a vizualiza istoricul apelurilor de comandă, puteți utiliza Get-History

Executați comanda din istoric Invoke-History 1; Istoricul invocărilor 2

Ştergeţi istoricul Ştergeţi istoricul

Conductă

O conductă în powershell este atunci când rezultatul primei funcție este transmis celui de-al doilea. Iată un exemplu de utilizare a conductei:

Get-Verb | Measure-Object

Dar pentru a înțelege mai bine conducta, să luăm un exemplu mai simplu. Există o echipă

Get-Verb "get"

Dacă apelăm la ajutorul Get-Help Get-Verb -Full, vom vedea că parametrul Verb acceptă intrarea în pipline și ByValue este scris în paranteze.

PowerShell pentru începători

Aceasta înseamnă că putem rescrie Get-Verb „get” la „get” | Obține-verb.
Adică, rezultatul primei expresii este un șir de caractere și este transmis la parametrul Verb al comenzii Get-Verb prin introducerea pipline după valoare.
De asemenea, intrarea în conductă poate fi ByPropertyName. În acest caz, vom trece un obiect care are o proprietate cu un nume similar Verb.

Variabile

Variabilele nu sunt scrise puternic și sunt specificate cu un simbol $ în față

$example = 4

Simbolul > înseamnă introducerea datelor
De exemplu, $example > File.txt
Cu această expresie vom plasa datele din variabila $example într-un fișier
La fel ca Set-Content -Value $example -Path File.txt

Arrays

Inițializare matrice:

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

Inițializarea unui tablou gol:

$ArrayExample = @()

Obținerea unei valori după index:

$ArrayExample[0]

Obțineți întreaga matrice:

$ArrayExample

Adăugarea unui element:

$ArrayExample += “Third”

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

Sortați în funcție de:

$ArrayExample | Sort

$ArrayExample | Sort -Descending

Dar matricea în sine rămâne neschimbată în timpul acestei sortări. Și dacă dorim ca matricea să aibă date sortate, atunci trebuie să atribuim valori sortate:

$ArrayExample = $ArrayExample | Sort

Nu există o modalitate reală de a elimina un element dintr-o matrice în PowerShell, dar o puteți face astfel:

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

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

Eliminarea unei matrice:

$ArrayExample = $null

buclele

Sintaxa buclei:

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

Ieșiți din bucla de pauză.

Omiterea elementului de continuare.

Declarații condiționate

if () {} elseif () {} else

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

Funcţie

Definiția funcției:

function Example () {
  echo &args
}

Funcția de rulare:

Example “First argument” “Second argument”

Definirea argumentelor într-o funcție:

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

function Example ($first, $second) {}

Funcția de rulare:

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

Excepție

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

Sursa: www.habr.com

Adauga un comentariu