PowerShell

PowerShell

Paradigmaimperatív, futószalagos, objektumorientált, funkcionális és reflektív
Megjelent2006. november 14.
TervezőJeffrey Snover, Bruce Payette, James Truher (et al.)
FejlesztőMicrosoft
Utolsó kiadás7.4.6 (stabil verzió, 2024. október 22.)[1]
Hatással volt rá
Operációs rendszer
LicencMIT licenc[2] (a Windows-komponens továbbra is kereskedelmi)
Weboldal

A PowerShell a Microsoft által fejlesztett, parancssori héjból és a megfelelő programozási nyelvből álló feladatautomatizáló és konfigurációkezelő program. Korábban csak a Windows része volt Windows PowerShell néven, 2016. augusztus 18-án a Microsoft megnyitotta a forráskódját és több platformra elérhetővé tette a PowerShell Core bevezetésével.[3] Előbbi a .NET keretrendszeren alapul, utóbbi a .NET-en (korábban .NET Core).

A Windows 10 build 14971-től a PowerShell felváltotta a parancssort, és alapértelmezett parancsbeviteli alkalmazássá vált a Fájlkezelőben.[4][5]

A PowerShellben a kezelési feladatokat általában cmdletek végzik, melyek egy adott műveletet elvégző speciális .NET osztályok. Ezek különböző adattárakban lévő adatok elérésével működnek, és szolgáltatók teszik elérhetővé. Harmadik felek is hozzáadhatnak cmdleteket és szolgáltatókat a PowerShellhez.[6] A cmdleteket használhatják szkriptek, melyek modulokba csomagolhatók. A cmdletek a .NET API-val működnek együtt.

A PowerShell .NET Remoting-, WS-Management-, CIM- és SSH-támogatása lehetővé teszi a rendszergazdáknak a helyi és távoli rendszereken való munkavégzést. A PowerShell host-API-val is rendelkezik, így beágyazható más alkalmazásokba. Ez felhasználható bizonyos, akár grafikus felhasználói felület által látható műveletekhez is. Ezt használta a Microsoft Exchange Server 2007 kezelési funkcióinak PowerShell-cmdletekkel és -szolgáltatókkal, kezelőeszközeinek a szükséges cmdleteket meghívó PowerShell-hostokkal való megvalósításával.[7] Más Microsoft-alkalmazások, például a Microsoft SQL Server 2008 is cmdleteket használ a felületén.[8]

A PowerShell része saját konzolalapú segítsége (a Unix-héjak man-oldalaihoz hasonlóan), melyet a Get-Help cmdlettel lehet felhasználni. Frissülő segítségeket az Update-Help cmdlet révén lehet az internetről szerezni. Ezenkívül a Get-Help „-online” váltójával lehet frissülő segítséget egyes esetekre kapni.

Háttér

A parancssorelemző (CLI) a Microsoft legtöbb operációs rendszerének része volt. Az MS-DOS és a Xenix szinte teljesen CLI-n alapultak (az MS-DOS 5 kiegészítő grafikus DOS héjjal is rendelkezett). A Windows 9x család a COMMAND.COM-mal, a DOS parancssoros környezetével rendelkezett. A Windows NT és Windows CE családok a COMMAND.COM-hoz nagyban hasonlító cmd.exe-vel rendelkeztek. Mindkét környezet támogat alapvető belső parancsokat és egy egyszerű programozási nyelvet (kötegfájlok), mely bizonyos feladatok automatizálására használható. Azonban nem képes a Windows GUI minden részének automatizálására, mivel a parancssori műveletek korlátozottak, és a nyelv alapszintű.

A Microsoft megkísérelte e hibák javítását a Windows Script Host és annak parancssoros hosztjának (cscript.exe) bevezetésével 1998-ban a Windows 98-ban. Az Active Script motorral integráltan jelent meg, és lehetővé tette szkriptek kompatibilis nyelveken, például JScriptben és VBScriptben való írását, befolyásolja a komponensobjektum-modell (COM) által mutatott API-t. Azonban hiányosságai is voltak: dokumentációja nehezen érhető el, és hamar hírhedtté vált sérülékenységei miatt, miután néhány nagy károkat okozó vírus kihasználta biztonsági hiányosságait. A különböző Windows-verziók speciális célú interpretereket is biztosítottak (például netsh-t vagy WMIC-et) saját parancskészlettel, de ezek nem voltak egymással kompatibilisek. A Windows Server 2003 próbált ezen javítani, de a szkripttámogatás nem volt kielégítő.[9]

Kermit

Az 1990-es évek végére az Intel segítséget kért a Microsofttól a későbbi processzorokhoz megfelelő rendszer készítéséhez. Ekkor az Intel processzorok gyártását Sun Microsystems számítógépen végezték, melyek Solarist (egy Unix-változatot) használtak RISC architektúrájú CPU-n. A számos KornShell automatizációs program futtatása Windowson fontosnak bizonyult. A Microsoft elkezdett egy KornShell-portot készíteni Windowsra Kermit kódnéven.[10] Az Intel végül Linux-alapú fejlesztési platformra tért át, így a Kermit projekt fölös lett. Azonban a Microsoft programmenedzsere, Jeffrey Snover észrevette egy általánosabb célú megoldás lehetőségét az adminisztratív feladatok automatizálásáera.

Monad

2002-re a Microsoft új megközelítést fehlesztett ki a parancssorkezelésre, például a Monad (más néven Microsoft Shell (MSH)) CLI-t. Az ötletek 2002 augusztusában jelentek meg a „Monad Kiáltványnak” nevezett vázlatban.[11] Egy 2017-es interjúban Snover a PowerShell létrejöttéről beszélt, elmondta, hogy megpróbált Unix-eszközöket elérhetővé tenni Windowson, ami „a Windows és Linux alapvető különbségei” miatt nem sikerült. Például megjegyezte, hogy a Linux mindent szöveges fájlként kezel, míg a Windows mindent „strukturált adatot visszaadó API-ként”. Ezek így nem voltak kompatibilisek, más megközelítéshez vezetve.[12]

A Monad új bővíthető CLI lett volna új tervezéssel, és sok feladat automatizálásának képességével. A Microsoft először a Monadot 2003 októberében mutatta be a Los Angeles-i Professional Development Conference-en. Néhány hónappal később megjelent a belső, majd a nyilvános béta. Az első nyilvános Monad-béta 2005. június 17-én, a második szeptember 11-én, a harmadik 2006. január 10-én jelent meg.

PowerShell

2006. április 25-én, a Monad bejelentése után nem sokkal, a Microsoft bejelentette a Monad átnevezését Windows PowerShellre, azt kezelési technológia jelentős tagjaként elhelyezve.[13] Az első kiadásjelölt (RC1) is e napon jelent meg. A névváltoztatás és az RC is jelezte, hogy ez Windows-komponens volt, nem kiegészítő.

A PowerShell RC2K 2006. szeptember 26-án jelent meg, a webre való kiadás (RTW) november 14-én történt. A korábbi verziókra 2007. január 30-án lett kiadva.[14] A PowerShell 2.0 fejlesztése az 1.0 kiadása előtt kezdődött. Fejlesztése során 3 community technology preview (CTP) jelent meg. A kiadások nyilvánosan elérhetők lettek. Az utolsó CTP 2008 decemberében jelent meg.

Ubuntu 22.10-en futó PowerShell for Linux 7.3.1

A PowerShell 2.0 2009 augusztusában készült el és jelent meg a Windows 7 és a Windows Server 2008 R2 részeként. A PowerShell Windows XP, Windows Server 2003, Windows Vista és Windows Server 2008 rendszerekre 2009 októberében jelent meg 32 és 64 bites platformokra.[15] A TechNet 2009. októberi számában a Microsoft a PowerShell-ismereteket „a jövőben a Windows-rendszergazda által igényelt legfontosabb képességnek” nevezte.[16]

A Windows 10-ben a PowerShellhez tesztkeretrendszer jelent meg.[17]

2016. augusztus 18-án a Microsoft bejelentette, hogy a PowerShell nyílt forrású és platformfüggetlen lett[18] a Windows mellett macOS-, CentOS- és Ubuntu-támogatással. A forráskód elérhető lett a GitHubon.[19] A nyílt forrásra való áttérés miatt létrejött egy újabb változat, a .NET Core-t használó PowerShell Core. Ez eltér a teljes .NET-en futó PowerShelltől.[20] Az 5.1 verziótól a PowerShell Core a Windows Server 2016 Nano Server része.[21][22]

Tervezés

Fontos volt a tervezésben a Windows, a Windows Management Instrumentation, a .NET keretrendszer stb. sok API-jának használatának megkönnyítése. A cmdletek a létező funkciókat „csomagolják be”. Ennek célja rendszergazdabarát, egységes felület biztosítása a rendszergazda és sok funkció között. A PowerShell révén nem kell ismerni a .NET-et, a WMI-t vagy az API-kódolást, hanem csak a cmdleteket kell használni. A PowerShellben nincs sok új funkció, hanem a meglévő funkciók hozzáférhetőbbek egy bizonyos csoportnak.[23]

Nyelvtan

A PowerShell alapnyelvtana a POSIX 1003.2 KornShellen alapul.[24]

Azonban a PowerShell nyelvét befolyásolták a PHP, a Perl és sok más nyelv.[25]

Elnevezett parancsok

A PowerShell négyféle parancsot tud végrehajtani:[26]

  • cmdletek (PowerShell-lel működő .NET-programok)
  • PowerShell-szkriptek (.ps1 kiterjesztéssel)
  • PowerShell-függvények
  • Önálló végrehajtható programok

Az önálló végrehajtható programokat a PowerShell önálló folyamatban, a cmdleteket a PowerShell folyamatában hajtja végre. A PowerShell interaktív parancssoros felület, ahol a parancsok bevihetők, kimenetük megjeleníthető. A felület beállítható parancskiegészítéssel is rendelkezik. A PowerShell lehetővé teszi cmdletek álneveinek létrehozását, melyek esetén az átalakítja az eredeti parancsok meghívására. A PowerShell az elnevezett és számozott paramétereket is támogatja a parancsokhoz. Egy cmdlet végrehajtásában az argumentum értékének a paraméterrel való összekapcsolását a PowerShell végzi, de külső végrehajtható programok esetén az argumentumokat a külső program a PowerShelltől függetlenül értelmezi.[27]

Extended Type System

A PowerShell Extended Type System (ETS) a .NET típusrendszeren alapul kiterjesztett szemantikával (például propertySetek és harmadik fél általi bővíthetőség). Például lehetővé teszi objektumok különböző nézeteit csak az adatmezők, tulajdonságok és metódusok egy részének megjelenítésével, valanint egyéni rendezési viselkedés megadásával. Ezek az eredeti objektumhoz XML-alapú fájlokkal vannak rendelve.[28]

Cmdletek

A cmdletek a PowerShell környezet speciális parancsai adott funkciókhoz. Nevük Ige-Főnév alakú (például Get-ChildItem), így öndokumentáló.[29] A cmdletek objektumként adják ki eredményeiket, így megfelelő futószalag-recipiensek. Ha egy cmdlet több objektumot ad ki, mindegyik végighalad a futószalagon a következő objektum feldolgozása előtt.[29]

A cmdletek speciális .NET osztályok, melyeket a PowerShell futásidőben hoz hajt végre. Ezek a Cmdlet vagy a PSCmdlet osztályból származnak, utóbbi akkor használatos, ha a cmdletnek a PowerShell-lel kell kommunikálni.[29] Ezen osztályok bizonyos metódusokat (BeginProcessing(), ProcessRecord() és EndProcessing()) határoznak meg, melyeket a cmdlet megvalósítása a működés biztosításához felülír. Egy cmdlet futásakor a PowerShell ezeket sorban hívja meg, a ProcessRecord() hívása a futószalag-bemenet érkezésekor történik.[30] Ha a futószalagon objektumgyűjtemény van, a metódus minden objektumra meghívatik. A cmdletet megvalósító osztálynak szüksége van a CmdletAttribute attribútumra, mely a cmdlet nevét alkotó igét és főnevet határozza meg. A gyakori igék enumerált típusként vannak megadva.[31][32]

Ha egy cmdlet futószalag- vagy parancssorbemenetet kap, az osztályban kell megfelelő tulajdonság mutátormegvalósítással. A PowerShell ezt a paraméterrel vagy a futószalag-bemenettel hívja meg, melyet a mutátor az osztályokban elment. Ezen értékekre a funkciót biztosító metódusok hivatkoznak. A parancssori paraméterekre hivatkozó paramétereket a ParameterAttribute jelzi,[33] beállításuk a BeginProcessing-hívás előtt történik. A futószalag-bemenetre képező paramétereket is a ParameterAttribute jelzi, de a ValueFromPipeline attribútummal.[34]

E cmdletosztályok megvalósítása bármilyen .NET API-ra hivatkozhat, és jelen lehet bármilyen .NET nyelvben. Ezenkívül a PowerShell elérhetővé tesz bizonyos API-kat, például a WriteObjectet, mely PowerShell-specifikus funkciókhoz, például eredmények futószalagra való kiírásához. A cmdletek használhatnak .NET adathozzáférési API-kat közvetlenül vagy szolgáltatón keresztül, lehetővé téve a tárak címzését egyedi utakkal. Az adattárak a meghajtóbetűkkel, a bennük lévő hierarchiák a könyvtárakkal jelennek meg. A PowerShell a fájlrendszerhez, a rendszerleíráshoz, a tanúsítványtárhoz és a parancsnevekhez, változókhoz és függvényekhez tartozó névterekhez tartozó szolgáltatókkal jelent meg.[35]

A cmdletek száma a PowerShell alapváltozatában általában nőtt:

Verzió Cmdletek
Windows PowerShell 1.0 129[36]
Windows PowerShell 2.0 632[37]
Windows PowerShell 3.0 mintegy 1000[38]
Windows PowerShell 4.0 N/A
Windows PowerShell 5.0 mintegy 1300[39]
Windows PowerShell 5.1 N/A
PowerShell Core 6.0 N/A
PowerShell Core 6.1 N/A
PowerShell Core 6.2 N/A
PowerShell 7.0 N/A
PowerShell 7.1 N/A
PowerShell 7.2 N/A

A héjba snapinekkel (a 2.0-tól elavult) és modulokkal is hozzáadhatók cmdletek.

Futószalag

A PowerShell a futószalag fogalmát használja, mely lehetővé teszi egy cmdlet kimenetének egy másik bemenetekénti használatát.

A Unix-futószalagokhoz hasonlóan a PowerShell futószalagjai összetett parancsokat is alkothatnak a | operátorral. Azonban a PowerShell futószalagjai eltérnek a Unixéitól abban, hogy a szakaszok a PowerShell futásidejében történnek, nem az operációs rendszer által összehangolt folyamatsorként. Továbbá strukturált .NET-objektumok átadása történik, nem adatfolyamoké. A PowerShellben az objektumok és a végrehajtási szakaszok használata miatt nem szükséges az adatszerkezetek szerializációja vagy kiadása a szöveges kimenet explicit értelmezésével.[40] Egy objektum felületet is létrehozhat bizonyos adatfeldolgozó függvényekre, melyek a fogadóparancsnál elérhetők.[41][42] Egy futószalag utolsó tagja esetén a PowerShell annak kimenetét automatikusan az Out-Default cmdletnek adja tovább, mely az objektumokat formátumobjektum-folyammá alakítja, és annak részeit jeleníti meg.[43][44]

Mivel a PowerShell-objektumok egyben .NET-objektumok, közös .ToString metódusuk van, mely az objektum adatait adja ki szövegesen. Ezenkívül a PowerShell lehetővé teszi formázási definíciók megadását, így az objektumok szöveges megjelenítésében kiválasztható, mely elemek hogyan jelenjenek meg. Azonban ha egy külső alkalmazás van egy futószalagban, az az objektumnak megfelelő szöveges folyamot kapja, nem közvetlenül integráltan a PowerShell típusrendszerével.[45][46][47]

Programok

A PowerShell dinamikusan típusos programnyelvvel rendelkezik, mely képes komplex műveletek imperatív végrehajtására cmdletekkel. A nyelv támogatja a változókat, a függvényeket, az elágazást (if-else), a ciklusokat (while, do, for, foreach), a strukturált hiba-kivételkezelést és a lezárásokat/lambda-kifejezéseket,[48] valamint a .NET-tel való integrációt. A PowerShell változónevei előtt $ jel van.

Az objektumelemek hozzáférhetők a C# nyelvhez hasonló . jelöléssel. A PowerShellben vannak speciális változók, például a $args, mely a függvénynek adott argumentumok tömbje, valamint a $_, mely a futószalag jelenlegi objektumát jelenti.[49] A PowerShell tömböket és asszociatív tömböket is ad. A PowerShell nyelv ezenkívül a bevitt műveleteket is végrehajtja, és értelmezi a gyakori rövidítéseket, például a GB-t, az MB-t és a KB-t.[50][51]

A function kulcsszóval a PowerShell lehetőséget ad függvénylétrehozásra. Egy egyszerű függvény így nézhet ki:[52]

function name ([Type]$Param1, [Type]$Param2) {
  # Instructions
}

A PowerShell lehetővé tesz haladó függvényeket elnevezett, helyzeti, váltó- és dinamikus paraméterekkel.[52]

function Verb-Noun {
  param (
    # Definition of static parameters
  )
  dynamicparam {
    # Definition of dynamic parameters
  }
  begin {
    # Set of instruction to run at the start of the pipeline
  }
  process {
    # Main instruction sets, ran for each item in the pipeline
  }
  end {
    # Set of instruction to run at the end of the pipeline
  }
}

A létrehozott függvény az alábbi formákban hajtható végre:[52]

name value1 value2
Verb-Noun -Param1 value1 -Param2 value2

A PowerShell lehetővé teszi statikus .NET-metódusok hívását névtereik szögletes zárójelekben ([]) való megadásával, majd 2 kettősponttal, mely a statikus metódust jelzi.[53] Például:

[Console]::WriteLine("PowerShell")

Számos módszer van az objektumok létrehozására PowerShellben. Létrehozásuk után a tulajdonságok és metódusok hozzáférhetők a . jelöléssel.[53]

A PowerShellben használhatók nyers (aposztrófok közt) és feloldott (idézőjelek közt) sztringek is. Az egyenes és a görbe változatot a PowerShell ugyanúgy kezeli.[54]

Az alábbi speciális karaktereket támogatja a PowerShell:[55]

A PowerShell speciális karakterei
Sorozat Jelentés
`0 Null
`a Értesítés
`b Backspace
`e Feloldójel (PowerShell 6-tól)
`f Oldaltörés
`n Új sor
`r Kocsi vissza
`t Vízszintes tabulátor
`u{x} Unicode-feloldósorozat (PowerShell 6-tól)
`v Függőleges tabulátor
--% minden karaktert szó szerint értelmez

A PowerShellben .NET-alapú kivételkezelés van. Hiba esetén a hibáról információt tartalmazó objektumok jelennek meg, melyeket a try … catch szerkezettel lehet kiadni (azonban van trap szerkezet is). A PowerShell beállítható csendes végrehajtás-folytatásra egy parancsra, egy munkamenetre vagy véglegesen.[56]

A PowerShell-lel írt szkriptek állandósíthatók .ps1 vagy (modul esetén) .psm1 fájlban. Ezután az egész szkript vagy annak bizonyos részei használhatók. A szkriptek és a függvények a cmdletekhez hasonlóan működnek, és megadhatók hozzájuk paraméterek. Futószalag-objektumok adhatók meg függvényekben, szkriptekben és cmdletekben. A szkriptek illetéktelen futtatásának elkerüléséért a szkriptvégrehajtás alapértelmezés szerint le van tiltva, és külön engedélyezni kell.[57] Ez lehet rendszer-, felhasználói vagy munkamenetszintű. A PowerShell-szkriptek aláírhatók integritásukhoz, és a Code Access Security alá vannak rendelve.[58]

A PowerShell támogatja a bináris prefixumot és a C család számos nyelvében jelen lévő normálalakot.[59]

Desired State Configuration

A DSC lehetővé teszi szoftveres környezet beállításának meghatározását.[60]

Konfiguráció futtatásakor a DSC biztosítja a rendszer leírásnak megfelelő állapotát. A DSC-konfigurációk idempotensek. A Local Configuration Manager (LCM) rendszeresen ellenőrzi a rendszert az erőforrások (imperatív DSC-elemek) által leírtaknak megfelelően a konfiguráció állapotának biztosítására.

Verziók

Eleinte Monad kódnéven a PowerShellt először a 2003. októberi Professional Developers Conference-en mutatták be Los Angelesben. Minden fő kiadás támogatott, és a korábbi változatokkal kompatibilis.

Windows PowerShell 1.0

Windows PowerShell 1.0-munkamenet Windows-konzollal

A PowerShell 1.0 2006 novemberében jelent meg Windows XP SP2-re, Windows Server 2003 SP1-re és Windows Vistára.[61] A Windows Server 2008 opcionális része is volt.

Windows PowerShell 2.0

A PowerShell 2.0 a Windows 7-be és a Windows Server 2008 R2-be integrálva jelent meg,[62] és megjelent Windows XP SP3-ra, Windows Server 2003 SP2-re és Windows Vista SP1-re is.[63][64]

A PowerShell 2.0-ban változott a szkriptnyelv és az API, és több mint 240 új cmdlet jelent meg.[65][66]

A PowerShell 2.0 új funkciói például:[67][68][69]

  • A WS-Management révén a PowerShell 2.0 lehetővé teszi szkriptek és cmdletek távoli gépen, gépeken való végrehajtását.
  • A parancssorozatok (szkriptek) vagy csatornák aszinkronban is végrehajthatók helyben vagy távoli gépen. A PSJob interaktív cmdletei leállítják a végrehajtást felhasználói bemenet megadásáig.
  • Tranzakciós műveletek: PSTransaction kezdése, végrehajtása, visszavonása és ezek irányítása a résztvevő cmdlet és szolgáltató műveletei között.
  • Haladó függvények (eredeti néven szkript-cmdletek): PowerShellben írt cmdletek.[70]
  • A SteppablePipelines lehetővé teszi egy cmdlet BeginProcessing(), ProcessRecord() és EndProcessing() függvényei végrehajtásának időpontjának változtatását.
  • A modulok lehetővé teszik PowerShell-szkriptek önálló, újra felhasználható egységekbe helyezését. Kódjuk önálló kontextusban, a külső állapot változtatása nélkül fut. A modulok meghatározhatnak adott futásteret. Állandó állapotuk, nyilvános és privát tagjaik vannak.
  • Adatnyelv (szkriptnyelvállítás), lehetővé téve a lefordított sztringek futásidejű importálását.
  • Szkripthibakeresés töréspontokkal. Beállíthatók töréspontok sorokban, karakterekben, parancsokban és változó-hozzáféréskor. A töréspontok irányíthatók cmdletekkel.
  • Kezelési és rendszeresemények fogadása, továbbítása és azok esetén való műveletek. A PowerShell-hosztok értesíthetők állapotváltozásokról. Továbbá a szkriptek feliratkozhatnak ObjectEventekre, PSEventekre és WmiEventekre és feldolgozhatják.
  • Windows PowerShell Integrated Scripting Environment (ISE): GUI-alapú PowerShell-hoszt integrált hibakeresővel, szintaxiskiemeléssel, parancskiegészítéssel, legfeljebb 8 futástérrel és kiválasztott programrészek futtatásának lehetőségével.
  • Hálózati fájltranszfer: fájlok elsőbbségi, késleltetett és aszinkron transzfere Background Intelligent Transfer Service-szel (BITS).[71]
  • Új cmdletek, például a táblázatadatot WPF GridView objektumban telepített és bekapcsolt ISE esetén kiadó Out-GridView.
  • Új operátorok: -Split, -Join és splatting (@).
  • Kivételkezelés Try-Catch-Finally szerkezettel, több kivételtípussal egy catch blokkal.
  • Beágyazható Here-karakterláncok[72]
  • Többsoros megjegyzések <# és #> határolókkal.[73]
  • Új API-k, több irányítással az értelmező és a futásidő felett, futásterek létrehozásával, korlátozott futásterekkel, melyek csak a PowerShell bizonyos részét használhatják, valamit a tranzakciókban való részvétel támogatása

Windows PowerShell 3.0

A PowerShell 3.0 a Windows 8-ba és Windows Server 2012-be van integrálva, és elérhető volt Windows 7 SP1, Windows Server 2008 SP1 és Windows Server 2008 R2 SP1 rendszerekre is.[74][75]

A PowerShell 3.0 egy nagyobb csomag, a távoli hozzáférést támogató WinRM-et tartalmazó Windows Management Framework (WMF) 3.0 része.[76][75] Több Community Technology Preview változat jelent meg. A WMF 3.0 CTP 2 2011. december 2-án jelent meg.[77] A WMF 3.0 2012. december 3-án jelent meg,[78] és a Windows 8 és Windows Server 2012 része.[79]

A PowerShell 3.0 új funkciói például:[75][80]:33–34

  • Adott időpontra ütemezett feladatok a Windows feladatütemezővel.
  • Csatlakoztatható és szétkapcsolható munkamenetek. A távoli munkamenetek kevésbé érzékenyek a hálózati hibákra.
  • Kódkiegészítés (IntelliSense) és kódrészletek, továbbá párbeszédablakok támogatása PowerShell ISE-ben cmdletek paramétereinek kitöltéséhez.
  • A rendszergazdai feladatok átadhatók a feladatra való jogosultsággal nem rendelkező felhasználóknak állandó jogok adása nélkül.
  • A segítségdokumentációk frissíthetők az Update-Help paranccsal.
  • Automatikus modulészlelés. A kódkiegészítés betöltetlen modulok esetén is működik.

Windows PowerShell 4.0

A PowerShell 4.0 a Windows 8.1-be és a Windows Server 2012 R2-be van integrálva, továbbá elérhető Windows 7 SP1, Windows Server 2008 R2 SP1 és Windows Server 2012 rendszerekre.[81]

A PowerShell 4.0 új funkciói például:

  • Desired State Configuration:[82][83][84] Deklaratív kiterjesztések és eszközök a rendszerbeállítási adatokhoz DMTF kezelési szabvánnyal és WS-Management protokollal.
  • Az alapértelmezett végrehajtási irányelv a szervereken a RemoteSigned.
  • Távoli számítógépeken telepített modul dokumentációinak mentése SaveHelppel
  • A hibakereső támogatja a hibakeresési munkameneteket (azok mentésével együtt) és a távoli végrehajtását.
  • -PipelineVariable váltó a jelenlegi futószalag-objektum megjelenítésére
  • Hálózati diagnosztika fizikai és virtuális hálózati switchek ellenőrzésére
  • Where és ForEach metódusszintaxis objektumok szűrésére és azokon keresztül való iterálásra.

Windows PowerShell 5.0

PowerShell 5.0 icon

Windows Management Framework (WMF) 5.0 RTM which includes PowerShell 5.0 was re-released to web on February 24, 2016, following an initial release with a severe bug.[85]

Fontos funkciók például:

  • Új kulcsszavak: class osztályok létrehozására és enum felsorolására.
  • OneGet cmdletek a Chocolatey támogatására[86]
  • 2. rétegű hálózati switchek kezelésének támogatása.[87]
  • Hibakeresés a PowerShell háttérfolyamataiban és más folyamatok PowerShell-példányaiban („futásterekben”)
  • Desired State Configuration (DSC) Local Configuration Manager (LCM) 2.0
  • DSC részleges beállítások
  • DSC Local Configuration Manager metabeállítások
  • DSC erőforrások ellenőrzése PowerShell-osztályokkal

Windows PowerShell 5.1

A Windows 10 évfordulós frissítésével együtt jelent meg[88] 2016. augusztus 2-án, továbbá a Windows Server 2016-ban is jelen volt.[89] A PackageManagement támogatja a proxikat, a PSReadLine a ViMode-ot, és megjelent a Get-TimeZone és a Set-TimeZone. A LocalAccounts modulban hozzáadható és eltávolítható helyi felhasználói fiók.[90] Megjelent PowerShell 5.1-előnézet Windows 7-re, Windows Server 2008-ra, Windows Server 2008 R2-re, Windows Server 2012-re és Windows Server 2012 R2-re 2016. július 16-án,[91] a végleges változata 2017. január 19-én jelent meg.[92]

A PowerShell 5.1 az első verzió, mely 2 kiadásban (Desktop és Core) jelent meg. A Desktop kiadás a hagyományos Windows PowerShell folytatása, és .NET keretrendszeren fut. A Core kiadás a .NET Core-on fut, és a Windows Server 2016 Nano Server része. Kisebb mérete mellett ez utóbbiban nincsenek például vágólapkezelő vagy tartományhoz csatlakoztató cmdletek, WMI 1-cmdletek, eseménynapló-cmdletek és profilok.[22] Ez az utolsó, csak Windowson kiadott PowerShell-verzió.

PowerShell Core 6

A PowerShell Core 6.0 2016. augusztus 18-án lett bejelentve, mikor a Microsoft létrehozta a PowerShell Core-t, és eldöntötte, hogy a terméket platformfüggetlen szabad szoftverré tenné.[3] 2018. január 10-én lett elérhető Windowsra, macOS-re és Linuxra.[93] Saját termékéletciklusa van, és a Windows 10-zel bevezetett életciklusszabálynak felel meg: csak a legutóbbi PowerShell Core-verzió támogatott. A Microsoft mintegy 6 havonta jelentetett meg új PowerShell Core-alverziót.[94]

A legfontosabb változás e PowerShell-változatban a más platformokra való kiterjedés. Windowson e változat nem adott fontos új funkciót. A PowerShell készítőit megkérték a 10 legfontosabb dolog felsorolására, mely egy IT-dolgozóval történhet, aki a Windows PowerShell 5.1-ről a PowerShell Core 6.0-ra térne át, azonban Angel Calvo, a Microsoft dolgozója csak 2-t tudott megnevezni: hogy platformfüggetlen, és hogy nyílt forrású.[95]

6.1

A Microsoft szerint a PowerShell 6.1 új jellemzője a „több mint 1900 cmdlettel való kompatibilitás a Windows 10-ben és a Windows Server 2019-ben”.[96] Azonban a teljes frissítési napló e cmdletekről nem tartalmaz információt.[97] A Microsoft később azt írta, hogy e szám kevés volt, mivel a PowerShell Core nem tudta a PowerShell 5.1-et felváltani, és nem volt sokat használt a Windowson.[98] Azonban Linuxon népszerű volt.[98]

6.2

A PowerShell Core 6.2 elsősorban teljesítményjavításokra, hibajavításokra és kisebb cmdlet- és nyelvi javításokra fókuszált.[99]

PowerShell 7

A PowerShell 7 felváltotta a PowerShell Core 6.x-et és a Windows PowerShell 5.1-et, mely az utolsó Windows PowerShell-verzió.[100][98] The focus in development was to make PowerShell 7 a viable replacement for Windows PowerShell 5.1, i.e. to have near parity with Windows PowerShell in terms of compatibility with modules that ship with Windows.[101]

A PowerShell 7 új funkciói például:[102]

  • -Parallel váltó ForEach-Object cmdlethez
  • beépített Windows-modulokkal való kompatibilitás javításai
  • Új hibanézet
  • Get-Error cmdlet
  • futószalag-összekapcsoló && és || operátorok a futószalag következő tagjának feltételes végrehajtásához
  • ?: operátor (terner művelet)
  • ?? nullellenőrző operátor és értékadó megfelelője, a {{{1}}} operátor
  • Platformfüggetlen Invoke-DscResource (kísérleti)
  • Az Out-GridView cmdlet visszatérése
  • A Get-Help-ShowWindow” váltójának visszatérése

PowerShell 7.2

A PowerShell 7.2 a 7.0 után megjelent legújabb hosszú távon támogatott PowerShell-verzió. A .NET 6.0-t használja, és univerzális telepítőcsomagjai vannak Linuxra. A Windowson a PowerShell 7.2-től a frissítések a Microsoft Update-en keresztül történnek, ez nem volt így a 6.0-tól a 7.1-ig.[103]

PowerShell 7.3

E verzió általános cmdletfrissítéseket és javításokat tartalmaz, keretrendszerfüggő csomagok tesztelésével, létrehozási és csomagjavításokkal.[104]

Cmdletek más parancsokkal való összehasonlítása

Az alábbi táblázat a PowerShell-lel együtt érkező cmdleteket listázza, hasonló parancsokkal ismert parancsértelmezőkben. Sok hasonló parancs alternatív név a PowerShellben.

PowerShell-cmdletek összehasonlítása más értelmezők belső és külső parancsaival
PowerShell (cmdlet) PowerShell (alternatív név) Parancssor Unix shell Leírás
Get-ChildItem gci, dir, ls[a] dir ls Adott mappa elemeinek listáját írja ki
Test-Connection[b] ping ping ping ICMP echo kéréseket küld a megadott géphez a jelenlegiből, vagy más gépet kér fel erre
Get-Content gc, type, cat type cat Egy fájl tartalmait írja ki
Get-Command gcm help, where type, which, compgen Elérhető parancsokat és parancsutat ír ki
Get-Help help, man[a] help apropos, man Egy parancs dokumentációját írja ki
Clear-Host cls, clear cls clear Kiüríti a konzolt[c]
Copy-Item cpi, copy, cp copy, xcopy, robocopy cp Fájlokat, mappákat másol a megadott helyre
Move-Item mi, move, mv move mv Fájlokat, mappákat helyez át a megadott helyre
Remove-Item ri, del, erase, rmdir, rd, rm del, erase, rmdir, rd rm, rmdir Fájlokat, mappákat töröl
Rename-Item rni, ren, mv ren, rename mv Egy mappát, fájlt vagy hivatkozást nevez át
Get-Location gl, cd, pwd cd pwd Jelenlegi út kiírása
Pop-Location popd popd popd A veremhez legutóbb hozzáadott helyre módosítja a jelenlegi utat
Push-Location pushd pushd pushd A jelenlegi utat teszi a verembe
Set-Location sl, cd, chdir cd, chdir cd Módosítja a jelenlegi utat
Tee-Object tee N/A tee Bemenetet irányít fájlhoz vagy változóhoz, a bemenetet onnan beolvasva
Write-Output echo, write echo echo A standard kimenetre ír ki sztringet vagy más objektumot
Get-Process gps, ps tlist,[d] tasklist[e] ps Minden futó folyamat kiírása
Stop-Process spps, kill kill,[d] taskkill[e] kill[f] Leállít egy futó folyamatot
Select-String sls find, findstr grep Adott mintának megfelelő sorokat ír ki
Set-Variable sv, set set env, export, set, setenv Létrehoz vagy megváltoztat egy környezeti változót
Invoke-WebRequest iwr, curl, wget[g] curl[106] wget, curl Weblap tartalmait nyeri ki

Megjegyzések

  1. a b Az ls és man nincs jelen a PowerShell linuxos változatában.
  2. Bár a külső ping elérhető maradt a PowerShellen, a Test-Connection kimenete programmal vizsgálható strukturált objektum.[105]
  3. A Clear-Host előre definiált PowerShell-függvény.
  4. a b Elérhető a Windows NT 4.0-ban, a Windows 98 Resource Kitben és a Windows 2000 Support Toolsban
  5. a b A Windows XP Professionalben jelent meg
  6. A UNIX is használja tetszőleges jel küldésére, a Terminate csak alapértelmezett
  7. A curl és a wget nincsenek jelen a PowerShell Core-ban a hasonló nevű natív parancsokkal való ütközés elkerülése végett.

Fájlnévkiterjesztések

Kiterjesztés Leírás
.ps1 Szkriptfájl[107]
.psd1 Modul manifestfájlja, általában modullal együtt található[108]
.psm1 Modulfájl[109]
.dll DLL-kompatibilis[a] bináris modulfájl[110]
.ps1xml Formátum- és típusdefiníció-fájl[47][111]
.xml XML-kompatibilis[b] szerializált adatfájl[112]
.psc1 Konzolfájl[113]
.pssc Munkamenet-konfigurációs fájl[114]
.psrc Szerepképességfájl[115]
  1. A Dynamic-link library (DLL) nem korlátozódik a PowerShellre, hanem általános formátum .NET Assembly kód tárolásához.
  2. Az XML-t nemcsak a PowerShell használja: az gyakori információközlő formátum.

Támogatás

Alkalmazás Verzió Cmdletek Szolgáltató Kezelő GUI
Exchange Server 2007 402 Igen Igen
Windows Server 2008 Igen Igen Nem
Microsoft SQL Server 2008 Igen Igen Nem
Microsoft SharePoint 2010 Igen Igen Nem
System Center Configuration Manager 2012 R2 400+ Igen Nem
System Center Operations Manager 2007 74 Igen Nem
System Center Virtual Machine Manager 2007 Igen Igen Igen
System Center Data Protection Manager 2007 Igen Nem Nem
Windows Compute Cluster Server 2007 Igen Igen Nem
Microsoft Transporter Suite for Lotus Domino[116] 08.02.0012 47 Nem Nem
Microsoft PowerTools for Open XML[117] 1.0 33 Nem Nem
IBM WebSphere MQ[118] 6.0.2.2 44 Nem Nem
IoT Core kiterjesztések[119] 74 Ismeretlen Ismeretlen
Quest Management Shell for Active Directory[120] 1.7 95 Nem Nem
Special Operations Software Specops Command[121] 1.0 Igen Nem Igen
VMware vSphere PowerCLI[122] 6.5 R1 500+ Igen Igen
Internet Information Services[123] 7.0 54 Igen Nem
Windows 7 Troubleshooting Center[124] 6.1 Igen Nem Igen
Microsoft Deployment Toolkit[125] 2010 Igen Igen Igen
NetApp PowerShell Toolkit[126][127] 4.2 2000+ Igen Igen
JAMS Scheduler – Job Access & Management System[128] 5.0 52 Igen Igen
UIAutomation[129] 0.8 432 Nem Nem
Dell Equallogic[130] 3.5 55 Nem Nem
LOGINventory[131] 5.8 Igen Igen Igen
SePSX[132] 0.4.1 39 Nem Nem

Alternatív megvalósítás

A Pash nyílt forrású és platformfüggetlen PowerShell-megvalósítás Mono keretrendszerrel.[133] A Pasht Igor Moochnick kezdte, C#-ben írta, és GNU General Public License alatt adta ki. A Pash fejlesztése 2008-ban leállt, a GitHubon 2012-ben újraindult,[134] és 2016-ban véget ért, mikor a PowerShell nyílt forrásúvá és platformfüggetlenné vált.[135]

Jegyzetek

  1. Release 7.4.6, 2024. október 22. (Hozzáférés: 2024. október 24.)
  2. PowerShell for every system!, 2017. június 12.
  3. a b PowerShell is Microsoft's latest open source release, coming to Linux, OS X. Ars Technica . Condé Nast, 2016. augusztus 18. [2020. április 9-i dátummal az eredetiből archiválva]. (Hozzáférés: 2020. május 12.)
  4. Announcing Windows 10 Insider Preview Build 14971 for PC
  5. PowerShell is replacing Command Prompt
  6. Truher, Jim. Extend Windows PowerShell With Custom Commands. Microsoft (2007. december 1.) 
  7. Lowe, Scott: Exchange 2007: Get used to the command line. TechRepublic. CBS Interactive, 2007. január 4. [2018. november 16-i dátummal az eredetiből archiválva]. (Hozzáférés: 2020. május 12.)
  8. Snover, Jeffrey: SQL Server Support for PowerShell!. Windows PowerShell Blog . Microsoft, 2007. november 13. [2007. november 15-i dátummal az eredetiből archiválva]. (Hozzáférés: 2007. november 13.)
  9. Dragan, Richard V.: Windows Server 2003 Delivers Improvements All Around. Ziff Davis, 2003. április 23. „A standout feature here is that virtually all admin utilities now work from the command line (and most are available through telnet).”
  10. Shell of an Idea: The Untold History of PowerShell. Don Gannon-Jones, 25. o. (2020). ISBN 978-1-9536450-3-6 
  11. Jeffrey P. Snover. „Monad Manifesto”, Windows PowerShell Blog, Microsoft, 2002. augusztus 8. (Hozzáférés: 2019. április 2.) 
  12. Sablon:Cite podcast
  13. Windows PowerShell (Monad) Has Arrived. Windows PowerShell Blog . Microsoft, 2006. április 25.
  14. Snover, Jeffrey: Windows PowerShell & Windows Vista. Windows PowerShell Blog . Microsoft, 2006. november 15.
  15. Windows Management Framework (Windows PowerShell 2.0, WinRM 2.0, and BITS 4.0). Support . Microsoft, 2013. szeptember 30. [2013. október 13-i dátummal az eredetiből archiválva].
  16. 10 reasons why you should learn to use PowerShell”, TechRepublic, 2009. október 6. (Hozzáférés: 2021. április 2.) 
  17. What is Pester and Why Should I Care?, 2015. december 14.
  18. Snover, Jeffrey: PowerShell is open sourced and is available on Linux. Microsoft Azure Blog . Microsoft, 2016. augusztus 18.
  19. PowerShell/PowerShell. GitHub . (Hozzáférés: 2016. augusztus 18.)
  20. PowerShell on Linux and Open Source!. Windows PowerShell Blog . Microsoft, 2016. augusztus 18.
  21. Foley, Mary Jo: Microsoft open sources PowerShell; brings it to Linux and Mac OS X. ZDNet. CBS Interactive, 2016. augusztus 18.
  22. a b PowerShell on Nano Server. TechNet . Microsoft, 2016. október 20.
  23. Shell of an Idea: The Untold History of PowerShell. Don Gannon-Jones, 45. o. (2020). ISBN 978-1-9536450-3-6 
  24. Windows PowerShell in Action, Manning Pubs Co Series. Manning, 27. o. (2007). ISBN 9781932394900. Hozzáférés ideje: 2016. július 22. „The core PowerShell language is based on the POSIX 1003.2 grammar for the Korn shell.” 
  25. Shell of an Idea: The Untold History of PowerShell. Don Gannon-Jones, 109. o. (2020. december 9.). ISBN 978-1-9536450-3-6 
  26. about_Command_Precedence. TechNet . Microsoft, 2014. május 8.
  27. Wheeler, Sean: about Parsing - PowerShell. Microsoft Docs , 2021. szeptember 7. (Hozzáférés: 2021. december 5.)
  28. Windows PowerShell Extended Type System. (Hozzáférés: 2007. november 28.)
  29. a b c Windows PowerShell Cmdlets. (Hozzáférés: 2007. november 28.)
  30. Creating Your First Cmdlet. (Hozzáférés: 2007. november 28.)
  31. Get-Verb. TechNet . Microsoft, 2014. május 8.
  32. Cmdlet Overview. MSDN . Microsoft, 2014. május 8.
  33. Adding parameters That Process Command Line Input. (Hozzáférés: 2007. november 28.)
  34. Adding parameters That Process Pipeline Input. (Hozzáférés: 2007. november 28.)
  35. Windows PowerShell Providers. (Hozzáférés: 2010. október 14.)
  36. PowerShell 1.0 Cmdlets. TechNet Articles . Microsoft, 2012. szeptember 29.
  37. Yoshizawa, Tomoaki: PowerShell 2.0 Cmdlets. TechNet Articles . Microsoft, 2012. július 10.
  38. Wilson, Ed. 1: Overview of Windows PowerShell 3.0, Windows Powershell 3.0 Step by Step. Sebastopol, California: Microsoft Press (2013. december 9.). ISBN 978-0-7356-7000-6. OCLC 829236530 „Windows PowerShell 3.0 comes with about 1,000 cmdlets on Windows 8” 
  39. Wilson, Ed. 1: Overview of Windows PowerShell 5.0, Windows PowerShell Step by Step, Third, Redmond, Washington: Microsoft Press (2015). ISBN 978-1-5093-0043-3. OCLC 927112976 „Windows PowerShell 5.0 comes with about 1,300 cmdlets on Windows 10” 
  40. Windows PowerShell Owner's Manual: Piping and the Pipeline in Windows PowerShell. TechNet. Microsoft. (Hozzáférés: 2011. szeptember 27.)
  41. Jones, Don: Windows PowerShell – Rethinking the Pipeline. Microsoft TechNet. Microsoft, 2008. (Hozzáférés: 2007. november 28.)
  42. Windows PowerShell Object Concepts. [2007. augusztus 19-i dátummal az eredetiből archiválva]. (Hozzáférés: 2007. november 28.)
  43. How PowerShell Formatting and Outputting REALLY works. (Hozzáférés: 2007. november 28.)
  44. More – How does PowerShell formatting really work?. (Hozzáférés: 2007. november 28.)
  45. about_Pipelines. TechNet . Microsoft, 2014. május 8.
  46. about_Objects. TechNet . Microsoft, 2014. május 8.
  47. a b about_Format.ps1xml. TechNet . Microsoft, 2014. május 8.
  48. Anonymous Functions and Code Blocks in PowerShell. [2014. május 31-i dátummal az eredetiből archiválva]. (Hozzáférés: 2012. január 21.)
  49. Introduction to Windows PowerShell's Variables. [2018. május 27-i dátummal az eredetiből archiválva]. (Hozzáférés: 2007. november 28.)
  50. Byte Conversion. Windows PowerShell Tip of the Week. (Hozzáférés: 2013. november 15.)
  51. Ravikanth: Converting to size units (KB, MB, GB, TB, and PB) without using PowerShell multipliers. PowerShell Magazine, 2013. május 20.
  52. a b c about_Functions. Microsoft TechNet. Microsoft, 2013. október 17. (Hozzáférés: 2013. november 15.)
  53. a b Lightweight Testing with Windows PowerShell. (Hozzáférés: 2007. november 28.)
  54. PowerShell Got Smart About Smart Quotes. Windows IT Pro. Penton Media, 2007. december 4. (Hozzáférés: 2013. november 15.)
  55. About Special Characters. Microsoft , 2017. június 8. (Hozzáférés: 2019. június 20.)
  56. Trap [Exception { "In PowerShell" }]. (Hozzáférés: 2007. november 28.)
  57. Running Windows PowerShell Scripts. Microsoft . (Hozzáférés: 2007. november 28.)
  58. about_Signing. Microsoft TechNet. Microsoft, 2013. október 17. (Hozzáférés: 2013. november 15.)
  59. Lee Holmes. Windows PowerShell Quick Reference. O'Reilly Media (2006. szeptember 1.) 
  60. eslesar: Windows PowerShell Desired State Configuration Overview. msdn.microsoft.com , 2023. május 23.
  61. It's a Wrap! Windows PowerShell 1.0 Released!. Windows PowerShell Blog. Microsoft, 2006. november 14.
  62. PowerShell will be installed by default on Windows Server 08 R2 (WS08R2) and Windows 7 (W7)!. Windows PowerShell Blog. Microsoft, 2008. október 28. (Hozzáférés: 2011. szeptember 27.)
  63. Windows Management Framework is here!, 2009. október 27. (Hozzáférés: 2009. október 30.)
  64. Microsoft Support Knowledge Base: Windows Management Framework (Windows PowerShell 2.0, WinRM 2.0, and BITS 4.0). Support.microsoft.com, 2011. szeptember 23. (Hozzáférés: 2011. szeptember 27.)
  65. 574 Reasons Why We Are So Proud and Optimistic About W7 and WS08R2. Windows PowerShell Blog. Microsoft, 2008. október 29. (Hozzáférés: 2011. szeptember 27.)
  66. Snover, Jeffrey: PowerShell: Creating Manageable Web Services, 2008. [2008. október 13-i dátummal az eredetiből archiválva]. (Hozzáférés: 2015. július 19.)
  67. What's New in CTP of PowerShell 2.0. (Hozzáférés: 2007. november 28.)
  68. Windows PowerShell V2 Community Technology Preview 2 (CTP2) – releaseNotes. Microsoft . [2008. május 6-i dátummal az eredetiből archiválva]. (Hozzáférés: 2008. május 5.)
  69. Differences between PowerShell 1.0 and PowerShell 2.0. [2010. szeptember 17-i dátummal az eredetiből archiválva]. (Hozzáférés: 2010. június 26.)
  70. Jones, Don: Windows PowerShell: Writing Cmdlets in Script. TechNet . Microsoft, 2010. május 1.
  71. GoGrid Snap-in – Managing Cloud Services with PowerShell. Windows PowerShell Blog. Microsoft, 2008. október 14. (Hozzáférés: 2011. szeptember 27.)
  72. Emit-XML. Windows PowerShell Blog. Microsoft, 2008. október 17. (Hozzáférés: 2011. szeptember 27.)
  73. Block Comments in V2. Windows PowerShell Blog. Microsoft, 2008. június 14. (Hozzáférés: 2011. szeptember 27.)
  74. Lee, Thomas: PowerShell Version 3 is RTM!. Under The Stairs, 2012. augusztus 13. (Hozzáférés: 2012. augusztus 13.)
  75. a b c Windows Management Framework 3.0. Download Center. Microsoft, 2012. szeptember 4. (Hozzáférés: 2012. november 8.)
  76. Windows Management Framework
  77. Windows Management Framework 3.0 Community Technology Preview (CTP) #2 Available for Download. Windows PowerShell Blog. Microsoft, 2011. december 2.
  78. Windows Management Framework 3.0. Download Center. Microsoft, 2012. december 3.
  79. Jofre, JuanPablo: Windows PowerShell System Requirements. Microsoft Developer Network . Microsoft, 2016. december 14. (Hozzáférés: 2017. április 20.)
  80. Honeycutt, Jerry. Introducing Windows 8: An Overview for IT Professionals. Redmond, WA: Microsoft Press (2012). ISBN 978-0-7356-7050-1 
  81. Windows Management Framework 4.0 is now available. Microsoft, 2013. október 24. (Hozzáférés: 2013. november 4.)
  82. Levy, Shay: New Features in Windows PowerShell 4.0. PowerShell Magazine, 2013. június 25. (Hozzáférés: 2013. június 26.)
  83. Desired State Configuration in Windows Server 2012 R2 PowerShell. Channel 9. Microsoft, 2013. június 3. [2013. december 26-i dátummal az eredetiből archiválva]. (Hozzáférés: 2013. június 26.)
  84. Hall, Adrian: Thoughts from Microsoft TechEd North America. Blogs: Tips & Tricks. Splunk, 2013. június 7. (Hozzáférés: 2013. június 26.)
  85. Windows Management Framework (WMF) 5.0 RTM packages has been republished. Windows PowerShell Blog . Microsoft, 2016. február 24.
  86. Q and A. GitHub. (Hozzáférés: 2015. április 21.)
  87. Snover, Jeffrey: Windows Management Framework V5 Preview. blogs.technet.com. Microsoft, 2014. április 3. [2014. június 30-i dátummal az eredetiből archiválva]. (Hozzáférés: 2015. április 21.)
  88. Jaap Brasser: #PSTip New PowerShell Commands in Windows 10 Anniversary Update, 2016. augusztus 2.
  89. What's New In Windows Server 2016 Standard Edition Part 9 – Management And Automation, 2016. szeptember 4.
  90. Microsoft.PowerShell.LocalAccounts Module. technet.microsoft.com , 2016. június 16.
  91. Announcing Windows Management Framework (WMF) 5.1 Preview, 2016. július 16.
  92. WMF 5.1. Microsoft Download Center
  93. PowerShell Core 6.0: Generally Available (GA) and Supported!. PowerShell Team Blog . Microsoft, 2018. január 11. [2018. június 11-i dátummal az eredetiből archiválva]. (Hozzáférés: 2018. június 11.)
  94. PowerShell Core Support Lifecycle. Microsoft Docs . Microsoft, 2018. január 10. [2018. november 16-i dátummal az eredetiből archiválva]. (Hozzáférés: 2023. augusztus 25.)
  95. Top 10 most exciting reasons to migrate. PowerShell AMA . Microsoft, 2018. január 11.
  96. Aiello, Joey: Announcing PowerShell Core 6.1. devblogs.microsoft.com. Microsoft, 2018. szeptember 13. (Hozzáférés: 2019. június 1.)
  97. PowerShell/PowerShell (angol nyelven). GitHub . (Hozzáférés: 2020. június 22.)
  98. a b c Lee, Steve: The Next Release of PowerShell – PowerShell 7. Microsoft, 2019. április 5. (Hozzáférés: 2019. június 1.)
  99. Lee, Steve: General Availability of PowerShell Core 6.2. devblogs.microsoft.com. Microsoft, 2019. március 28. (Hozzáférés: 2019. június 1.)
  100. Mackie, Kurt: Microsoft Releases PowerShell 7 Preview. 1105 Media Inc, 2019. május 30. (Hozzáférés: 2019. június 1.)
  101. Lee, Steve: PowerShell 7 Road Map. devblogs.microsoft.com. Microsoft, 2019. május 30. (Hozzáférés: 2020. augusztus 12.)
  102. PowerShell 7 Preview 5 | PowerShell, 2019. október 23. [2020. február 15-i dátummal az eredetiből archiválva]. (Hozzáférés: 2020. március 5.)
  103. PowerShell 7.2 is the new version of Microsoft's next-generation shell. itsfoss.net , 2021. november 12. [2023. április 19-i dátummal az eredetiből archiválva]. (Hozzáférés: 2023. augusztus 25.)
  104. Release v7.3.0 Release of PowerShell · PowerShell/PowerShell. GitHub . [2022. november 9-i dátummal az eredetiből archiválva]. (Hozzáférés: 2022. március 7.)
  105. Test-Connection. PowerShell documentations . Microsoft, 2015. augusztus 9.
  106. Tar and Curl Come to Windows! - Microsoft Tech Community - 382409, 2019. március 22. [2020. szeptember 11-i dátummal az eredetiből archiválva]. (Hozzáférés: 2020. május 17.)
  107. About Scripts. Microsoft Docs . Microsoft, 2020. június 2.
  108. How to write a PowerShell module manifest. Docs . Microsoft, 2019. október 16.
  109. How to Write a PowerShell Script Module. Microsoft Docs . Microsoft, 2019. november 22.
  110. How to Write a PowerShell Binary Module. Microsoft Docs . Microsoft, 2016. november 13.
  111. About Types.ps1xml. Microsoft Docs . Microsoft, 2020. június 2.
  112. Export-Clixml. Microsoft Docs . Microsoft
  113. Export-Console. Microsoft Docs . Microsoft
  114. About Session Configuration Files. Microsoft Docs . Microsoft, 2020. június 2.
  115. New-PSRoleCapabilityFile. Microsoft Docs . Microsoft, 2020. június 2.
  116. Microsoft Transporter Suite for Lotus Domino. Microsoft . (Hozzáférés: 2008. március 7.)
  117. PowerTools for Open XML. (Hozzáférés: 2008. június 20.)
  118. MO74: WebSphere MQ – Windows PowerShell Library. (Hozzáférés: 2007. december 5.)
  119. IoT Core Add-ons command-line options. (Hozzáférés: 2020. június 13.)
  120. PowerShell Commands for Active Directory by Quest Software. (Hozzáférés: 2008. július 2.)
  121. PowerShell Remoting through Group Policy. (Hozzáférés: 2007. december 7.)
  122. VMware vSphere PowerCLI. [2014. december 30-i dátummal az eredetiből archiválva]. (Hozzáférés: 2014. szeptember 9.)
  123. Windows PowerShell : IIS7 PowerShell Provider Tech Preview 2. (Hozzáférés: 2008. július 3.)
  124. Kudos to the Win7 Diagnostics Team. (Hozzáférés: 2009. június 15.)
  125. Michael, Niehaus: MDT 2010 New Feature #16: PowerShell support, 2009. július 10. (Hozzáférés: 2014. október 27.)
  126. Kudos to NetApp for Data ONTAP PowerShell ToolKit. (Hozzáférés: 2010. június 15.)
  127. PowerShell Toolkit 4.2 Announcement, 2016. június 23. (Hozzáférés: 2016. szeptember 7.)
  128. Heterogeneous Job Scheduling With PowerShell. (Hozzáférés: 2010. szeptember 15.)
  129. UIAutomation PowerShell Extensions. [2016. augusztus 17-i dátummal az eredetiből archiválva]. (Hozzáférés: 2012. február 16.)
  130. EqualLogic HIT-ME with PowerShell. (Hozzáférés: 2012. március 9.)
  131. de:LOGINventory
  132. Selenium PowerShell eXtensions. [2013. január 19-i dátummal az eredetiből archiválva]. (Hozzáférés: 2012. augusztus 20.)
  133. Pash. SourceForge. Dice Holdings, Inc.. (Hozzáférés: 2011. szeptember 27.)
  134. Pash Project. GitHub . (Hozzáférés: 2013. április 10.)
  135. Pash is now obsolete · Issue #429 · Pash-Project/Pash (angol nyelven). GitHub . (Hozzáférés: 2019. november 26.)

Fordítás

Ez a szócikk részben vagy egészben a PowerShell című angol Wikipédia-szócikk ezen változatának fordításán alapul. Az eredeti cikk szerkesztőit annak laptörténete sorolja fel. Ez a jelzés csupán a megfogalmazás eredetét és a szerzői jogokat jelzi, nem szolgál a cikkben szereplő információk forrásmegjelöléseként.

Források

További információk

Strategi Solo vs Squad di Free Fire: Cara Menang Mudah!