Powershell oktatóanyag kezdőknek

⚡ Okos összefoglaló

A PowerShell Scripting egy objektumorientált automatizálási motor, amely a .NET keretrendszerre épül. Parancsmagokat, szkripteket és egy szkriptnyelvet kombinál, hogy segítsen az informatikai rendszergazdáknak automatizálni a folyamatokat. Windows, szolgáltatások kezelése és távoli gépek csatlakoztatása egyetlen parancssorból.

  • 🚀 Indítsd el a jobb oldali shell-t: Nyissa meg a PowerShell vagy a PowerShell ISE programot a Start menüből, és futtassa rendszergazdaként, ha emelt szintű jogosultságokra van szüksége.
  • 🧩 Használjon parancsmagokat, ne szöveges parancsokat: A parancsmagok ige-főnév elnevezési mintát követnek, és .NET objektumokat adnak vissza, így a kimenet egy folyamaton keresztül a következő parancsmagba áramolhat.
  • 🔐 Gondosan állítsa be a végrehajtási szabályzatot: A Set-ExecutionPolicy és a RemoteSigned segítségével egyensúlyt teremthet a biztonság és a kényelem között .ps1 szkriptek futtatásakor.
  • 📁 Újrafelhasználható .ps1 szkriptek írása: Kombináljon parancsmagokat, változókat és folyamatokat egy .ps1 kiterjesztésű szövegfájlban az ismétlődő adminisztrációs feladatok automatizálásához.
  • 🤖 PowerShell párosítása mesterséges intelligenciával: A mesterséges intelligencia asszisztensei egyszerű angol nyelvű kéréseket futtatásra kész PowerShell-szkriptekké alakítanak, és sorról sorra elmagyarázzák a szokatlan parancsmagokat.

Powershell oktatóanyag kezdőknek

Mi az a PowerShell?

Windows PowerShell egy objektumorientált automatizáló motor és szkriptnyelv. IT szakemberek és rendszergazdák számára készült, akiknek a következők adminisztrációját kell irányítaniuk és automatizálniuk: Windows és más alkalmazások. A PowerShell kiterjeszti a tanult fogalmakat Windows Parancssor és Windows Script Host új objektumokkal, parancsmagokkal és egy hatékony folyamattal.

Egyesíti a szkriptelés rugalmasságát, a parancssor sebességét és a grafikus adminisztrációs eszközök mélységét. Segítségével a rendszergazdák hatékonyan oldhatják meg a problémákat, és kiküszöbölhetik az órákig tartó manuális munkát. Ez az oktatóanyag végigvezeti a PowerShell alapismeretein.

Miért érdemes PowerShellt használni?

A PowerShell használatának legfontosabb okai a következők:

  • Jól integrált parancssori élményt kínál az operációs rendszerhez.
  • Teljes hozzáférést biztosít a .NET keretrendszer minden típusához.
  • A vállalati rendszergazdák megbíznak benne.
  • Lehetővé teszi a szerver és a munkaállomás komponenseinek manipulálását néhány sorral.
  • Rendszergazdáknak szól, tiszta ige-főnév szintaxissal.
  • Biztonságosabb, mint a futás vbscript vagy más hagyományos szkriptnyelvek.

PowerShell története

A PowerShell 1.0-s verzióját először 2006-ban adták ki. A PowerShell jelenleg a 7.2-es és újabb verzióknál tart. Ahogy a kiadások megjelentek, a képességei és a tárhelykörnyezetei jelentősen bővültek.

A PowerShell verziónkénti története:

  • PowerShell 1.0 — támogatta a helyi közigazgatást Windows Server 2003.
  • PowerShell 2.0 — integrálva a következővel: Windows 7 és Windows Server 2008 R2. Hozzáadva a távoli elérési, tranzakciós, háttérfeladatok, események és hibakeresési funkciók.
  • PowerShell 3.0 — szállítva Windows 8 és Windows Server 2012 részeként Windows Felügyeleti keretrendszer. Hozzáadott ütemezett feladatok, munkamenet-kapcsolatok és automatikus modulbetöltés.
  • PowerShell 4.0 — szállítva Windows 8.1 és Windows Server 2012 R2. Hozzáadva a kívánt állapotkonfiguráció, a továbbfejlesztett hibakeresés és a hálózati diagnosztika.
  • PowerShell 5.0 — része Windows Management Framework 5. Hozzáadva a távoli hibakeresés, az osztálydefiníciók és a .NET felsorolások.
  • PowerShell 7.2 — .NET 6.0-ra épül. Új operátorokat, dinamikus hibanézeteket és automatikus verzióértesítéseket ad hozzá.

A PowerShell jellemzői

  • PowerShell távoli hozzáférés: szkriptek és cmdletek meghívása távoli gépen.
  • Háttérmunkák: szkriptek vagy folyamatok aszinkron futtatása a helyi gépen vagy sok távoli gépen.
  • Tranzakciók: Lehetővé teszi a cmdletek és a fejlesztők számára, hogy csoportosított műveleteket hajtsanak végre, amelyek együttesen véglegesíthetők vagy visszaállíthatók.
  • Esemény: figyelje a vezetői és rendszereseményeket, továbbítsa azokat és cselekedjen.
  • Hálózati fájlátvitel: natív támogatás a gépek közötti priorizált, aszinkron, szabályozott fájlátvitelhez a Background Intelligent Transfer Service (BITS) segítségével.

Hogyan indítsuk el a PowerShellt

A PowerShell minden újabb verzióján előre telepítve van. WindowsIndítsd el az alábbiak szerint.

Step 1) Keresés a PowerShellben Windows, majd jelölje ki és kattintson rá.

Indítsa el a PowerShellt

Step 2) Megnyílik a PowerShell ablak.

PowerShell ablak

Cmdlet vs. Command

A parancsmag (ejtsd: „command-let”) egy könnyűsúlyú parancs, amelyet a PowerShell környezetben használnak. A PowerShell parancsmagokat hív meg a parancssorba, és a PowerShell API-k segítségével létrehozhat saját parancsmagokat. A parancsmagok a következő módokon különböznek a hagyományos shell parancsoktól:

  • A parancsmagok azok . NET Framework osztályú objektumok; ezek nem futtathatók önálló végrehajtható fájlként.
  • A parancsmagok akár egy tucat sornyi kódban is megírhatók.
  • Az elemzést, a kimenet formázását és a hibák megjelenítését a futtatókörnyezet kezeli, nem maga a parancsmag.
  • A parancsmagok objektumokkal működnek, így a szövegfolyamok és az objektumok is áramolhatnak a folyamatokon keresztül.
  • A parancsmagok rekord alapúak, és egyszerre egyetlen objektumot dolgoznak fel.

A legtöbb PowerShell-funkció parancsmagokon keresztül érhető el, amelyek mindig ige-főnév elnevezési mintát használnak (mindig egyes számban). A parancsmagok objektumokat adnak vissza, nem szöveget. forgatókönyv — a cmdlettől eltérően — egy szövegfájlban tárolt parancsok sorozata, amelynek a neve .ps1 kiterjesztés.

A PowerShell tanulásához gyakran használt igék a következők:

  • Kap – visszaszerezni valamit.
  • Rajt — futtatni valamit.
  • Ki — kiad valamit.
  • megáll — megállítani valamit, ami fut.
  • Készlet – meghatározni valamit.
  • Újszerű – alkotni valamit.

Fontos PowerShell-parancsok

Kaphat segítséget: Tekintse meg a PowerShell-parancsok és -témakörök súgóját.

Példa: súgó megjelenítése a következőhöz: Format-Table parancs.

Get-Help Format-Table

Get-Help parancsmag

Get-Command: információt szerezni bármiről, amire hivatkozni lehet.

Példa: a gépre telepített parancsmagok és függvények listájának létrehozása.

Get-Command

Get-Command parancsmag

Szervizszolgáltatás: megkeresi az összes szolgáltatást a gépen.

Példa: minden olyan szolgáltatás lekérése, amelynek a neve „vm”-mel kezdődik.

Get-Service "vm*"

Get-Service parancsmag

Tagfelvétel: mutasd meg, mit lehet kezdeni egy tárggyal.

Példa: a Get-Service által visszaadott virtuálisgép-szolgáltatások tagjainak listázása.

Get-Service "vm*" | Get-Member

Get-Member parancsmag

Egyéb hasznos cmdletek:

  • Get-Module — a telepített parancscsomagok megjelenítése.
  • Get-Content — beolvas egy fájlt és feldolgozza a tartalmát.
  • Get-* helyettesítő karakter — listázza ki az összes „Get-” karakterlánccal kezdődő cmdletet.

Példa: hozzon létre egy mappát.

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

output:

Új elem kimenete

PowerShell adattípusok

A PowerShell támogatja a szabványos .NET adattípusokat, így bármilyen értéket tisztán tárolhat egy változóban.

PowerShell adattípusok

Speciális változók

A PowerShell számos beépített speciális változót tesz elérhetővé. A leghasznosabbakat az alábbiakban soroljuk fel.

Speciális változó Leírás
$Error A legutóbbi hibákat reprezentáló hibaobjektumok tömbje.
$Host Megjeleníti az aktuális tárhelyalkalmazás nevét.
$Profil A felhasználói profil teljes elérési útját tárolja az alapértelmezett shellhez.
$PID A folyamat azonosítóját tárolja.
$PSUICulture Az aktuális felhasználói felület kultúra nevét tartalmazza.
$NULL Az üres vagy null értéket tartalmazza.
$False A logikai FALSE értéket tartalmazza.
$Igaz Tartalmazza a logikai IGAZ értéket.

PowerShell szkriptek

A PowerShell szkriptek itt vannak tárolva: .ps1 fájlokat. Alapértelmezés szerint nem futtathat szkripteket dupla kattintással – ez a védelem megvédi a rendszert a véletlen sérülésektől. Szkript végrehajtásához kattintson rá jobb gombbal, és válassza a „Futtatás PowerShell-lel”.

Futtassa PowerShell-lel

A végrehajtási szabályzat szabályozza, hogy mely szkriptek futtathatók. Az aktuális szabályzat megtekintéséhez kattintson ide: Get-ExecutionPolicyLehetséges értékek a következők:

  • Korlátozott — szkriptek nem engedélyezettek. Ez az alapértelmezett beállítás.
  • AllSigned – csak megbízható fejlesztő által aláírt szkriptek futnak, és mindegyik megerősítést igényel.
  • Távoli aláírással — saját szkriptek futtatása, valamint megbízható forrásokból származó aláírt szkriptek.
  • Korlátlan — bármilyen szkript lefuthat (takarékosan használd).

A végrehajtási szabályzat módosításának lépései:

Step 1) Nyisson meg egy emelt szintű PowerShell-parancssort a PowerShell parancs jobb gombbal történő kiválasztásával, majd a Futtatás rendszergazdaként.

Futtassa a PowerShellt rendszergazdaként

Step 2) Futtassa az alábbi parancsokat.

  1. Get-ExecutionPolicy
  2. Set-ExecutionPolicy Unrestricted
  3. belép Y a megerősítő kérdésnél.
  4. Get-ExecutionPolicy

Végrehajtási szabályzat módosítása

Az első PowerShell-szkript

Nyisd meg a Jegyzettömböt és írd be:

Write-Host "Hello, Guru99!"

Mentse el a fájlt egy .ps1 kiterjesztés – például FirstScript.ps1.

FirstScript.ps1 mentése

A PowerShellben futtassa a szkriptet a következővel:

& "X:\FirstScript.ps1"

Futtassa a FirstScript.ps1 fájlt

Mi az a PowerShell ISE?

Az Windows PowerShell integrált szkriptelési környezet (ISE) a PowerShell alapértelmezett szerkesztője. Az ISE-ben parancsokat futtathat, teszteket írhat és szkripteket hibakereshet grafikus, ablakos környezetben. Támogatja a többsoros szerkesztést, a szintaxis színezését, a tabulátorok kiegészítését, a szelektív végrehajtást és egyebeket.

A PowerShell ISE egy konzolpanelt is kínál, amelyen közvetlenül futtathatók a parancsok, míg az oldalsó panelek a szkriptek forrását és az ISE-hez csatlakoztatott eszközöket jelenítik meg. Több szkriptablakot is megnyithat egyszerre – ez hasznos olyan szkriptek hibakeresésekor, amelyek más szkriptekben vagy modulokban definiált függvényektől függenek.

PowerShell ISE

Hozza létre újra a korábbi szkriptet az ISE-ben:

  1. Illeszd be a kódot a szerkesztőbe.
  2. Mentse el a szkriptet.
  3. Nyomja meg az F5 billentyűt a futtatásához.
  4. Figyelje meg a kimenetet a konzol panelen.

Szkript futtatása az ISE-ben

2. minta: a következő szkript ingyenesen jelenik meg virtuális memória a gépen.

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

Ingyenes virtuális memória szkript

PowerShell Concepts

A következő fogalmak alkotják a mindennapi PowerShell-munka szókincsét.

Koncepció Leírás
Parancsmagok Beépített parancsok, .NET nyelveken, például VB-ben vagy C#-ban írva. A fejlesztők PowerShell beépülő modulok betöltésével vagy írásával bővíthetik a készletet.
Funkciók Magában a PowerShell nyelven írt parancsok, IDE nélkül, például Visual Studio.
Scripts Szöveges fájlok lemezen a következővel: .ps1 kiterjesztés.
Alkalmazási területek Létező Windows a shellből meghívott programok.
Mi lenne, ha Azt utasítja a cmdletet, hogy ne hajtsa végre a műveletet, hanem írja le, hogy mi történne, ha végrehajtaná.
megerősít Utasítja a cmdletet, hogy végrehajtás előtt kérdést küldjön.
Bőbeszédű Magasabb szintű működési részletességet biztosít.
Debug Utasítja a cmdletet hibakeresési információk kibocsátására.
ErrorAction Meghatározza, hogy mit tegyen a cmdlet hiba esetén. Megengedett értékek: continue, stop, silentlycontinue, inquire.
ErrorVariable Megnevezi a hibainformációkat tároló változót.
OutVariable Utasítja a cmdletet, hogy a kimenetét egy adott változóban tárolja.
KiBuffer Meghatározott számú objektumot tárol, mielőtt továbbküldi őket a folyamaton.

A PowerShell szkriptek használatának előnyei

  • A PowerShell szkriptek hatékonyak és tömörek – néhány sorban is sokat elérhetsz.
  • A változókat a következővel deklaráljuk: $<variable> szintaxis.
  • A változók parancskimenetet, objektumokat és primitív értékeket tárolhatnak.
  • A változó típusát nem kell explicit módon megadni.

PowerShell vs. parancssor

PowerShell Parancssor
Mélyen integrálva a WindowsInteraktív parancssort és teljes szkriptnyelvet kínál. Az alapértelmezett parancssori felületet a következő biztosítja: MicrosoftEgy egyszerű Win32 alkalmazás, amely más Win32 objektumokkal kommunikál.
Interaktívan vagy automatizálási szkripteken keresztül meghívható parancsmagokat használ. Nincsenek parancsmagok.
A kimenetet objektumként kezeli, így az egy másik cmdletbe áramolhat a folyamaton keresztül. A kimenet egy sima szövegfolyam, nem objektumok.
Fejlett funkciók, képességek és belső architektúra. Alap shell, amely alkalmas a hagyományos kötegelt feladatokhoz.

A PowerShell alkalmazásai

A PowerShell az informatikai rendszergazdák standard választásává vált, mivel drámaian csökkenti a nagyvállalati hálózatokon átívelő erőfeszítéseket. Képzelje el, hogy több mint négyszáz szervert kezel, és bevezet egy új biztonsági megoldást, amely minden gazdagépen futó adott szolgáltatástól függ.

Az egyes szerverekre való manuális bejelentkezés lassú és hibalehetőségekkel jár. Egyetlen PowerShell szkript percek alatt felméri az összes szervert, jelentést készít arról, hogy mely hosztokon fut már a szolgáltatás, sőt, a többi szerveren engedélyezi is azt. A szkript egyszer rögzíti a szándékot, és megbízhatóan alkalmazza azt az egész szerveren.

GYIK

PowerShell automatizálja Windows rendszeradminisztráció – szolgáltatások, fájlok, felhasználók és szerverek kezelése – egy objektumorientált parancssoron és szkriptnyelven keresztül, amely a .NET keretrendszerre épül.

A cmdlet egy könnyűsúlyú .NET osztályobjektum, amely ige-főnév nevet használ, és objektumokat ad vissza. Más parancsértelmezőkben egy hagyományos parancs sima szöveget ad ki, és saját maga kezeli az elemzést és formázást.

A PowerShell objektumokkal működik, és támogatja a parancsmagokat, a szkripteket és a mély .NET integrációt. A Command Prompt egy alapvető szövegalapú parancsértelmező, amelynek parancsai objektumok helyett sima szöveget adnak ki.

A .ps1 fájl egy PowerShell szkript – egy szövegfájl, amely egy vagy több PowerShell parancsot tartalmaz. Alapértelmezés szerint nem futtatható dupla kattintással; a konzolról vagy a Futtatás PowerShell-lel paranccsal hajtható végre.

Nyissa meg a PowerShell parancsot rendszergazdaként, és futtassa a Set-ExecutionPolicy parancsot egy olyan értékkel, mint a RemoteSigned vagy az Unrestricted, majd erősítse meg. A Get-ExecutionPolicy paranccsal ellenőrizze az aktuális beállítást.

Az Integrated Scripting Environment (ISE) a PowerShell beépített grafikus felhasználói felületének szerkesztője szkriptek írásához, futtatásához, teszteléséhez és hibakereséséhez, szintaxisszínezéssel, fülkiegészítéssel és több szkriptfüllel.

A mesterséges intelligencia által fejlesztett asszisztensek parancsmagokat javasolnak, elmagyarázzák a szkriptek működését, és gépelés közben észlelik a hibákat. Segítenek a rendszergazdáknak a feladatok gyorsabb automatizálásában és az egyszerű angol nyelvű kérések működő PowerShell-parancsokká alakításában.

Igen. A mesterséges intelligencia által fejlesztett kódsegédek teljes PowerShell-szkripteket generálnak egy egyszerű angol leírásból, például „sorolja fel az összes leállított szolgáltatást és indítsa újra őket”, és elmagyarázzák az egyes cmdleteket, hogy a futtatás előtt áttekinthesse őket.

Foglald össze ezt a bejegyzést a következőképpen: