Vodič za Powershell za početnike

⚡ Pametni sažetak

PowerShell Scripting je objektno orijentirani automatizacijski mehanizam izgrađen na .NET frameworku. Kombinira cmdlete, skripte i skriptni jezik kako bi pomogao IT administratorima u automatizaciji Windows, upravljati uslugama i povezivati ​​udaljene strojeve iz jedne naredbene linije.

  • 🚀 Pokrenite desnu ljusku: Otvorite PowerShell ili PowerShell ISE iz izbornika Start i pokrenite ga kao administrator kada vam trebaju povišena ovlaštenja.
  • 🧩 Koristite cmdlete, a ne tekstualne naredbe: Cmdleti slijede obrazac imenovanja glagol-imenica i vraćaju .NET objekte, tako da izlaz može teći u sljedeći cmdlet kroz cjevovod.
  • 🔐 Pažljivo postavite pravila izvršenja: Koristite Set-ExecutionPolicy s RemoteSigned kako biste uravnotežili sigurnost i praktičnost prilikom pokretanja .ps1 skripti.
  • 📁 Napišite ponovno upotrebljive .ps1 skripte: Kombinirajte cmdlete, varijable i cjevovode u tekstualnoj datoteci s ekstenzijom .ps1 za automatizaciju ponavljajućih administratorskih zadataka.
  • 🤖 Uparite PowerShell s umjetnom inteligencijom: AI asistenti pretvaraju zahtjeve na običnom engleskom jeziku u PowerShell skripte spremne za izvršavanje i objašnjavaju nepoznate cmdlete redak po redak.

Vodič za Powershell za početnike

Što je PowerShell?

Windows PowerShell je objektno orijentirani automatizacijski mehanizam i skriptni jezik. Namijenjen je IT stručnjacima i sistemskim administratorima kojima je potrebna kontrola i automatizacija administracije Windows i druge aplikacije. PowerShell proširuje koncepte naučene u Windows Naredbeni redak i Windows Script Host s novim objektima, cmdletima i moćnim cjevovodom.

Kombinira fleksibilnost skriptiranja, brzinu naredbenog retka i dubinu GUI administratorskog alata. Pomoću njega administratori mogu učinkovito rješavati probleme i eliminirati sate ručnog rada. Ovaj vodič vodi vas kroz osnove koje su vam potrebne za učenje PowerShella od nule.

Zašto koristiti PowerShell?

Najvažniji razlozi za korištenje PowerShella su:

  • Nudi dobro integrirano iskustvo naredbenog retka za operativni sustav.
  • Pruža potpuni pristup svim vrstama u .NET frameworku.
  • Vjeruju mu sistemski administratori u svim poduzećima.
  • Omogućuje vam manipuliranje komponentama poslužitelja i radne stanice pomoću nekoliko redaka.
  • Namijenjeno administratorima sustava s čistom sintaksom glagola i imenice.
  • Sigurnije od trčanja VBScript ili drugi naslijeđeni skriptni jezici.

PowerShell povijest

PowerShell 1.0 prvi je put objavljen 2006. godine. PowerShell je sada u verziji 7.2 i novijoj. Kako su se izdanja isporučivala, njegove su mogućnosti i okruženja za hosting značajno rasle.

Povijest PowerShella po verzijama:

  • PowerShell 1.0 — podržana lokalna uprava Windows 2003 poslužitelj.
  • PowerShell 2.0 — integrirano s Windows 7 i Windows Server 2008 R2. Dodani su udaljeni rad, transakcije, pozadinski poslovi, događaji i otklanjanje pogrešaka.
  • PowerShell 3.0 — isporučuje se s Windows 8 i Windows Server 2012 kao dio Windows Okvir za upravljanje. Dodani su zakazani poslovi, povezivanje sesija i automatsko učitavanje modula.
  • PowerShell 4.0 — isporučuje se s Windows 8.1 i Windows Server 2012 R2. Dodana je konfiguracija željenog stanja, poboljšano otklanjanje pogrešaka i dijagnostika mreže.
  • PowerShell 5.0 — dio Windows Management Framework 5. Dodano je udaljeno otklanjanje pogrešaka, definicije klasa i .NET nabrajanja.
  • PowerShell 7.2 — izgrađeno na .NET 6.0. Dodaje nove operatore, dinamičke prikaze pogrešaka i automatske obavijesti o verzijama.

Značajke PowerShella

  • Udaljeno upravljanje PowerShellom: pozivanje skripti i cmdleta na udaljenom računalu.
  • Pozadinski poslovi: asinkrono izvršavati skripte ili cjevovode na lokalnom računalu ili mnogim udaljenim računalima.
  • Transakcije: Omogućite cmdletima i programerima izvođenje grupiranih operacija koje se mogu zajedno potvrditi ili poništiti.
  • Evening: osluškivati, prosljeđivati ​​i djelovati na upravljačke i sistemske događaje.
  • Mrežni prijenos datoteka: izvorna podrška za prioritetni, asinhroni, ograničeni prijenos datoteka između računala putem usluge Background Intelligent Transfer Service (BITS).

Kako pokrenuti PowerShell

PowerShell je unaprijed instaliran na svakoj novijoj verziji WindowsPokrenite ga na sljedeći način.

Korak 1) Potražite PowerShell u Windows, a zatim ga odaberite i kliknite.

Pokrenite PowerShell

Korak 2) Otvara se PowerShell prozor.

PowerShell prozor

Cmdlet protiv naredbe

A cmdlet (izgovara se „command-let“) je lagana naredba koja se koristi u PowerShell okruženju. PowerShell poziva cmdlete na promptu, a možete stvoriti vlastite pomoću PowerShell API-ja. Cmdleti se razlikuju od tradicionalnih shell naredbi na sljedeće načine:

  • Cmdleti su . NET Framework objekti klase; ne mogu se izvršavati kao samostalne izvršne datoteke.
  • Cmdleti se mogu napisati u samo desetak redaka koda.
  • Parsiranje, formatiranje izlaza i prikaz grešaka obrađuje runtime, a ne sam cmdlet.
  • Cmdleti rade s objektima, tako da i tekstualni tokovi i objekti mogu teći kroz cjevovode.
  • Cmdleti se temelje na zapisima i obrađuju jedan objekt istovremeno.

Većina PowerShell funkcionalnosti isporučuje se putem cmdleta, koji uvijek koriste obrazac imenovanja glagol-imenica (uvijek jednina). Cmdleti vraćaju objekte, a ne tekst. rukopis — za razliku od cmdleta — je niz naredbi pohranjenih u tekstualnoj datoteci s .ps1 produženje.

Uobičajeni glagoli koje ćete koristiti za učenje PowerShella uključuju:

  • Dobiti — dohvatiti nešto.
  • Start — pokrenuti nešto.
  • Van — iznijeti nešto.
  • zaustaviti — zaustaviti nešto što je u pogonu.
  • Postaviti — definirati nešto.
  • Novo — stvoriti nešto.

Važne PowerShell naredbe

Dobiti pomoć: pogledajte pomoć za PowerShell naredbe i teme.

Primjer: prikaz pomoći za Format-Table naredba.

Get-Help Format-Table

cmdlet Get-Help

Get-Command: dobiti informacije o bilo čemu što se može pozvati.

Primjer: generiranje popisa cmdleta i funkcija instaliranih na računalu.

Get-Command

cmdlet Get-Command

Get-Service: pronalazi sve usluge na stroju.

Primjer: dohvatite svaku uslugu čije ime počinje s „vm“.

Get-Service "vm*"

cmdlet Get-Service

Pridruži se članu: pokazati što se može učiniti s objektom.

Primjer: popis članova vm servisa koje vraća Get-Service.

Get-Service "vm*" | Get-Member

cmdlet Get-Member

Ostali korisni cmdleti:

  • Get-Module — prikaz instaliranih paketa naredbi.
  • Get-Content — pročitati datoteku i obraditi njezin sadržaj.
  • Get-* zamjenski znak — navedite sve cmdlete koji počinju s „Get-“.

Primjer: stvaranje mape.

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

Izlaz:

Izlaz nove stavke

Vrste podataka PowerShella

PowerShell podržava standardne .NET tipove podataka tako da bilo koju vrijednost možete čisto pohraniti u varijablu.

Vrste podataka PowerShella

Posebne varijable

PowerShell nudi niz ugrađenih posebnih varijabli. Najkorisnije su navedene u nastavku.

Posebna varijabla Description
$Error Niz objekata pogrešaka koji predstavljaju najnovije pogreške.
$Host Prikazuje naziv trenutne aplikacije za hosting.
$Profil Pohranjuje punu putanju korisničkog profila za zadanu ljusku.
$PID Pohranjuje identifikator procesa.
$PSUICulture Sadrži naziv trenutne kulture korisničkog sučelja.
$NULL Sadrži praznu ili null vrijednost.
$False Sadrži logičku vrijednost FALSE.
$Istina Sadrži logičku vrijednost TRUE.

PowerShell skripte

PowerShell skripte se pohranjuju u .ps1 datoteke. Prema zadanim postavkama, ne možete pokrenuti skriptu dvostrukim klikom na nju - ova zaštita štiti sustav od slučajne štete. Za izvršavanje skripte kliknite je desnom tipkom miša i odaberite "Pokreni s PowerShellom".

Pokreni s PowerShellom

Pravila izvršavanja kontroliraju koje se skripte smiju izvršavati. Pogledajte trenutna pravila pomoću Get-ExecutionPolicyMoguće vrijednosti uključuju:

  • Ograničen — skripte nisu dopuštene. Ovo je zadana postavka.
  • Svi Potpisani — pokreću se samo skripte koje je potpisao pouzdani programer, a svaka zahtijeva potvrdu.
  • RemoteSigned — pokreću se vaši vlastiti skripti, plus potpisani skripti iz pouzdanih izvora.
  • Neograničen — može se pokrenuti bilo koja skripta (koristite štedljivo).

Koraci za promjenu pravila izvršenja:

Korak 1) Otvorite PowerShell upit s povišenim privilegijama tako da desnom tipkom miša kliknete PowerShell i odaberete Pokreni kao administrator.

Pokrenite PowerShell kao administrator

Korak 2) Izvršite naredbe u nastavku.

  1. Get-ExecutionPolicy
  2. Set-ExecutionPolicy Unrestricted
  3. ući Y na upit za potvrdu.
  4. Get-ExecutionPolicy

Promjena pravila izvršavanja

Prva PowerShell skripta

Otvorite Notepad i upišite:

Write-Host "Hello, Guru99!"

Spremite datoteku s a .ps1 proširenje - na primjer, FirstScript.ps1.

Spremi FirstScript.ps1

U PowerShellu pokrenite skriptu sa:

& "X:\FirstScript.ps1"

Pokreni FirstScript.ps1

Što je PowerShell ISE?

The Windows Integrirano okruženje za skriptiranje PowerShella (ISE) je zadani uređivač za PowerShell. U ISE-u možete pokretati naredbe, pisati testove i ispravljati skripte u grafičkom okruženju temeljenom na prozoru. Podržava uređivanje više redaka, bojanje sintakse, dovršavanje tabulatorom, selektivno izvršavanje i još mnogo toga.

PowerShell ISE također nudi konzolnu ploču koja izravno pokreće naredbe, dok bočne ploče prikazuju izvor vaših skripti i sve alate priključene na ISE. Možete otvoriti više prozora skripti odjednom - korisno prilikom otklanjanja pogrešaka u skriptama koje ovise o funkcijama definiranim u drugim skriptama ili modulima.

PowerShell ISE

Ponovno stvorite raniji skript u ISE-u:

  1. Zalijepite kod u editor.
  2. Spremi skriptu.
  3. Pritisnite F5 da biste ga pokrenuli.
  4. Promatrajte izlaz u oknu konzole.

Pokreni skriptu u ISE-u

Uzorak 2: Sljedeći skript prikazuje besplatno virtualna memorija na stroju.

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

Besplatna skripta za virtualnu memoriju

PowerShell Concepts

Sljedeći koncepti čine vokabular svakodnevnog rada s PowerShellom.

Koncept Description
Cmdlets Ugrađene naredbe napisane u .NET jezicima kao što su VB ili C#. Programeri proširuju skup učitavanjem ili pisanjem PowerShell snap-inova.
Funkcije Naredbe napisane u samom PowerShell jeziku, bez potrebe za IDE-om, kao što je Visual Studio.
Skripte Tekstualne datoteke na disku s .ps1 produženje.
Aplikacije Postojeći Windows programi koji se pozivaju iz ljuske.
Što ako Naređuje cmdletu da se ne izvrši, već da opiše što bi se dogodilo ako bi se to dogodilo.
potvrditi Upućuje cmdlet da prije izvršavanja prikaže upit.
verbalan Pruža višu razinu operativnih detalja.
Otkloniti neispravnost Daje uputu cmdletu da emitira informacije za otklanjanje pogrešaka.
ErrorAction Definira što cmdlet radi u slučaju pogreške. Dopuštene vrijednosti: continue, stop, silentlycontinue, inquire.
ErrorVariable Imenuje varijablu koja sadrži informacije o pogrešci.
OutVariable Naređuje cmdletu da pohrani svoj izlaz u određenu varijablu.
VanBuffer Sadrži određeni broj objekata prije nego što ih pošalje niz cjevovod.

Prednosti korištenja PowerShell skripti

  • PowerShell skripte su moćne i koncizne - možete postići mnogo u samo nekoliko redaka.
  • Varijable se deklariraju s $<variable> sintaksa.
  • Varijable mogu sadržavati izlaz naredbi, objekte i primitivne vrijednosti.
  • Tip varijable ne mora biti eksplicitno naveden.

PowerShell u odnosu na naredbeni redak

PowerShell Command Prompt
Duboko integriran s WindowsNudi interaktivnu komandnu liniju i potpuni skriptni jezik. Zadano sučelje naredbenog retka koje pruža MicrosoftJednostavna Win32 aplikacija koja komunicira s drugim Win32 objektima.
Koristi cmdlete koji se mogu pozvati interaktivno ili putem skripti za automatizaciju. Nema cmdleta.
Tretira izlaz kao objekte tako da može teći u drugi cmdlet kroz cjevovod. Izlaz je običan tok teksta, a ne objekti.
Napredan u značajkama, mogućnostima i unutarnjoj arhitekturi. Osnovna ljuska, prikladna za naslijeđene batch zadatke.

Primjene PowerShella

PowerShell je postao standardni izbor za IT administratore jer dramatično smanjuje napor u velikim korporativnim mrežama. Zamislite da upravljate s više od četiristo poslužitelja i uvodite novo sigurnosno rješenje koje ovisi o određenoj usluzi koja se izvodi na svakom hostu.

Ručna prijava na svaki poslužitelj je spora i sklona greškama. Jedna PowerShell skripta može pregledati svaki poslužitelj u nekoliko minuta, izvijestiti koji hostovi već pokreću uslugu, pa čak i omogućiti je na ostalima. Skripta jednom bilježi namjeru i pouzdano je primjenjuje na cijelom posjedu.

Pitanja i odgovori

PowerShell automatizira Windows administracija sustava — upravljanje uslugama, datotekama, korisnicima i poslužiteljima — putem objektno orijentiranog komandnog retka i skriptnog jezika izgrađenog na .NET frameworku.

Cmdlet je lagani .NET objekt klase koji koristi glagolsko-imenički naziv i vraća objekte. Tradicionalna naredba u drugim ljuskama ispisuje običan tekst i sama obrađuje parsiranje i formatiranje.

PowerShell radi s objektima i podržava cmdlete, skriptiranje i duboku .NET integraciju. Naredbeni redak je osnovna tekstualna ljuska čije naredbe ispisuju običan tekst umjesto objekata.

.ps1 datoteka je PowerShell skripta - tekstualna datoteka koja sadrži jednu ili više PowerShell naredbi. Prema zadanim postavkama ne može se pokrenuti dvostrukim klikom; izvršava se iz konzole ili pomoću naredbe Pokreni s PowerShellom.

Otvorite PowerShell kao administrator i pokrenite Set-ExecutionPolicy s vrijednošću kao što je RemoteSigned ili Unrestricted, a zatim potvrdite. Koristite Get-ExecutionPolicy za provjeru trenutne postavke.

Integrirano okruženje za skriptiranje (ISE) je PowerShell-ov ugrađeni GUI editor za pisanje, pokretanje, testiranje i otklanjanje pogrešaka u skriptama, s bojanjem sintakse, dovršavanjem tabulatora i više tabulatora skripti.

AI asistenti predlažu cmdlete, objašnjavaju ponašanje skripti i otkrivaju pogreške dok tipkate. Pomažu administratorima da brže automatiziraju zadatke i pretvore zahtjeve na običnom engleskom jeziku u funkcionalne PowerShell naredbe.

Da. AI kodni asistenti generiraju cjelovite PowerShell skripte iz opisa na jednostavnom engleskom jeziku, kao što je „popis svih zaustavljenih servisa i njihovo ponovno pokretanje“ te objašnjavaju svaki cmdlet kako biste ga mogli pregledati prije pokretanja.

Sažmite ovu objavu uz: