Tutorial Powershell pentru începători: Aflați scripturile Powershell
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
Pas 2) Se deschide fereastra Power Shell
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
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
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*"
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
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:
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”.
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”
Pas 2) Introduceți următoarele comenzi
- Get-ExecutionPolicy
- Set-executionpolicy nerestricționat
- Introdu Y în prompt
- Get-ExecutionPolicy
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
În Powershell, apelați scriptul folosind comanda
& "X:\FirstScript.ps1"
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.
Același script pe care l-am creat în notepad poate fi creat în ISE
- Lipiți codul în editor
- Salvați Scriptul
- Folosiți F5 pentru a rula scriptul
- Observați ieșirea din consolă
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 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