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

  • 🚀 Lansează shell-ul din dreapta: Deschideți PowerShell sau PowerShell ISE din meniul Start și rulați-l ca Administrator atunci când aveți nevoie de privilegii sporite.
  • 🧩 Folosește cmdlet-uri, nu comenzi text: Cmdleturile urmează un model de denumire verb-substantiv și returnează obiecte .NET, astfel încât ieșirea poate fi transmisă următorului cmdlet printr-o conductă.
  • 🔐 Setați cu atenție politica de execuție: Folosește Set-ExecutionPolicy cu RemoteSigned pentru a echilibra siguranța și confortul atunci când execuți scripturi .ps1.
  • 📁 Scrieți scripturi .ps1 reutilizabile: Combinați cmdlet-uri, variabile și conducte într-un fișier text cu extensia .ps1 pentru a automatiza sarcinile administrative repetitive.
  • 🤖 Asociați PowerShell cu inteligența artificială: Asistenții inteligenți artificiali transformă cererile scrise în limba engleză simplă în scripturi PowerShell gata de rulare și explică cmdlet-urile necunoscute linie cu linie.

Tutorial Powershell pentru începători

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.

Lansați PowerShell

Pas 2) Se deschide fereastra PowerShell.

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

cmdlet Get-Help

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

cmdlet-ul 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*"

cmdlet-ul Get-Service

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

cmdlet-ul 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:

Ieșire element nou

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

Tipuri de date PowerShell

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

Rulați 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.

Executați PowerShell ca administrator

Pas 2) Rulați comenzile de mai jos.

  1. Get-ExecutionPolicy
  2. Set-ExecutionPolicy Unrestricted
  3. Intrați Y la solicitarea de confirmare.
  4. Get-ExecutionPolicy

Modificați politica de execuție

Primul script PowerShell

Deschide Notepad și tastează:

Write-Host "Hello, Guru99!"

Salvați fișierul cu un .ps1 extensie — de exemplu, FirstScript.ps1.

Salvați FirstScript.ps1

În PowerShell, rulați scriptul cu:

& "X:\FirstScript.ps1"

Executați 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.

PowerShell ISE

Recreați scriptul anterior în ISE:

  1. Lipiți codul în editor.
  2. Salvați scriptul.
  3. Apăsați F5 pentru al rula.
  4. Observați ieșirea în panoul consolei.

Execută scriptul în ISE

Exemplul 2: Următorul script afișează gratuit memorie virtuala pe aparat.

Get-WmiObject -Class Win32_OperatingSystem -ComputerName localhost |
Select-Object -Property CSName, FreeVirtualMemory

Script gratuit pentru memorie virtuală

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.

Întrebări frecvente

PowerShell automatizează Windows administrarea sistemului — gestionarea serviciilor, fișierelor, utilizatorilor și serverelor — printr-o linie de comandă orientată pe obiecte și un limbaj de scripting construit pe framework-ul .NET.

Un cmdlet este un obiect de clasă .NET ușor care folosește un nume verb-substantiv și returnează obiecte. O comandă tradițională din alte shells generează text simplu și se ocupă de propria analiză și formatare.

PowerShell funcționează cu obiecte și acceptă cmdlet-uri, scripting și integrare profundă cu .NET. Linia de comandă este o shell de bază bazată pe text, ale cărei comenzi afișează text simplu în loc de obiecte.

Un fișier .ps1 este un script PowerShell — un fișier text care conține una sau mai multe comenzi PowerShell. În mod implicit, nu poate fi rulat făcând dublu clic; se execută din consolă sau cu comanda Run with PowerShell.

Deschideți PowerShell ca Administrator și executați Set-ExecutionPolicy cu o valoare precum RemoteSigned sau Unrestricted, apoi confirmați. Folosiți Get-ExecutionPolicy pentru a verifica setarea curentă.

Integrated Scripting Environment (ISE) este editorul GUI încorporat în PowerShell pentru scrierea, rularea, testarea și depanarea scripturilor, cu colorare sintactică, completare cu tabulatori și funcții multiple de tabulare în scripturi.

Asistenții inteligenți artificiali sugerează cmdlet-uri, explică comportamentul scripturilor și detectează erorile pe măsură ce tastați. Aceștia ajută administratorii să automatizeze mai rapid sarcinile și să convertească cererile în limba engleză simplă în comenzi PowerShell funcționale.

Da. Asistenții de cod AI generează scripturi PowerShell complete dintr-o descriere simplă în limba engleză, cum ar fi „listați toate serviciile oprite și reporniți-le” și explică fiecare cmdlet, astfel încât să îl puteți revizui înainte de rulare.

Rezumați această postare cu: