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
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
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.
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