Tutorial Powershell pentru începători: Aflați scripturile Powershell

Să începem să învățăm Powershell Lessons. În primul rând, vom învăța:

Ce este PowerShell?

Windows PowerShell este un motor de automatizare orientat pe obiecte și un limbaj de scripting. Este conceput în principal pentru profesioniștii IT și administratorii de sistem pentru a controla și automatiza administrarea Windows OS și alte aplicații. Oferă concepte noi convingătoare pentru a extinde cunoștințele pe care le-ați dobândit și scripturile pe care le-ați creat în cadrul Windows Prompt de comandă și Windows Medii Script Host.

Combină flexibilitatea scripturilor, viteza liniei de comandă și puterea unui instrument de administrare bazat pe GUI. Vă permite să rezolvați problemele eficient, ajutând administratorul de sistem să elimine orele viitoare de muncă manuală. Vom trece prin toate aspectele importante pe care ar trebui să le cunoașteți pentru a învăța PowerShell.

Acesta este un ghid complet pentru elementele de bază ale scripturilor Powershell... să începem!

De ce să folosiți Powershell?

Iată câteva motive importante pentru a utiliza Powershell:

  • Powershell oferă o experiență de linie de comandă bine integrată pentru sistemul de operare
  • PowerShell permite acces complet la toate tipurile din cadrul .NET
  • De încredere de către administratorii de sistem.
  • PowerShell este o modalitate simplă de a manipula componentele serverului și stației de lucru
  • Este orientat către administratorii de sistem prin crearea unei sintaxe mai ușoare
  • PowerShell este mai sigur decât rularea vbscript sau alte limbaje de scripting

Istoricul PowerShell

Prima versiune PowerShell 1.0 a fost lansată în 2006. Astăzi, PowerShell este la versiunea 7.2. Pe măsură ce anul și versiunea au trecut, capacitățile PowerShell și mediile de găzduire au crescut semnificativ.

Să vedem istoricul versiunii Powershell:

  • PowerShell versiunea 1 a acceptat administrarea locală a Windows 2003 server de
  • PowerShell 2.0 a fost integrat cu Windows 7 și Windows Server 2008 R2. Această versiune acceptă telecomandarea și îmbunătățește capacitățile PowerShell, cum ar fi tranzacții, joburi de fundal, evenimente, depanare etc.
  • PowerShell 3.0 a fost lansat ca parte internă a Windows cadrul de management. A fost instalat pe Windows 8 și Windows Server 2012. Puteți adăuga și programa joburi, conectivitate de sesiune, încărcare automată a modulelor etc.
  • PowerShell 4.0 a fost livrat cu Windows 8.1 și Windows Server 2012 R2. În această versiune, a adăugat suport pentru configurarea stării dorite, depanare îmbunătățită, diagnosticare a rețelei.
  • PowerShell 5.0 a fost lansat ca parte internă a Windows cadru de management 5. Caracteristicile oferite în această versiune sunt depanarea la distanță, definițiile claselor, enumerarea .NET etc.
  • PowerShell 7.2 a fost lansat. Este construit pe .NET 6.0. Această versiune oferă operatori noi, vizualizare simplificată și dinamică a erorilor, notificări automate de versiune nouă etc.

În continuare, în acest tutorial de scripting Powershell, vom afla despre caracteristicile Powershell.

Caracteristicile Powershell

  • PowerShell la distanță: PowerShell permite invocarea scripturilor și cmdlet-urilor pe o mașină la distanță.
  • Lucrări de fundal: Vă ajută să invocați scriptul sau pipeline în mod asincron. Puteți rula lucrările fie pe mașina locală, fie pe mai multe mașini operate de la distanță.
  • Tranzacții: Activați cmdlet-ul și permite dezvoltatorilor să performeze
  • Seară: Această comandă vă ajută să ascultați, să redirecționați și să acționați asupra evenimentelor de management și de sistem.
  • Transfer de fișiere în rețea: Powershell oferă suport nativ pentru transferul de fișiere prioritizat, asincron, accelerat între mașini folosind tehnologia Background Intelligent Transfer Service (BITS).

Cum se lansează PowerShell

Acum, în acest tutorial de script Powershell, vom învăța cum să lansăm Powershell Windows OS.

PowerShell este preinstalat în toate cele mai recente versiuni ale Windows. Trebuie să lansăm PowerShell pentru asta trebuie să urmam pașii dați:

Pas 1) Căutați PowerShell în Windows. Selectați și faceți clic

Lansați PowerShell

Pas 2) Se deschide fereastra Power Shell

Lansați PowerShell

Cmdlet PowerShell

Un cmdlet care se mai numește și Command let este o comandă ușoară utilizată în mediul PowerShell de bază Windows. PowerShell invocă aceste cmdleturi în promptul de comandă. Puteți crea și invoca comanda cmdlet-uri folosind PowerShell APIS.

Cmdlet vs. Comandă

Cmdleturile sunt diferite de comenzile din alte medii de shell de comandă în următoarele moduri?

  • Cmdleturile sunt .Cadru net obiecte de clasă Nu poate fi executat separat
  • Cmdleturile pot construi din doar o duzină de linii de cod
  • Analiza, formatarea ieșirii și prezentarea erorilor nu sunt gestionate de cmdleturi
  • Procesul cmdlet-urilor funcționează pe obiecte. Deci, fluxul de text și obiectele nu pot fi transmise ca ieșire pentru pipeline
  • Cmdleturile sunt bazate pe înregistrări, deoarece procesează un singur obiect la un moment dat

Cea mai mare parte a funcționalității PowerShell provine din Cmdlet, care este întotdeauna în format verb-substantiv și nu plural. Mai mult, obiectele returnate ale cmdlet-ului nu text. Un cmdlet este o serie de comenzi, care este mai mult de o linie, stocate într-un fișier text cu extensia .ps1.

Un cmdlet constă întotdeauna dintr-un verb și un substantiv, separate cu o cratimă. Unele dintre verbele pe care le utilizați pentru a învăța PowerShell sunt:

  • Obține — Pentru a obține ceva
  • acasă — A rula ceva
  • Afară — A scoate ceva
  • Stop — Pentru a opri ceva care rulează
  • set — A defini ceva
  • Nou — A crea ceva

Comenzi PowerShell

Mai jos este o listă de comenzi PowerShell importante:

Obține ajutor: Ajutor despre comenzile și subiectele PowerShell

Exemplu: Afișează informații de ajutor despre comanda Format-Table

Get-Help Format-Table

Cmdlet vs. Comandă

Obține-Comandă: Obțineți informații despre orice poate fi invocat

Exemplu de script Powershell: Pentru a genera o listă de cmdlet-uri, funcții instalate pe computer

Get-Command

Cmdlet vs. Comandă

Obține serviciu: Găsește toate cmdleturile cu cuvântul „serviciu” în ele.

Exemplu: obțineți toate serviciile care încep cu „vm”

Get-Service "vm*"

Cmdlet vs. Comandă

Obțineți-membru: Arată ce se poate face cu un obiect

Exemplu: Obțineți membri ai proceselor vm.

Get-Service "vm*" | Get-Member

Cmdlet vs. Comandă

Alte comenzi:

  • Obține modul Afișează pachete de comenzi
  • Obține conținut Acest cmdlet poate prelua un fișier și procesa conținutul acestuia și poate face ceva cu el
  • Get- get Găsește toate cmdleturile care încep cu cuvântul „get-

Exemplu: Creați un folder

New-Item -Path 'X:\Guru99' -ItemType Directory

ieșire:

Cmdlet vs. Comandă

Tipuri de date Powershell

Tipuri de date Powershell
Tipuri de date Powershell

Variabile speciale

Variabila speciala Descriere
$Eroare O serie de obiecte de eroare care afișează cele mai recente erori
$Host Afișează numele aplicației de găzduire curente
$Profil Stochează întreaga cale a unui profil de utilizator pentru shell-ul implicit
$PID Stochează identificatorul procesului
$PSUICulture Deține numele culturii actuale a UI.
$NULL Conține o valoare goală sau NULL.
$False Conține valoarea FALSE
$True Conține valoarea TRUE

Scripturi PowerShell

Scripturile Powershell sunt stocate în fișierul .ps1. În mod implicit, nu puteți rula un script doar făcând dublu clic pe un fișier. Acest lucru vă protejează sistemul de vătămări accidentale. Pentru a executa un script:

Pasul 1: faceți clic dreapta pe el și faceți clic pe „Run with PowerShell”.

Scripturi PowerShell

Mai mult, există o politică care restricționează execuția scriptului. Puteți vedea această politică rulând comanda Get-ExecutionPolicy.

Veți obține una dintre următoarele rezultate:

  • restrâns— Nu sunt permise scripturi. Aceasta este setarea implicită, deci se va afișa prima dată când executați comanda.
  • Toate semnate— Puteți rula scripturi semnate de un dezvoltator de încredere. Cu ajutorul acestei setări, un script vă va cere confirmarea că doriți să îl executați înainte de a-l executa.
  • Semnat la distanță— Puteți rula scripturile dvs. sau semnate de un dezvoltator de încredere.
  • nerestricţionat— Puteți rula orice script pe care doriți să îl rulați

Pași pentru modificarea politicii de execuție

Pas 1) Deschideți un prompt PowerShell ridicat. Faceți clic dreapta pe PowerShell și „Run ca administrator”

Scripturi PowerShell

Pas 2) Introduceți următoarele comenzi

  1. Get-ExecutionPolicy
  2. Set-executionpolicy nerestricționat
  3. Introdu Y în prompt
  4. Get-ExecutionPolicy

Scripturi PowerShell

Primul script PowerShell

Într-un bloc de note scrieți următoarea comandă

Write-Host "Hello, Guru99!"

Scripturile PowerShell au extensia ps1. Salvați fișierul ca FirstScript.ps1

Primul script PowerShell

În Powershell, apelați scriptul folosind comanda

& "X:\FirstScript.ps1"

Primul script PowerShell

Ce este PowerShell ISE?

Windows PowerShell Integrated Scripting Environment (ISE) este editorul implicit pentru Windows PowerShell. În acest ISE, puteți rula comenzi, testarea scriitorului și scripturi de depanare într-un mediu GUI de bază într-o fereastră. Puteți face editare pe mai multe linii, colorare sintaxă, completare a filei, execuție selectivă și multe alte lucruri.

Windows PowerShell ISE vă permite, de asemenea, să rulați comenzi într-un panou de consolă. Cu toate acestea, acceptă și panouri pe care le puteți utiliza pentru a vizualiza simultan codul sursă al scriptului și alte instrumente pe care le puteți conecta la ISE.

Puteți chiar să deschideți mai multe ferestre de script în același timp. Acest lucru este util în special atunci când depanați un script care utilizează funcții definite în alte scripturi sau module.

PowerShell ISE

PowerShell ISE

Același script pe care l-am creat în notepad poate fi creat în ISE

  1. Lipiți codul în editor
  2. Salvați Scriptul
  3. Folosiți F5 pentru a rula scriptul
  4. Observați ieșirea din consolă

PowerShell ISE

Exemplul 2:

Următorul cod va da Free Memorie virtuala în mașina dvs

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

PowerShell ISE

PowerShell Concepts

Acum, în acest tutorial Powershell pentru începători, vom afla despre conceptele Powershell importante:

Cmdleturi Cmdlet-urile sunt comenzi de compilare scrise în limbaje .net precum VB sau C#. Permite dezvoltatorilor să extindă setul de cmdlet-uri prin încărcarea și scrierea snap-in-urilor PowerShell.
funcţii Funcțiile sunt comenzi care sunt scrise în limbajul PowerShell. Poate fi dezvoltat fără a utiliza alt IDE ca Visual Studio și dezvoltatori.
Script-uri Scripturile sunt fișiere text de pe disc cu extensia .ps1
Aplicatii Aplicațiile sunt programe Windows existente.
Ce-ar fi dacă Spune cmdlet-ului să nu se execute, ci să vă spună ce s-ar întâmpla dacă cmdletul ar rula.
Confirma Instruiți cmdlet-ului să solicite înainte de a executa comanda.
prolix Oferă un nivel mai ridicat de detaliu.
Debug Instruiește cmdlet-ului să furnizeze informații de depanare.
ErrorAction Instruiește cmdlet-ului să efectueze o anumită acțiune atunci când apare o eroare. Acțiunile permise continuă, opriți, în tăcere - continuați și întrebați.
ErrorVariable Specifică variabila care deține informații despre eroare.
OutVariable Spune cmdlet-ului să folosească o anumită variabilă pentru a păstra informațiile de ieșire
AfarăBuffer Instruiește cmdlet-ului să rețină un anumit număr de obiecte înainte de a apela următorul cmdlet din conductă.

Avantajele utilizării scriptului PowerShell

  • Scripturile PowerShell sunt cu adevărat puternice și ar putea face multe lucruri în mai puține rânduri.
  • Variabilele sunt declarate sub forma $
  • Variabilele pot fi folosite pentru a păstra rezultatul comenzii, obiectelor și valorilor.
  • „Tipul” unei variabile nu trebuie specificat.

PowerShell vs. Prompt de comandă

PowerShell Command Prompt
PowerShell se integrează profund cu Windows OS. Oferă o interfață interactivă în linie de comandă și un limbaj de scripting. Command Prompt este o interfață implicită de linie de comandă furnizată de Microsoft. Este o aplicație simplă win32 care poate interacționa și vorbi cu orice obiect win32 din Windows sistem de operare.
PowerShell folosește ceea ce sunt cunoscute sub numele de cmdleturi. Poate fi invocat fie în mediul de rulare, fie în scripturile de automatizare. Nu oferă astfel de caracteristici prin promptul de comandă.
PowerShell le consideră obiecte. Deci, rezultatul poate fi transmis ca intrare către alte cmdlet-uri prin conductă. Linia de comandă sau chiar shell-ul *nix, rezultatul generat dintr-un cmdlet nu este doar un flux de text, ci o colecție de obiecte.
PowerShell este foarte avansat în ceea ce privește caracteristicile, capabilitățile și funcționarea interioară. Linia de comandă este foarte simplă.

Aplicații Powershell

Astăzi, PowerShell a devenit o alegere ideală pentru administratorii IT, deoarece ușurează operațiunile de gestionare și efortul în rețelele corporative mari. De exemplu, să presupunem că gestionați o rețea mare care conține mai mult de patru sute de servere. Acum doriți să implementați o nouă soluție de securitate. Această soluție de securitate depinde de un anumit serviciu care trebuie să ruleze pe acele servere.

Cu siguranță vă puteți conecta la fiecare server și vedeți dacă au acel serviciu instalat și rulat sau nu. Cu toate acestea, cu siguranță este nevoie de o mulțime de erori umane, deoarece personalul dvs. trebuie să petreacă mult timp acestui proces neproductiv.

Cu toate acestea, dacă utilizați PowerShell, atunci puteți finaliza această sarcină în doar câteva minute. Asta pentru că întreaga operațiune se face cu un singur script care adună informații despre serviciile care rulează pe servere.

Rezumat

  • Windows PowerShell este un motor de automatizare orientat pe obiecte și un limbaj de scripting
  • Powershell oferă o experiență de linie de comandă bine integrată pentru sistemul de operare
  • Prima versiune PowerShell 1.0 a fost lansată în 2006
  • PowerShell permite invocarea scripturilor și cmdlet-urilor pe o mașină la distanță
  • PowerShell este preinstalat în toate cele mai recente versiuni ale Windows
  • Un cmdlet este o comandă ușoară utilizată în mediul PowerShell de bază Windows
  • Get, Start, Out, Stop, Set, New sunt comenzile PowerShell importante
  • Boolean, Byte, Chat, Decimal, Decimal, Long sunt un tip de date important pentru PowerShell
  • $Eroare. $Host, $Profile, $PID, $PSUICulture, $NULL sunt unele variabile speciale utilizate în PowerShell
  • Windows PowerShell Integrated Scripting Environment (ISE) este editorul implicit pentru PowerShell
  • PowerShell se integrează profund cu Windows OS, în timp ce Command Prompt este o interfață implicită de linie de comandă furnizată de Microsoft
  • PowerShell a devenit o alegere ideală pentru administratorii IT, deoarece ușurează operațiunile de gestionare și efortul în rețelele corporative mari