Powershell oktatóanyag kezdőknek: Ismerje meg a Powershell-szkripteket

Kezdjük el tanulni a Powershell-t Lessons. Először is megtanuljuk:

Mi az a PowerShell?

Windows PowerShell egy objektum-orientált automatizálási motor és szkriptnyelv. Főleg informatikai szakembereknek és rendszergazdáknak készült, hogy ellenőrizzék és automatizálják az adminisztrációt Windows OS és egyéb alkalmazások. Lenyűgöző új koncepciókat kínál a megszerzett tudás és a programon belül létrehozott szkriptek bővítésére Windows Parancssor és Windows Script Host környezetek.

Egyesíti a szkriptelés rugalmasságát, a parancssori sebességet és a grafikus felhasználói felület alapú adminisztrációs eszköz erejét. Lehetővé teszi a problémák hatékony megoldását azáltal, hogy segít a rendszergazdáknak a jövőbeni kézi munkaórák kiküszöbölésében. Végigmegyünk minden fontos szemponton, amelyet tudnia kell a PowerShell megtanulásához.

Ez egy teljes útmutató a Powershell szkriptelési alapjaihoz… kezdjük!

Miért érdemes Powershell-t használni?

Íme néhány fontos ok a Powershell használatára:

  • A Powershell jól integrált parancssori élményt kínál az operációs rendszerhez
  • A PowerShell teljes hozzáférést biztosít a .NET-keretrendszer összes típusához
  • A rendszergazdák megbízhatóak.
  • A PowerShell egy egyszerű módja a kiszolgáló- és munkaállomás-összetevők kezelésének
  • Egyszerűbb szintaxis létrehozásával a rendszergazdák számára készült
  • A PowerShell biztonságosabb, mint a futás vbscript vagy más szkriptnyelvek

PowerShell története

A PowerShell első 1.0-s verziója 2006-ban jelent meg. Ma a PowerShell 7.2-es verziója van. Ahogy telt az év és a verzió, a PowerShell képességei és tárhelykörnyezete jelentősen bővült.

Tekintse meg a Powershell verzió szerinti történetét:

  • A PowerShell 1. verziója támogatta a helyi adminisztrációt Windows szerver 2003
  • A PowerShell 2.0 integrálva lett Windows 7 és Windows Server 2008 R2. Ez a verzió támogatja a távvezérlést, és javítja a PowerShell képességeit, például tranzakciókat, háttérfeladatokat, eseményeket, hibakeresést stb.
  • A PowerShell 3.0 a program belső részeként jelent meg Windows irányítási keret. Telepítésre került Windows 8 és Windows Server 2012. Felvehet és ütemezhet feladatokat, munkamenet-kapcsolatot, automatikus modulbetöltést stb.
  • A PowerShell 4.0-t együtt szállították Windows 8.1 és Windows Server 2012 R2. Ebben a verzióban hozzáadtuk a kívánt állapotkonfiguráció támogatását, a továbbfejlesztett hibakeresést és a hálózati diagnosztikát.
  • A PowerShell 5.0 belső részeként jelent meg Windows felügyeleti keretrendszer 5. Ebben a verzióban a szolgáltatások a távoli hibakeresés, osztálydefiníciók, .NET felsorolások stb.
  • Megjelent a PowerShell 7.2. .NET 6.0-ra épül. Ez a verzió új operátorokat, egyszerűsített és dinamikus hibanézetet, automatikus új verzióértesítéseket stb. kínál.

Ebben a Powershell szkriptelési oktatóanyagban a következő lépésben a Powershell szolgáltatásairól fogunk tanulni.

A Powershell jellemzői

  • PowerShell távoli: A PowerShell lehetővé teszi a parancsfájlok és parancsmagok meghívását egy távoli gépen.
  • Háttér állások: Segít aszinkron módon meghívni a parancsfájlt vagy a folyamatot. A feladatokat a helyi gépen vagy több távolról működtetett gépen is futtathatja.
  • Tranzakciók: Engedélyezze a parancsmagot, és lehetővé teszi a fejlesztők számára a végrehajtást
  • Este: Ez a parancs segít a felügyeleti és rendszeresemények figyelésében, továbbításában és az azokra vonatkozó műveletekben.
  • Hálózati fájlátvitel: A Powershell natív támogatást kínál a fájlok elsőbbségi, aszinkron, fojtott, gépek közötti átviteléhez a Background Intelligent Transfer Service (BITS) technológia segítségével.

A PowerShell elindítása

Ebben a Powershell-szkript oktatóanyagban megtudjuk, hogyan indítható el a Powershell Windows OS.

A PowerShell minden legújabb verziójában előre telepítve van Windows. Ehhez el kell indítanunk a PowerShellt, és követnünk kell a megadott lépéseket:

Step 1) Keresés a PowerShellben Windows. Válassza ki és kattintson

Indítsa el a PowerShellt

Step 2) Megnyílik a Power Shell ablak

Indítsa el a PowerShellt

PowerShell parancsmag

A parancsmag, amelyet Command letnek is neveznek, egy egyszerű parancs, amelyet a Window PowerShell-környezetben használnak. A PowerShell meghívja ezeket a parancsmagokat a parancssorban. A PowerShell APIS használatával parancsmagokat hozhat létre és hívhat meg.

Cmdlet vs. Command

A parancsmagok a következő módokon különböznek a többi parancshéj-környezetben lévő parancsoktól ?

  • A parancsmagok azok . NET Framework osztály objektumai Nem hajtható végre külön
  • A parancsmagok akár egy tucat sornyi kódból is összeállíthatnak
  • Az elemzést, a kimeneti formázást és a hibabemutatót nem kezelik a parancsmagok
  • A parancsmagok folyamata objektumokon működik. Így a szövegfolyam és az objektumok nem adhatók át kimenetként a feldolgozáshoz
  • A parancsmagok rekord alapúak, így egyszerre egyetlen objektumot dolgoznak fel

A PowerShell legtöbb funkciója a parancsmagból származik, amely mindig ige-főnév formátumban van, nem többes számban. Ráadásul a parancsmag objektumokat ad vissza, nem szöveget. A parancsmag több sorból álló, .ps1 kiterjesztésű szövegfájlban tárolt parancsok sorozata.

A cmdlet mindig egy igéből és egy főnévből áll, amelyeket kötőjellel választanak el. A PowerShell megtanulásához használt igék közül néhány:

  • Kap - Hogy szerezzek valamit
  • Rajt – Futni valamit
  • Ki — Kiadni valamit
  • megáll - Megállítani valamit, ami fut
  • Készlet - Meghatározni valamit
  • Újszerű - Létrehozni valamit

PowerShell parancsok

Az alábbiakban felsoroljuk a fontos PowerShell-parancsokat:

Kaphat segítséget: Súgó a PowerShell-parancsokról és témakörökről

Példa: Súgó információ megjelenítése a Format-Table parancsról

Get-Help Format-Table

Cmdlet vs. Command

Get-Command: Szerezzen információkat mindenről, amire hivatkozni lehet

Példa Powershell-szkriptre: A gépre telepített parancsmagok, függvények listájának létrehozása

Get-Command

Cmdlet vs. Command

Szervizszolgáltatás: Megkeresi az összes olyan parancsmagot, amelyben a „szolgáltatás” szó szerepel.

Példa: Szerezzen be minden „vm”-vel kezdődő szolgáltatást

Get-Service "vm*"

Cmdlet vs. Command

Tagság: Mutassa meg, mit lehet tenni egy tárggyal

Példa: Szerezze be a VM-folyamatok tagjait.

Get-Service "vm*" | Get-Member

Cmdlet vs. Command

Egyéb parancsok:

  • Get Module Megjeleníti a parancscsomagokat
  • Tartalom beszerzése Ez a parancsmag képes fájlokat fogadni, feldolgozni a tartalmát, és tenni is tud vele valamit
  • Get- get Megkeresi az összes parancsmagot, amelyek a "get-" szóval kezdődnek

Példa: Hozzon létre egy mappát

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

output:

Cmdlet vs. Command

Powershell adattípusok

Powershell adattípusok
Powershell adattípusok

Speciális változók

Speciális változó Leírás
$Error Hibaobjektumok tömbje, amely a legújabb hibákat jeleníti meg
$Host Jelenítse meg az aktuális tárhely alkalmazás nevét
$Profil Az alapértelmezett shell felhasználói profiljának teljes elérési útját tárolja
$PID Tárolja a folyamatazonosítót
$PSUICulture A jelenlegi felhasználói felületi kultúra nevét viseli.
$NULL Üres vagy NULL értéket tartalmaz.
$False FALSE értéket tartalmaz
$Igaz IGAZ értéket tartalmaz

PowerShell szkriptek

A Powershell-szkriptek .ps1 fájlban tárolódnak. Alapértelmezés szerint nem futtathat szkriptet a fájlra való dupla kattintással. Ez megvédi a rendszert a véletlen sérülésektől. Egy szkript végrehajtásához:

1. lépés: kattintson rá jobb gombbal, és kattintson a „Futtatás PowerShell-lel” lehetőségre.

PowerShell szkriptek

Ezenkívül van egy szabályzat, amely korlátozza a szkriptek végrehajtását. Ezt a házirendet a Get-ExecutionPolicy parancs futtatásával tekintheti meg.

A következő kimenetek egyikét kapja meg:

  • Korlátozott— Nem engedélyezettek a szkriptek. Ez az alapértelmezett beállítás, így a parancs futtatásakor először jelenik meg.
  • AllSigned— Megbízható fejlesztő által aláírt szkripteket futtathat. Ennek a beállításnak a segítségével a szkript megerősítést kér a futtatás előtt.
  • Távoli aláírással— Futtathatja saját vagy szkriptjeit megbízható fejlesztő által aláírt.
  • Korlátlan— Bármilyen szkriptet futtathat, amelyet futtatni szeretne

A végrehajtási szabályzat megváltoztatásának lépései

Step 1) Nyisson meg egy emelt szintű PowerShell-promptot. Kattintson a jobb gombbal a PowerShellre, majd a „Futtatás rendszergazdaként” elemre.

PowerShell szkriptek

Step 2) Írja be a következő parancsokat

  1. Get-ExecutionPolicy
  2. A készlet-végrehajtási politika korlátlan
  3. Írja be az Y-t a promptba
  4. Get-ExecutionPolicy

PowerShell szkriptek

Az első PowerShell-szkript

Jegyzettömbbe írja be a következő parancsot

Write-Host "Hello, Guru99!"

A PowerShell-szkriptek ps1 kiterjesztéssel rendelkeznek. Mentse a fájlt FirstScript.ps1 néven

Az első PowerShell-szkript

A Powershellben hívja meg a szkriptet a paranccsal

& "X:\FirstScript.ps1"

Az első PowerShell-szkript

Mi az a PowerShell ISE?

A Windows A PowerShell Integrated Scripting Environment (ISE) az alapértelmezett szerkesztő Windows PowerShell. Ebben az ISE-ben parancsokat, írótesztet és hibakereső szkripteket futtathat egy ablakalapú grafikus felhasználói felületen. Többsoros szerkesztést, szintaktikai színezést, tabulátor-kiegészítést, szelektív végrehajtást és sok más dolgot végezhet.

Windows A PowerShell ISE lehetővé teszi a parancsok futtatását a konzol ablaktáblájában is. Ugyanakkor támogatja az ablaktáblákat is, amelyek segítségével egyidejűleg megtekintheti a szkript forráskódját és más eszközöket, amelyeket csatlakoztathat az ISE-hez.

Akár több script ablakot is megnyithat egyszerre. Ez különösen akkor hasznos, ha olyan szkriptet keres, amely más szkriptekben vagy modulokban meghatározott függvényeket használ.

PowerShell ISE

PowerShell ISE

Ugyanaz a szkript, amelyet a Jegyzettömbben készítettünk, létrehozható az ISE-ben

  1. Illessze be a kódot a szerkesztőbe
  2. Szkript mentése
  3. Használja az F5 billentyűt a szkript futtatásához
  4. Figyelje meg a kimenetet a konzolban

PowerShell ISE

2. minta:

A következő kód az ingyenes Virtuális memória a gépedben

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

PowerShell ISE

PowerShell Concepts

Ebben a Powershell kezdőknek szóló oktatóanyagában a fontos Powershell-fogalmakat fogjuk megismerni:

Parancsmagok A parancsmagok .net nyelveken, például VB vagy C# írt build-parancsok. Lehetővé teszi a fejlesztők számára a parancsmagok készletének kiterjesztését PowerShell beépülő modulok betöltésével és írásával.
Funkciók A függvények PowerShell nyelven írt parancsok. Más IDE használata nélkül is fejleszthető Visual Studio és fejlesztők.
Scripts A szkriptek .ps1 kiterjesztésű szövegfájlok a lemezen
Alkalmazási területek Az alkalmazások létező Windows programok.
Mi van ha Azt mondja a parancsmagnak, hogy ne hajtsa végre, hanem mondja meg, mi történne, ha a parancsmag futna.
megerősít Utasítsa a parancsmagot a parancs végrehajtására a parancs végrehajtása előtt.
Bőbeszédű Magasabb részletgazdagságot biztosít.
Debug Utasítja a parancsmagot, hogy adjon meg hibakeresési információkat.
ErrorAction Arra utasítja a parancsmagot, hogy hiba esetén egy adott műveletet hajtson végre. Az engedélyezett cselekvések folytatódnak, megállnak, csendben – folytassák és érdeklődjenek.
ErrorVariable Megadja azt a változót, amely a hibainformációkat tartalmazza.
OutVariable Megmondja a parancsmagnak, hogy egy adott változót használjon a kimeneti információk tárolására
KiBuffer Utasítja a parancsmagot, hogy a folyamatban lévő következő parancsmag meghívása előtt tartsa meg az objektumok adott számát.

A PowerShell-szkript használatának előnyei

  • A PowerShell-szkriptek nagyon hatékonyak, és kevesebb sorban sok mindent el tudnak végezni.
  • A változók deklarálása $ formában történik
  • Változók használhatók a parancsok, objektumok és értékek kimenetének megtartására.
  • A változó „típusát” nem kell megadni.

PowerShell vs. Parancssor

PowerShell Parancssor
A PowerShell mélyen integrálódik a Windows OS. Interaktív parancssori felületet és szkriptnyelvet kínál. A Command Prompt egy alapértelmezett parancssori felület, amelyet a Microsoft. Ez egy egyszerű win32-alkalmazás, amely képes kommunikálni és kommunikálni bármely win32-objektummal Windows operációs rendszer.
A PowerShell úgynevezett parancsmagokat használ. Meghívható a futási környezetben vagy az automatizálási parancsfájlokban. A parancssorból nem kínálnak ilyen funkciókat.
A PowerShell objektumnak tekinti őket. Így a kimenet bemenetként továbbítható más parancsmagokhoz a folyamaton keresztül. A parancssor vagy akár a *nix shell, a parancsmagból generált kimenet nem csupán egy szövegfolyam, hanem objektumok gyűjteménye.
A PowerShell nagyon fejlett a funkciók, a képességek és a belső működés tekintetében. A parancssor nagyon alapvető.

A Powershell alkalmazásai

Mára a PowerShell ideális választássá vált az informatikai rendszergazdák számára, mivel megkönnyíti a felügyeleti műveleteket és erőfeszítéseket a nagy vállalati hálózatokban. Tegyük fel például, hogy egy nagy hálózatot kezel, amely több mint négyszáz szervert tartalmaz. Most egy új biztonsági megoldást szeretne bevezetni. Ez a biztonsági megoldás egy bizonyos szolgáltatástól függ, amelynek futnia kell ezeken a szervereken.

Biztosan bejelentkezhet minden kiszolgálóra, és megnézheti, hogy telepítve van-e a szolgáltatás, és fut-e vagy sem. Azonban minden bizonnyal sok emberi hibára van szükség, mivel a személyzetnek sok időt kell töltenie ezzel a nem produktív folyamattal.

Ha azonban a PowerShellt használja, akkor ezt a feladatot néhány perc alatt elvégezheti. Ennek az az oka, hogy a teljes művelet egyetlen szkripttel történik, amely információkat gyűjt a szervereken futó szolgáltatásokról.

Összegzésként

  • Windows A PowerShell egy objektumorientált automatizálási motor és szkriptnyelv
  • A Powershell jól integrált parancssori élményt kínál az operációs rendszerhez
  • A PowerShell első 1.0-s verziója 2006-ban jelent meg
  • A PowerShell lehetővé teszi a parancsfájlok és parancsmagok meghívását egy távoli gépen
  • A PowerShell minden legújabb verziójában előre telepítve van Windows
  • A parancsmag egy egyszerű parancs, amelyet a Windows PowerShell-környezetben használnak
  • Get, Start, Out, Stop, Set, New fontos PowerShell parancsok
  • A logikai, bájt, csevegés, decimális, decimális és hosszú a PowerShell fontos adattípusai
  • $Error. A $Host, $Profile, $PID, $PSUICulture, $NULL néhány speciális változó, amelyet a PowerShell használ.
  • A Windows A PowerShell Integrated Scripting Environment (ISE) a PowerShell alapértelmezett szerkesztője
  • A PowerShell mélyen integrálódik a Windows Az operációs rendszer, míg a Command Prompt egy alapértelmezett parancssori felület, amelyet a Microsoft
  • A PowerShell ideális választássá vált az informatikai rendszergazdák számára, mivel megkönnyíti a felügyeleti műveleteket és erőfeszítéseket a nagy vállalati hálózatokban