Tutorial Powershell pentru începători
⚡ Rezumat inteligent
PowerShell Scripting este un motor de automatizare orientat pe obiecte, construit pe framework-ul .NET. Acesta combină cmdlet-uri, scripturi și un limbaj de scripting pentru a ajuta administratorii IT să automatizeze Windows, gestionați servicii și conectați mașini la distanță dintr-o singură linie de comandă.

Ce este PowerShell?
Windows PowerShell este un motor de automatizare orientat pe obiecte și un limbaj de scripting. Este conceput pentru profesioniștii IT și administratorii de sistem care trebuie să controleze și să automatizeze administrarea Windows și alte aplicații. PowerShell extinde conceptele învățate în Windows Prompt de comandă și Windows Gazdă de scripturi cu obiecte noi, cmdlet-uri și o conductă puternică.
Combină flexibilitatea scriptării, viteza unei linii de comandă și profunzimea unui instrument de administrare cu interfață grafică. Cu ajutorul său, administratorii pot rezolva problemele eficient și pot elimina orele de muncă manuală. Acest tutorial prezintă elementele esențiale de care aveți nevoie pentru a învăța PowerShell de la zero.
De ce să folosești PowerShell?
Cele mai importante motive pentru a utiliza PowerShell sunt:
- Oferă o experiență de linie de comandă bine integrată pentru sistemul de operare.
- Oferă acces complet la fiecare tip din .NET framework.
- Încredere acordată administratorilor de sistem din toate companiile.
- Vă permite să manipulați componentele serverului și ale stației de lucru cu câteva linii.
- Destinat administratorilor de sistem cu o sintaxă verb-substantiv curată.
- Mai sigur decât alergarea vbscript sau alte limbaje de scripting vechi.
Istoricul PowerShell
PowerShell 1.0 a fost lansat pentru prima dată în 2006. PowerShell este acum la versiunea 7.2 și ulterioară. Pe măsură ce versiunile au fost lansate, capacitățile și mediile de găzduire au crescut semnificativ.
Istoricul versiunilor de PowerShell:
- PowerShell 1.0 — a sprijinit administrația locală a Windows Server 2003.
- PowerShell 2.0 — integrat cu Windows 7 și Windows Server 2008 R2. S-au adăugat funcții de remote, tranzacții, joburi în fundal, evenimente și depanare.
- PowerShell 3.0 — livrat cu Windows 8 și Windows Server 2012 ca parte a Windows Cadru de management. Au fost adăugate joburi programate, conectivitate la sesiuni și încărcare automată a modulelor.
- PowerShell 4.0 — livrat cu Windows 8.1 și Windows Server 2012 R2. A fost adăugată configurația stării dorite, depanare îmbunătățită și diagnosticare de rețea.
- PowerShell 5.0 — parte din Windows Management Framework 5. A fost adăugată depanare la distanță, definiții de clase și enumerări .NET.
- PowerShell 7.2 — construit pe .NET 6.0. Adaugă operatori noi, vizualizări dinamice ale erorilor și notificări automate ale versiunii.
Caracteristici ale PowerShell
- Remotare PowerShell: invoca scripturi și cmdlet-uri pe o mașină la distanță.
- Locuri de muncă în context: rulează scripturi sau conducte asincron pe mașina locală sau pe mai multe mașini la distanță.
- tranzacţii: permite cmdlet-urilor și dezvoltatorilor să efectueze operațiuni grupate care pot fi validate sau anulate împreună.
- Evenimente: a asculta, a transmite și a acționa în funcție de evenimentele de management și de sistem.
- Transfer de fișiere în rețea: suport nativ pentru transferul de fișiere prioritizat, asincron și limitat între mașini prin intermediul Background Intelligent Transfer Service (BITS).
Cum se lansează PowerShell
PowerShell este preinstalat pe fiecare versiune recentă de WindowsLansați-l după cum urmează.
Pas 1) Căutați PowerShell în Windows, apoi selectați-l și faceți clic pe el.
Pas 2) Se deschide fereastra PowerShell.
Cmdlet vs. Comandă
A cmdlet (pronunțat „command-let”) este o comandă ușoară utilizată în mediul PowerShell. PowerShell invocă cmdlet-uri la prompt, iar dumneavoastră le puteți crea pe ale dumneavoastră folosind API-urile PowerShell. Cmdlet-urile diferă de comenzile shell tradiționale prin următoarele:
- Cmdleturile sunt .Cadru net obiecte de clasă; acestea nu pot fi executate ca executabile independente.
- Cmdlet-urile pot fi scrise în doar o duzină de linii de cod.
- Analiza, formatarea ieșirii și prezentarea erorilor sunt gestionate de runtime, nu de cmdlet-ul în sine.
- Cmdleturile funcționează cu obiecte, astfel încât fluxurile de text și obiectele pot curge prin conducte.
- Cmdleturile sunt bazate pe înregistrări și procesează câte un singur obiect odată.
Majoritatea funcționalității PowerShell este livrată prin cmdlet-uri, care utilizează întotdeauna un model de denumire verb-substantiv (întotdeauna la singular). Cmdlet-urile returnează obiecte, nu text. A scenariu — distinct de un cmdlet — este o serie de comenzi stocate într-un fișier text cu .ps1 extensie.
Verbele comune pe care le veți folosi pentru a învăța PowerShell includ:
- Obține — a recupera ceva.
- acasă — a alerga ceva.
- Afară — a produce ceva.
- Stop — a opri ceva care rulează.
- set — a defini ceva.
- Nou — a crea ceva.
Comenzi importante PowerShell
Obține ajutor: vizualizați ajutorul pentru comenzile și subiectele PowerShell.
Exemplu: afișarea ajutorului pentru Format-Table comanda.
Get-Help Format-Table
Obține-Comandă: obține informații despre orice poate fi invocat.
Exemplu: generați o listă de cmdlet-uri și funcții instalate pe mașină.
Get-Command
Obține serviciu: găsește toate serviciile pe mașină.
Exemplu: obțineți fiecare serviciu al cărui nume începe cu „vm”.
Get-Service "vm*"
Obține-Membru: a arăta ce se poate face cu un obiect.
Exemplu: listați membrii serviciilor vm returnați de Get-Service.
Get-Service "vm*" | Get-Member
Alte cmdlet-uri utile:
Get-Module— afișează pachetele de comenzi instalate.Get-Content— citește un fișier și procesează conținutul acestuia.Get-*wildcard — listează fiecare cmdlet care începe cu „Get-”.
Exemplu: creați un folder.
New-Item -Path 'X:\Guru99' -ItemType Directory
ieșire:
Tipuri de date PowerShell
PowerShell acceptă tipurile de date .NET standard, astfel încât să puteți stoca orice valoare în mod curat într-o variabilă.
Variabile speciale
PowerShell expune o serie de variabile speciale încorporate. Cele mai utile sunt enumerate mai jos.
| Variabila speciala | Descriere |
|---|---|
| $Eroare | O matrice de obiecte de eroare care reprezintă cele mai recente erori. |
| $Host | Afișează numele aplicației de găzduire curente. |
| $Profil | Stochează calea completă a profilului de utilizator pentru shell-ul implicit. |
| $PID | Stochează identificatorul procesului. |
| $PSUICulture | Conține numele culturii curente a interfeței utilizator. |
| $NULL | Conține valoarea goală sau nulă. |
| $False | Conține valoarea booleană FALSE. |
| $True | Conține valoarea booleană TRUE. |
Scripturi PowerShell
Scripturile PowerShell sunt stocate în .ps1 fișiere. În mod implicit, nu puteți rula un script făcând dublu clic pe el — această măsură de siguranță protejează sistemul de daune accidentale. Pentru a executa un script, faceți clic dreapta pe el și alegeți „Rulează cu PowerShell”.
O politică de execuție controlează ce scripturi au voie să ruleze. Vizualizați politica curentă cu Get-ExecutionPolicyValorile posibile includ:
- restrâns — nu sunt permise scripturi. Aceasta este setarea implicită.
- Toate semnate — rulează doar scripturile semnate de un dezvoltator de încredere și fiecare necesită confirmare.
- Semnat la distanță — rulează propriile scripturi, plus scripturi semnate din surse de încredere.
- nerestricţionat — orice script poate rula (folosiți cu moderație).
Pași pentru modificarea politicii de execuție:
Pas 1) Deschideți o solicitare PowerShell cu privilegii ridicate făcând clic dreapta pe PowerShell și selectând Rulat ca administrator.
Pas 2) Rulați comenzile de mai jos.
Get-ExecutionPolicySet-ExecutionPolicy Unrestricted- Intrați
Yla solicitarea de confirmare. Get-ExecutionPolicy
Primul script PowerShell
Deschide Notepad și tastează:
Write-Host "Hello, Guru99!"
Salvați fișierul cu un .ps1 extensie — de exemplu, FirstScript.ps1.
În PowerShell, rulați scriptul cu:
& "X:\FirstScript.ps1"
Ce este PowerShell ISE?
Windows Mediu de scripting integrat PowerShell (ISE) este editorul implicit pentru PowerShell. În ISE puteți rula comenzi, scrie teste și depana scripturi într-un mediu grafic, bazat pe ferestre. Acesta acceptă editare pe mai multe linii, colorare sintactică, completare cu tabulatori, execuție selectivă și multe altele.
PowerShell ISE oferă și un panou de consolă care execută comenzi direct, în timp ce panourile laterale afișează sursa scripturilor și orice instrumente conectate la ISE. Puteți deschide mai multe ferestre de script simultan — util la depanarea scripturilor care depind de funcții definite în alte scripturi sau module.
Recreați scriptul anterior în ISE:
- Lipiți codul în editor.
- Salvați scriptul.
- Apăsați F5 pentru al rula.
- Observați ieșirea în panoul consolei.
Exemplul 2: Următorul script afișează gratuit memorie virtuala pe aparat.
Get-WmiObject -Class Win32_OperatingSystem -ComputerName localhost |
Select-Object -Property CSName, FreeVirtualMemory
PowerShell Concepts
Următoarele concepte formează vocabularul utilizării zilnice a PowerShell.
| Concept | Descriere |
|---|---|
| Cmdleturi | Comenzi încorporate scrise în limbaje .NET precum VB sau C#. Dezvoltatorii extind setul prin încărcarea sau scrierea de snap-in-uri PowerShell. |
| funcţii | Comenzi scrise în limbajul PowerShell, fără a fi nevoie de un IDE, cum ar fi Visual Studio. |
| Script-uri | Fișiere text pe disc cu .ps1 extensie. |
| Aplicatii | Existent Windows programe invocate din shell. |
| Și dacă | Indică cmdlet-ului nu să se execute, ci să descrie ce s-ar întâmpla dacă s-ar executa. |
| Confirma | Instruiește cmdletul să solicite înainte de executare. |
| prolix | Oferă un nivel mai ridicat de detaliu operațional. |
| Debug | Instruiește cmdletul să emită informații de depanare. |
| ErrorAction | Definește ce face cmdletul în caz de eroare. Valori permise: continue, stop, silentiouslycontinue, inquire. |
| ErrorVariable | Denumește variabila care conține informații despre erori. |
| OutVariable | Indică cmdlet-ului să stocheze ieșirea într-o anumită variabilă. |
| AfarăBuffer | Păstrează un număr specific de obiecte înainte de a le trimite prin conductă. |
Avantajele utilizării scripturilor PowerShell
- Scripturile PowerShell sunt puternice și concise — poți realiza multe în doar câteva rânduri.
- Variabilele sunt declarate cu
$<variable>sintaxă. - Variabilele pot conține ieșiri de comandă, obiecte și valori primitive.
- Tipul variabilei nu trebuie specificat explicit.
PowerShell vs. Linie de comandă
| PowerShell | Command Prompt |
|---|---|
| Profund integrat cu WindowsOferă o linie de comandă interactivă și un limbaj de scripting complet. | Interfața implicită a liniei de comandă este furnizată de MicrosoftO aplicație Win32 simplă care comunică cu alte obiecte Win32. |
| Folosește cmdlet-uri care pot fi invocate interactiv sau prin scripturi de automatizare. | Niciun cmdlet. |
| Tratează ieșirea ca obiecte, astfel încât aceasta să poată fi transferată într-un alt cmdlet prin canal. | Ieșirea este un flux simplu de text, nu obiecte. |
| Avansat în caracteristici, capabilități și arhitectură internă. | Shell de bază, potrivit pentru sarcini batch vechi. |
Aplicații ale PowerShell
PowerShell a devenit alegerea standard pentru administratorii IT, deoarece reduce dramatic efortul în rețelele corporative mari. Imaginați-vă că gestionați peste patru sute de servere și implementați o nouă soluție de securitate care depinde de un serviciu specific care rulează pe fiecare gazdă.
Conectarea manuală la fiecare server este lentă și predispusă la erori. Un singur script PowerShell poate supraveghea fiecare server în câteva minute, poate raporta ce gazde rulează deja serviciul și chiar îl poate activa pe restul. Scriptul capturează intenția o singură dată și o aplică în mod fiabil pe întreaga proprietate.
















