Cuprins
Recomandări cheie
- PowerShell este un limbaj de scripting care poate ajuta la automatizarea sarcinilor computerului.
- Cmdleturile sunt comenzi Powershell cu o singură funcție. Puteți vizualiza comenzile disponibile cu „Get-Command”.
- PowerShell este disponibil pe Windows, macOS și Linux.
PowerShell este un limbaj de scripting care vă poate ajuta să automatizați sarcinile computerului simplu și fiabil. Aflați cum să îl utilizați pentru a începe să construiți scripturi pentru computerul dvs. Windows.
Prezentare generală a scripturilor PowerShell
Pentru a începe să creați scripturi PowerShell simple pe Windows, va trebui să știți despre trei lucruri:
- Cmdlet-uri: comenzi cu o singură funcție.
- Parametri: specificați ce, când, unde și cum ale cmdlet-urilor/comenzilor.
- Pipeline: preia ieșirea cmdlet-ului și parametrii acestuia și o conectează la alte cmdlet-uri și funcții.
Combinând toate trei, puteți crea scripturi simple pentru a ajuta la automatizarea sarcinilor.
Iată un exemplu de conductă care arată cum puteți combina mai multe cmdlet-uri pentru a realiza o sarcină:
Pentru a rula această conductă în PowerShell, ați folosi ceva ca această comandă:
Get-Object Potato | Peel-Object | Chop-Object Chips| Cook-Object DeepFry `
| Place-Object Bowl
Cmdlet-uri în detaliu
Ca orice limbaj de scripting, PowerShell vine pre-construit cu comenzi pentru a manipula obiecte și a efectua diverse sarcini. Aceste comenzi fundamentale din PowerShell sunt cunoscute sub numele de Cmdlet-uri.
Cmdlet-urile (pronunțate ca command-lets) sunt comenzi mici, cu o singură funcție, utilizate în mediul PowerShell folosind extensia .dll. Sunt bucăți ușoare de cod care se execută mai rapid decât funcțiile datorită naturii lor compilate.
Există mii de cmdlet-uri disponibile pe PowerShell. Nu trebuie să le înveți pe toate. Puteți începe prin a învăța câteva cmdlet-uri PowerShell de bază, apoi puteți continua să învățați pe măsură ce parcurgeți călătoria dvs. de scripting. Pentru a vizualiza cmdleturile care sunt deja instalate pe computer, rulați:
Get-Command
Dacă parcurgeți rezultatele, veți observa că acestea urmează o convenție de denumire verb-substantiv. Acest lucru face mai ușor de înțeles ce face un anumit cmdlet.
De exemplu, Get-Command oferă o listă de comenzi disponibile în PowerShell. Get-Process vă oferă procesele care sunt active în prezent, iar Copy-Item copiază unul sau mai multe fișiere într-un anumit director.
Cmdleturile vin, de asemenea, la pachet cu o documentație extinsă care include exemple, instrucțiuni de utilizare și explicații ale funcționalității lor.
Pentru a afla mai multe despre un anumit cmdlet și despre cum să îl utilizați, rulați:
Get-Help <name-of-cmdlet>
Parametrii PowerShell explicați
Cmdleturile pot accepta parametri pentru a-și modifica comportamentul. Când rulați un cmdlet sau o funcție, puteți furniza valori ale parametrilor pentru a specifica ce, când, unde și cum rulează fiecare comandă PowerShell.
De exemplu, Get-Process va obține și va lista toate procesele active din sistemul dvs. de operare:
Dar ce se întâmplă dacă doriți doar să obțineți un anumit proces? Puteți face acest lucru folosind parametrii. De exemplu, pentru a obține toate procesele Slack, puteți utiliza parametrul Name cu cmdletul Get-Process:
Get-Process -Name Slack
Veți vedea apoi numai acele procese cu numele „slack”:
Unii parametri sunt „poziționali”, ceea ce înseamnă că numele lor este opțional. În acest caz, Get-Process -Name Slack și Get-Process Slack fac același lucru.
Fiecare cmdlet va accepta diferite tipuri de parametri. Utilizați comanda Get-Help pentru a vizualiza parametrii acceptați ai unui cmdlet în secțiunea SINTAXĂ.
Get-Help Get-Process
Veți vedea o listă cu toate modalitățile posibile în care puteți rula cmdlet-ul dat:
În acest caz, cmdletul Get-Process acceptă parametri precum Name, Id, ComputerName, Module, FileVersionInfo și alți parametri comuni. Simbolurile de aici semnifică:
Simbol |
Nume |
Sens |
---|---|---|
Gol |
Parametrul nu acceptă intrare |
|
– |
Cratimă |
Indică numele parametrului |
<> |
Paranteze unghiulare |
Substituent pentru text |
[] |
Paranteze |
Parametru care poate accepta una sau mai multe valori |
{} |
Bretele |
Parametrul acceptă un set de valori |
Parametrii care acceptă intrări vor indica tipul de date de care au nevoie, cum ar fi un șir, un întreg, boolean sau DateTime. De exemplu, aceasta:
Get-Process [[-Name] <string[]>]
Înseamnă că parametrul Nume acceptă una sau mai multe valori de șir, în timp ce acesta:
Get-Process -Id <int[]>
Înseamnă că parametrul Id acceptă una sau mai multe valori întregi.
Exemplul anterior Get-Process a folosit parametrul Name pentru a restrânge rezultatele. Cu toate acestea, dacă doriți să-l restrângeți la un proces și mai specific, puteți utiliza parametrul ID, care necesită un număr întreg, așa cum este menționat în sintaxa acestuia.
Get-Process -Id 3016
Ar trebui să vedeți un singur proces în listă:
Crearea unei conducte
PowerShell tratează toate datele ca obiecte. Pentru a construi un script, aceste obiecte curg printr-o serie de cmdlet-uri sau funcții conectate printr-un simbol pipe ( | ). Alegerea cmdlet-urilor potrivite și conectarea lor într-o secvență logică folosind pipeline este crucială pentru un script eficient.
Să presupunem că creați un script pentru a sorta și afișa cele cinci fișiere care ocupă cel mai mult spațiu de stocare într-un folder. Există modalități mai solide de a crea un script de sortare a fișierelor, dar următoarea linie este ușor de înțeles:
Pentru a face acest lucru în PowerShell, utilizați o conductă care arată cam așa:
Get-ChildItem -Path "C:\Directory" -File | Sort-Object Length -Descending `
| Select-Object -First 5 | Format-Table Name, Length -AutoSize
Salvarea pipeline ca script PS1
Acum că avem o conductă de lucru, îl puteți salva ca fișier de script PS1, astfel încât să nu mai fie nevoie să-l introduceți în continuare de fiecare dată când îl utilizați.
Cel mai simplu mod de a crea un fișier PS1 este să lipiți scriptul în Notepad și să salvați fișierul cu extensia .ps1.
După ce ați creat fișierul PS1, îl puteți utiliza în PowerShell rulând ./ScriptName.ps1:
Felicitări! Acum puteți crea scripturi PowerShell PS1.
PowerShell este disponibil și pe Linux și macOS
PowerShell este unul dintre cele mai bune limbaje de scripting pentru începători pe care oricine le poate învăța. Deși PowerShell a fost limitat doar la Windows în trecut, versiunea actualizată a PowerShell este acum disponibilă și pe macOS și multe distribuții Linux! Acest lucru face PowerShell și mai atrăgător, deoarece vă puteți transfera cunoștințele de la Windows pe alte sisteme de operare.