PowerShell - PowerShell

Od Wikipedia, Slobodna Enciklopedija

Pin
Send
Share
Send

PowerShell
PowerShell Core 6.0 icon.png
Windows PowerShell 1.0 PD.png
Snimka zaslona sesije Windows PowerShell
ParadigmaImperativ, cjevovod, objektno orijentirano, funkcionalna i reflektirajuća
Je dizajniraoJeffrey Snover, Bruce Payette, James Truher (i sur.)
ProgramerMicrosoft
Prvo pojavljivanje14. studenog 2006; Prije 14 godina (2006-11-14)
Stabilno puštanje
7.1.0 / 11. studenog 2020; Prije 14 dana (2020-11-11)[1]
Pregled izdanja
v7.1.0-rc.2 / 20. listopada 2020; Prije 36 dana (2020-10-20)[2]
Disciplina tipkanjaJaka, sef, implicitno i dinamičan
Jezik provedbeC #
Platforma.NET Framework, .NET jezgra
OS
LicencaMIT licenca[3] (ali komponenta Windows ostaje vlasnički)
Ekstenzije naziva datoteke
  • .ps1 (skripta)
  • .ps1xml (XML dokument)
  • .psc1 (datoteka konzole)
  • .psd1 (datoteka podataka)
  • .psm1 (modul skripte)
  • .pssc (datoteka konfiguracije sesije)
  • .psrc (datoteka sposobnosti uloga)
  • .cdxml (XML dokument definicije cmdlet-a)
Web stranicaMicrosofta.com/ powerhell
Pod utjecajem
Piton, Ksh, Perl, C #, CL, DCL, SQL, Tcl, Tk,[4] Kuhar, Lutka

PowerShell je automatizacija zadataka i upravljanje konfiguracijom okvir iz Microsoft, koji se sastoji od a naredbeni redak ljuska i pripadajuće skriptni jezik. U početku samo komponenta sustava Windows, poznata kao Windows PowerShell, napravljeno je otvoreni izvor i cross-platforma 18. kolovoza 2016. uvođenjem PowerShell jezgra.[5] Prvi je izgrađen na .NET Framework, potonji na .NET jezgra.

U PowerShell-u administrativne zadatke uglavnom obavlja komandne komande (izgovara se naredbe-dopušta), koji su specijalizirani .NET razreda provođenje određene operacije. Oni rade tako što pristupaju podacima u različitim spremištima podataka, poput sustav datoteka ili registar, koji su dostupni PowerShell-u putem davatelji usluga. Neovisni programeri mogu dodati cmdlet komande i davatelje usluga u PowerShell.[6][7] Cmdlets može koristiti skripte a skripte se mogu spakirati u modula.

PowerShell pruža puni pristup COM i WMI, omogućujući administratorima da izvršavaju administrativne zadatke na lokalnom i udaljenom Windows sustavu, kao i WS-upravljanje i CIM omogućujući upravljanje udaljenim Linux sustavima i mrežnim uređajima. PowerShell također nudi hosting API s kojim se PowerShell vrijeme izvođenja može ugraditi unutar drugih aplikacija. Te aplikacije tada mogu koristiti PowerShell funkcionalnost za provedbu određenih operacija, uključujući one izložene putem grafičko sučelje. Ovu je sposobnost koristio Microsoft Exchange Server 2007 da izloži svoju upravljačku funkcionalnost kao PowerShell komandne komande i pružatelje i implementira grafički alati za upravljanje kao PowerShell hostovi koji pozivaju potrebne cmdlet komande.[6][8] Ostale Microsoftove aplikacije, uključujući Microsoft SQL Server 2008 izlažu i njihovo upravljačko sučelje putem PowerShell cmdlet komandi.[9]

PowerShell uključuje vlastitu opsežnu pomoć zasnovanu na konzoli (slično kao man stranice u Unix školjke) dostupan putem Dobiti pomoć cmdlet. Ažurirani lokalni sadržaji pomoći mogu se preuzeti s Interneta putem Ažuriranje-pomoć cmdlet. Alternativno, pomoć putem interneta može se dobiti od slučaja do slučaja putem -na liniji prebaciti na Dobiti pomoć.

Pozadina

Svaka verzija Microsoft Windows za osobna računala je uključio a tumač naredbenog retka (CLI) za upravljanje operativnim sustavom. Njegov prethodnik, MS-DOS, oslanjao se isključivo na CLI. Ovi su COMMAND.COM u MS-DOS i Windows 9x, i cmd.exe u Windows NT obitelj operativnih sustava. Obje podržavaju nekoliko osnovnih internih naredbi. U druge svrhe, zaseban aplikacija konzole mora biti napisan. Oni također uključuju osnovni skriptni jezik (batch datoteke), koji se može koristiti za automatizaciju različitih zadataka. Međutim, ne mogu se koristiti za automatizaciju svih aspekata grafičko korisničko sučelje (GUI) funkcionalnost, dijelom i zato što su ekvivalenti operacija u naredbenom retku ograničeni, a skriptni jezik je elementaran. U Windows Server 2003, situacija je poboljšana, ali podrška za skriptiranje i dalje je bila nezadovoljavajuća.[10]

Microsoft je pokušao otkloniti neke od ovih nedostataka uvođenjem Domaćin skripte za Windows 1998. godine sa Windows 98i njegov domaćin zasnovan na naredbenom retku: cscript.exe. Integrira se s Aktivna skripta engine i omogućuje pisanje skripti na kompatibilnim jezicima, poput JScript i VBScript, iskorištavajući Apis izložene aplikacijama putem komponentnog objektnog modela (COM). Međutim, on ima svoje nedostatke: njegova dokumentacija nije jako dostupna i brzo je stekla reputaciju sustava vektor ranjivosti nakon nekoliko visokih profila računalni virusi iskoristio slabosti u svojim sigurnosnim odredbama. Različite verzije sustava Windows pružale su različite interpretatore naredbenog retka za posebne namjene (poput mreža i WMIC) sa svojim vlastitim skupovima naredbi, ali nisu bili interoperabilni.

U intervjuu objavljenom 2017. 13. rujna, Jeffrey Snover objasnio motivaciju za projekt:[11]

Vozio sam gomilu upravljačkih promjena, a zatim sam izvorno uzeo UNIX alate i učinili ih dostupnima u sustavu Windows, a onda jednostavno nije uspjelo. Pravo? Jer postoji osnovna arhitektonska razlika između Windowsa i Linuxa. Na Linux, sve je an ASCII tekstualna datoteka, tako da je sve što može manipulirati tim alatom za upravljanje. AWK, grep, sed? Sretni dani!

Donio sam te alate dostupne u sustavu Windows, a zatim nisu pomogli u upravljanju sustavom Windows jer je u sustavu Windows sve API koji vraća strukturirane podatke. Dakle, to nije pomoglo. [...] Došao sam na ovu ideju PowerShell-a i rekao sam: "Hej, možemo to učiniti bolje."

Do 2002. godine Microsoft je počeo razvijati novi pristup upravljanju naredbenim retkom, uključujući CLI zvan Monad (poznat i kao Microsoft Shell ili MSH). Ideje koje stoje iza toga objavljene su u kolovozu 2002. u bijelom radu pod nazivom Monadni manifest.[12] Monad je trebao biti novi proširivi CLI sa svježim dizajnom koji bi mogao automatizirati čitav niz osnovnih administrativnih zadataka. Microsoft je prvi put pokazao Monadu na konferenciji o profesionalnom razvoju u Los Angelesu u listopadu 2003. godine. Privatni beta program započeo je nekoliko mjeseci kasnije što je na kraju dovelo do javnog beta programa.

Microsoft je objavio prvu javnost Monade beta izdanje 17. lipnja 2005., Beta 2 11. rujna 2005. i Beta 3 10. siječnja 2006. Nedugo kasnije, 25. travnja 2006. Microsoft je službeno objavio da je Monad preimenovan Windows PowerShell, pozicionirajući ga kao značajan dio njihove ponude tehnologije upravljanja.[13] Kandidat za izdanje 1 za PowerShell objavljen je u isto vrijeme. Značajan aspekt promjene naziva i RC-a bio je taj što je ovo sada komponenta sustava Windows, a ne dodatak.

Izdanje Candidate 2 za PowerShell verzije 1 objavljeno je 26. rujna 2006., a konačno objavljivanje na Internetu (RTW) 14. studenog 2006. i najavljeno u TechEd Barcelona. PowerShell za starije verzije sustava Windows objavljen je 30. siječnja 2007.[14]

Razvoj PowerShell v2.0 započeo je prije nego što je PowerShell v1.0 isporučen. Tijekom razvoja, Microsoft je isporučio tri pregledi tehnologije zajednice (CTP). Microsoft je ova izdanja učinio dostupnima javnosti. Posljednje CTP izdanje sustava Windows PowerShell v2.0 dostupno je u prosincu 2008.

PowerShell za Linux 6.0 Alpha 9 uključen Ubuntu 14,04 x64

PowerShell v2.0 dovršen je i pušten u proizvodnju u kolovozu 2009. godine, kao sastavni dio sustava Windows 7 i Windows Server 2008 R2. Verzije PowerShell za Windows XP, Windows Server 2003, Windows Vista i Windows Server 2008 objavljene su u listopadu 2009. godine i dostupne su za preuzimanje za 32-bitne i 64-bitne platforme.[15]

Windows 10 je isporučio testni okvir za PowerShell.[16]

Microsoft je 18. kolovoza 2016. objavio[17] da su PowerShell napravili s otvorenim kodom i više platformi s podrškom za Windows, macOS, CentOS i Ubuntu.[5] Izvorni kod objavljen je dana GitHub.[18] Prelazak na otvoreni izvor stvorio je drugu inkarnaciju PowerShella nazvanu "PowerShell Core", koja traje .NET jezgra. Razlikuje se od "Windows PowerShell", koji radi u potpunosti .NET Framework.[19] Počevši od verzije 5.1, u paketu je PowerShell Core Nano poslužitelj Windows Server 2016.[20][21]

Oblikovati

Razvojni programeri PowerShella temeljnu su gramatiku alata temeljili na onoj POSIX 1003.2 KornShell.[22]

Windows PowerShell može izvršavati četiri vrste imenovanih naredbi:[23]

  • komandne komande (.NET Framework programi dizajnirani za interakciju s PowerShell-om)
  • PowerShell skripte (datoteke sufiksirane sa .ps1)
  • PowerShell funkcije
  • samostalan izvršna programa

Ako je naredba samostalni izvršni program, PowerShell je pokreće u zasebnom programu postupak; ako je to cmdlet, izvršava se u procesu PowerShell. PowerShell pruža interaktivnost sučelje naredbenog retka, pri čemu se naredbe mogu unijeti i njihov izlaz prikazati. Korisničko sučelje nudi prilagodljivost završetak kartice. PowerShell omogućuje stvaranje aliasi za cmdlet komande, što PowerShell tekstualno prevodi u pozive izvornih naredbi. PowerShell podržava oboje imenovan i pozicijski parametri za naredbe. U izvršavanju cmdleta posao vezanja vrijednosti argumenta na parametar obavlja sama PowerShell, ali za vanjske izvršne datoteke vanjski izvršni program analizira argumente neovisno o interpretaciji PowerShell-a.[potreban je citat]

PowerShell Prošireni tip sustava (ETS) temelji se na sustavu tipa .NET, ali s proširenom semantikom (na primjer, svojstvaSets i proširivost treće strane). Na primjer, omogućuje stvaranje različitih prikaza objekata izlažući samo podskup podatkovnih polja, svojstava i metoda, kao i specificirajući prilagođeno ponašanje u oblikovanju i sortiranju. Ti se pogledi preslikavaju na izvorni objekt pomoću XML-na bazi konfiguracijskih datoteka.[24]

Cmdlets

Cmdleti su specijalizirane naredbe u okruženju PowerShell koje implementiraju određene funkcije. To su izvorne naredbe u stogu PowerShell. Cmdleti slijede a Glagol-Imenica obrazac imenovanja, kao što je Get-ChildItem, pomažući im da budu samoopisni.[25] Cmdletovi svoje rezultate prikazuju kao objekte, a objekte mogu primati i kao ulaz, što ih čini pogodnima za upotrebu kao primatelji u cjevovodu. Ako cmdlet izbaci više objekata, svaki se objekt u zbirci prenosi cijelim cjevovodom prije obrade sljedećeg objekta.[25]

Cmdleti su specijalizirani .NET razreda, koje vrijeme izvođenja PowerShell pokreće i priziva u vrijeme izvođenja. Cmdleti potječu ili iz Cmdlet ili iz PSCmdlet, potonji se koristi kada cmdlet treba interakciju s izvršavanjem PowerShell-a.[25] Ove osnovne klase određuju određene metode - BeginProcessing (), ProcessRecord () i Završna obrada () - koje implementacija cmdleta nadjačava kako bi pružila funkcionalnost. Kad god se izvrši cmdlet, PowerShell poziva te metode u nizu, s ProcessRecord () poziva se ako primi ulaz cjevovoda.[26] Ako se zbirka objekata cijevi, metoda se poziva za svaki objekt u zbirci. Klasa koja implementira cmdlet mora imati jedan .NET atributCmdletAttribute - koji navodi glagol i imenicu koji čine naziv cmdleta. Uobičajeni glagoli dati su kao nabrajanje.[27][28]

Ako cmdlet prima ulaz cjevovoda ili parametar naredbenog retka, mora postojati odgovarajući imovine u razredu, s mutator provedba. PowerShell poziva mutatora s vrijednošću parametra ili ulazom cjevovoda, koji se sprema implementacijom mutatora u varijable klase. Tada se na te vrijednosti upućuju metode koje implementiraju funkcionalnost. Svojstva koja se preslikavaju na parametre naredbenog retka označena su s ParameterAttribute[29] i postavljeni su prije poziva na BeginProcessing (). Uz njih se nalaze i oni koji se mapiraju na ulaz cjevovoda ParameterAttribute, ali s ValueFromPipeline set parametara atributa.[30]

Implementacija ove klase cmdleta može se odnositi na bilo koju .NETO API a može biti u bilo kojem .NET jezik. Uz to, PowerShell čini dostupnim određene API-je, poput WriteObject (), koji se koristi za pristup funkcijama specifičnim za PowerShell, poput zapisivanja rezultirajućih objekata u cjevovod. Komande mogu koristiti .NET pristup podacima Apis izravno ili koristite PowerShell infrastrukturu PowerShell-a Pružatelji usluga, koji čine pohranjivanje podataka adresiranim pomoću jedinstvenih staze. Pohrane podataka izložene su pomoću slova pogona i hijerarhija unutar njih, adresiranih kao direktoriji. Windows PowerShell isporučuje se s dobavljačima za sustav datoteka, registar, potvrda store, kao i prostore imena pseudonima naredbi, varijabli i funkcija.[31] Windows PowerShell također uključuje razne cmdlet komande za upravljanje raznim Windows sustavi, uključujući sustav datoteka, ili pomoću Instrumentacija za upravljanje sustavom Windows kontrolirati Windows komponente. Ostale aplikacije mogu registrirati cmdlet komande pomoću PowerShell-a, omogućujući joj tako upravljanje, a ako zatvore bilo koju pohranu podataka (poput baza podataka), mogu dodati i određene davatelje usluga.[potreban je citat]

PowerShell V2 dodao je prijenosniju verziju cmdlet komandi nazvanu Moduli. U napomenama o izdanju PowerShell V2 stoji:

Moduli omogućavaju programerima i administratorima skripti da particiju i organiziraju svoj Windows PowerShell kôd u samostalne jedinice za višekratnu upotrebu. Kôd iz modula izvršava se u vlastitom samostalnom kontekstu i ne utječe na stanje izvan modula. Moduli vam također omogućuju da definirate okruženje ograničenog prostora trčanja pomoću skripte.[32]

Broj cmdlet komandi općenito se povećavao sa svakom verzijom:

VerzijaCmdlets
Windows PowerShell 1.0129[33]
Windows PowerShell 2.0632[34]
Windows PowerShell 3.0oko 1.000[35]
Windows PowerShell 4.0?
Windows PowerShell 5.0oko 1.300[36]
Windows PowerShell 5.11586[potreban je citat]
PowerShell Core 6.0?
PowerShell Core 6.1?
PowerShell Core 6.2?
PowerShell 7.01507[potreban je citat]
PowerShell 7.1?

Cjevovod

PowerShell provodi koncept a cjevovod, koji omogućuje usmjeravanje izlaza jedne cmdlet datoteke u drugu cmdlet datoteku kao ulaz. Na primjer, izlaz Get-Process cmdlet se mogao poslati na Gdje-objekt za filtriranje bilo kojeg postupka koji ima manje od 1 MB stranične memorije, a zatim u Poredaj-objekt cmdlet (npr. za razvrstavanje objekata prema brojaču ručica), a zatim na kraju Odaberite objekt cmdlet za odabir samo prvih 10 (tj. 10 procesa na temelju broja ručica).[potreban je citat]

Kao i sa Unixovi cjevovodi, PowerShell cjevovodi mogu konstruirati složene naredbe, koristeći | operater za povezivanje stupnjeva. Međutim, PowerShell cjevovod razlikuje se od Unix cjevovoda u tim fazama koje se izvršavaju u okviru PowerShell runtime, a ne kao skup procesa koji koordinira operativni sustav i strukturirani .NET objekti, umjesto da se potoci bajtova, prenose se iz jedne faze u sljedeću. Koristeći predmeta i izvršavanje faza unutar PowerShell runtime eliminira potrebu za serializirati strukture podataka ili ih eksplicitno izdvojiti raščlanjivanje izlaz teksta.[37] Objekt također može enkapsulirati određene funkcije koje rade na sadržanim podacima, a koje postaju dostupne naredbi primatelja na upotrebu.[38][39] Za zadnji cmdlet u cjevovodu, PowerShell automatski usmjerava svoj izlazni objekt na Izvan zadanog cmdlet, koji transformira objekte u tok objekata formata, a zatim ih prikazuje na zaslonu.[40][41]

Budući da su svi PowerShell objekti .NET objekti, oni dijele a .ToString () metoda koja dohvaća tekstualni prikaz podataka u objektu. Uz to, PowerShell omogućuje specificiranje definicija formatiranja, tako da se tekstni prikaz objekata može prilagoditi odabirom koji će elementi podataka biti prikazani i na koji način. Međutim, da bi se održala povratna kompatibilnost, ako se vanjski izvršni program koristi u cjevovodu, on prima tekstualni tok koji predstavlja objekt, umjesto da se izravno integrira sa sustavom tipa PowerShell.[42][43][44]

Skriptiranje

Windows PowerShell uključuje a dinamički upisani skriptni jezik koji mogu implementirati složene operacije pomoću cmdlet komandi imperativno. Skriptni jezik podržava varijable, funkcije, grananje (ako-onda-drugo), petlje (dok, čini, za, i za svakoga), strukturirano rukovanje pogreškama / iznimkama i zatvaranja/lambda izrazi,[45] kao i integracija s .NET. Varijable u PowerShell skriptama imaju prefiks sa $. Varijablama se može dodijeliti bilo koja vrijednost, uključujući izlaz cmdlet komandi. Nizovi se mogu zatvoriti u pojedinačne navodnike ili u dvostruke navodnike: kada se koriste dvostruke navodnike, varijable će se proširiti čak i ako su unutar navodnika. Uključivanje puta do datoteke u zagradama kojima prethodi znak dolara (kao u $ {C: foo.txt}) stvara referencu na sadržaj datoteke. Ako se koristi kao L-vrijednost, sve što mu je dodijeljeno bit će zapisano u datoteku. Kada se koristi kao R-vrijednost, sadržaj datoteke će se pročitati. Ako je objekt dodijeljen, on je serializiran prije spremanja.[potreban je citat]

Članovima objekta može se pristupiti pomoću . notacija, kao u sintaksi C #. PowerShell pruža posebne varijable, kao što su $ arg, koji je niz svih argumenata naredbenog retka prosljeđenih funkciji iz naredbenog retka, i $_, koji se odnosi na trenutni objekt u cjevovodu.[46] PowerShell također nudi nizovi i asocijativni nizovi. Skriptni jezik PowerShell također odmah procjenjuje aritmetičke izraze unesene u naredbeni redak i raščlanjuje uobičajene kratice, poput GB, MB i KB.[47][48]

Koristiti funkcija ključna riječ, PowerShell omogućuje stvaranje funkcija, sljedećeg općeg oblika:[49]

funkcija Ime ($ Param1, $ Param2){  Upute}

Definirana funkcija poziva se u bilo kojem od sljedećih oblika:[49]

Ime vrijednost1 vrijednost2Ime -Param1 vrijednost1 -Param2 vrijednost2

PowerShell podržava imenovane parametre, pozicijske parametre, parametre prekidača i dinamičke parametre.[49]

PowerShell omogućuje pozivanje bilo kojih .NET metoda pružajući njihove prostore imena zatvorene u zagrade ([]), a zatim pomoću para dvotočke (::) za označavanje statičke metode.[50] Na primjer,[System.Console] :: WriteLine ("PowerShell").Objekti se kreiraju pomoću Novi objekt cmdlet. Pozivanje metoda .NET objekata postiže se korištenjem regularnog . notacija.[50]

PowerShell prihvaća žice, i sirovi i pobjegao. Niz zatvoren između jednog navodnici je neobrađeni niz, dok je niz zatvoren između dvostrukih navodnika prebjegnuti niz. PowerShell tretira ravne i kovrčave citate kao jednake.[51]

Sljedeći popis posebnih znakova podržava PowerShell:[52]

PowerShell posebni znakovi
LikOpis
`0Nula
`aUpozorenje
`bPovratni prostor
`ePobjeći
`fUlaganje obrasca
`nNova linija
`rPovrat prtljage
`tVodoravna kartica
`u {x}Unicode slijed bijega
`vOkomita kartica
--%Prestanite raščlanjivati

Za rukovanje pogreškama, PowerShell nudi .NET rješavanje iznimki mehanizam. U slučaju pogrešaka, objekti koji sadrže informacije o pogrešci (Iznimka object) bacaju se koji se hvataju pomoću pokušaj uhvatiti konstruirati (iako a zamka podržan je i konstrukt). PowerShell se može konfigurirati za tihi nastavak izvršavanja, bez stvaranja iznimke; to se može učiniti na jednoj naredbi, jednoj sesiji ili trajno.[53]

Skripte napisane pomoću PowerShell-a mogu se stvoriti da traju tijekom svih sesija u bilo kojem a .ps1 dosje ili .psm1 datoteku (potonja se koristi za implementaciju modula). Kasnije se može koristiti cijela skripta ili pojedinačne funkcije u skripti. Skripte i funkcije analogno rade s cmdlet komandama, tako da se mogu koristiti kao naredbe u cjevovodima, a parametri mogu biti vezani za njih. Objekti cjevovoda mogu se bez problema prenositi između funkcija, skripti i cmdlet komandi. Da bi se spriječilo nenamjerno pokretanje skripti, izvršavanje skripti je onemogućeno prema zadanim postavkama i mora biti izričito omogućeno.[54] Omogućavanje skripti može se izvesti na razini sustava, korisnika ili sesije. PowerShell skripte mogu biti potpisao kako bi potvrdili njihovu cjelovitost i podliježu Sigurnost pristupa kodu.[55]

Podržava jezik skriptnog jezika PowerShell binarni prefiks notacija slična znanstveni zapis podržani od mnogih programskih jezika u C-obitelji.[56]

Usluge poslužitelja

Također se može koristiti PowerShell ugrađen u aplikaciju za upravljanje, koja koristi PowerShell runtime za implementaciju upravljačke funkcije. Za to PowerShell nudi a uspio usluge poslužitelja API. Preko API-ja, aplikacija može instancirati a prostor za trčanje (jedna instanca izvedbe PowerShell), koja se izvodi u aplikaciji postupak a izložen je kao a Runspace objekt.[6] Stanje prostora trčanja uokvireno je a SessionState objekt. Kada se prostor za pokretanje kreira, izvršavanje Windows PowerShell pokreće instanciju, uključujući inicijalizaciju davatelja usluga i nabrajanje cmdlet komandi, te ažurira SessionState prigovarati u skladu s tim. Runspace se tada mora otvoriti za sinkronu obradu ili asinkronu obradu. Nakon toga može se koristiti za izvršavanje naredbi.[potreban je citat]

Da bi se izvršila naredba, cjevovod (predstavljen s Cjevovod objekt) mora se stvoriti i povezati s prostorom izvođenja. Zatim se objekt cjevovoda popunjava komandnim komandama koje čine cjevovod. Za sekvencijalne operacije (kao u PowerShell skripti), objekt cjevovoda kreira se za svaku naredbu i ugniježdi se unutar drugog objekta cjevovoda.[6] Kada se kreira cjevovod, Windows PowerShell poziva procesor cjevovoda koji rješava cmdlet komande u njihove odgovarajuće skupštine ( naredbeni procesor) i dodaje referencu na njih u cjevovod i asocira ih na InputPipe, OutputPipe i ErrorOutputPipe objekata, koji predstavljaju vezu s cjevovodom. Vrste su provjerene i parametri su vezani pomoću odraz.[6] Jednom kada je cjevovod postavljen, domaćin poziva Prizovi () metoda za pokretanje naredbi, ili njegov asinkroni ekvivalent - InvokeAsync (). Ako cjevovod ima Napiši-domaćin cmdlet na kraju cjevovoda, zapisuje rezultat na zaslon konzole. Ako nije, rezultati se predaju hostu, koji može primijeniti daljnju obradu ili prikazati sam izlaz.[potreban je citat]

Microsoft Exchange Server 2007 koristi API-je za hosting za pružanje svog GUI-ja za upravljanje. Svaka operacija izložena u GUI preslikava se u niz PowerShell naredbi (ili cjevovoda). Domaćin kreira cjevovod i izvršava ih. U stvari, sama interaktivna PowerShell konzola je PowerShell domaćin, koji tumači skripte unesene u naredbeni redak i kreiraju potrebne Cjevovod predmete i priziva ih.[potreban je citat]

Konfiguracija željene države

DSC omogućuje deklarativno određivanje načina na koji treba konfigurirati softversko okruženje.[57]

Nakon pokretanja a konfiguracija, DSC će osigurati da sustav dobije stanje opisano u konfiguraciji. DSC konfiguracije su idempotentne. The Upravitelj lokalne konfiguracije (LCM) povremeno anketira sustav koristeći kontrolni tok opisan od resursi (imperativni dijelovi DSC-a) kako biste bili sigurni da se održava stanje konfiguracije.

Verzije

U početku koristeći kodno ime "Monad", PowerShell je prvi put javno prikazan na konferenciji profesionalnih programera u listopadu 2003. u Los Angelesu. Sva glavna izdanja i dalje su podržana, a svako glavno izdanje ima povratnu kompatibilnost s prethodnim verzijama.

Windows PowerShell 1.0

PowerShell 1.0 objavljen je u studenom 2006 Windows XP SP2, Windows Server 2003 SP1 i Windows Vista.[58] Neobvezna je komponenta Windows Server 2008.

Windows PowerShell 2.0

Windows PowerShell ISE v2.0 uključen Windows 7, an integrirano razvojno okruženje za PowerShell skripte.

PowerShell 2.0 integriran je s Windows 7 i Windows Server 2008 R2[59] i pušten je za Windows XP sa servisnim paketom 3, Windows Server 2003 sa servisnim paketom 2 i Windows Vista sa servisnim paketom 1.[60][61]

PowerShell v2 uključuje promjene u skriptnom jeziku i API-ju za hosting, uz uključivanje više od 240 novih cmdlet komandi.[62][63]

Nove značajke PowerShell 2.0 uključuju:[64][65][66]

  • Remote PowerShell: Korištenje WS-upravljanje, PowerShell 2.0 omogućuje pozivanje skripti i cmdlet komandi na udaljenom računalu ili velikom skupu udaljenih računala.
  • Pozadinski poslovi: Naziva se i a PSJob, omogućuje asinkroni poziv sekvence naredbi (skripta) ili cjevovoda. Poslovi se mogu izvoditi na lokalnom računalu ili na više udaljenih računala. Interaktivni cmdlet u PSJob-u blokira izvršavanje posla sve dok se ne pruži korisnički unos.
  • Transakcije: Omogućite cmdlet i programeri mogu izvoditi transakcijske operacije. PowerShell 2.0 uključuje komandne komande za pokretanje, urezivanje i vraćanje a PSTtransaction kao i značajke za upravljanje i usmjeravanje transakcije na sudjelujući cmdlet i operacije davatelja usluga. Davatelj usluga PowerShell Registry podržava transakcije.
  • Napredne funkcije: Riječ je o komandnim komandama napisanim pomoću skriptnog jezika PowerShell. U početku nazvana "komandne komande skripti", ova je značajka kasnije preimenovana u "napredne funkcije".[67]
  • SteppablePipelines: Ovo omogućuje korisniku da kontrolira kada će se BeginProcessing (), ProcessRecord () i Završna obrada () pozivaju se funkcije cmdleta.
  • Moduli: To omogućava programerima i administratorima skripti da organiziraju i podijele PowerShell skripte u samostalne jedinice za višekratnu upotrebu. Šifra iz modul izvršava se u vlastitom samostalnom kontekstu i ne utječe na stanje izvan modula. Moduli mogu definirati okruženje ograničenog radnog prostora pomoću skripte. Imaju upornu državu kao i javne i privatne članove.
  • Jezik podataka: Podskup specifičnog za domenu PowerShell skriptnog jezika koji omogućuje razdvajanje definicija podataka od skripti i omogućuje lokalizirano stringovi resursa koji će se uvesti u skriptu za vrijeme izvođenja (Internacionalizacija skripti).
  • Otklanjanje pogrešaka u skriptama: Dopušta prijelomne točke da se postavi u PowerShell skripti ili funkciji. Točke prekida mogu se postaviti na crte, crte i stupce, naredbe i pristup varijablama za čitanje ili pisanje. Uključuje skup cmdlet komandi za kontrolu točaka prekida putem skripte.
  • Eventing: Ova značajka omogućuje preslušavanje, prosljeđivanje i djelovanje na događaje upravljanja i sustava. Eventing omogućuje PowerShell domaćinima da budu obaviješteni o promjenama stanja svojih upravljanih entiteta. Također omogućuje pretplatu na PowerShell skripte ObjectEvents, PSEvents, i WmiEvents i obrađuju ih sinkrono i asinkrono.
  • Integrirano okruženje skriptiranja za sustav Windows PowerShell (ISE): PowerShell 2.0 uključuje PowerShell host zasnovan na GUI-ju koji pruža integrirani program za ispravljanje pogrešaka, isticanje sintakse, završetak kartice i do 8 konzola s omogućenim PowerShell Unicodeom (Runspaces) u korisničkom sučelju s karticama, kao i mogućnost pokretanja samo odabranih dijelova u skripti.
  • Mrežni prijenos datoteka: Izvorna podrška za prioritetni, prigušeni i asinkroni prijenos datoteka između strojeva koji koriste Usluga inteligentnog prijenosa u pozadini (KOMADIĆI).[68]
  • Nova cmdlet komande: Uključujući Out-GridView, koji prikazuje tablične podatke u WPF Prikaz rešetke objekt, na sustavima koji to dopuštaju i ako je ISE instaliran i omogućen.
  • Novi operateri: -Podjela, -Pridružiti, i prskanje (@) operateri.
  • Rukovanje iznimkama pomoću funkcije Try-Catch-Napokon: Za razliku od ostalih .NET jezika, to omogućuje više vrsta izuzetaka za jedan blok ulova.
  • Nestable Here-Strings: PowerShell Ovdje-žice su poboljšani i sada se mogu gnijezditi.[69]
  • Blokiraj komentare: PowerShell 2.0 podržava blok komentare pomoću <# i #> kao graničnici.[70]
  • Novi API-ji: Novi API-ji kreću se od predavanja veće kontrole nad PowerShell-ovim parserom i runtimeom domaćinu, do stvaranja i upravljanja zbirkom Runspaces (RunspacePools) kao i sposobnost stvaranja Ograničeni prostorni prostori koji omogućuju samo pozivanje konfiguriranog podskupa PowerShell-a. Novi API-ji također podržavaju sudjelovanje u transakciji kojom upravlja Windows PowerShell.

Windows PowerShell 3.0

PowerShell 3.0 integriran je s Windows 8 i sa Windows Server 2012. Microsoft je također omogućio PowerShell 3.0 za Windows 7 sa servisnim paketom 1 za Windows Server 2008 sa servisnim paketom 1 i za Windows Server 2008 R2 sa servisnim paketom 1.[71][72]

PowerShell 3.0 dio je većeg paketa, Okvir za upravljanje sustavom Windows 3.0 (WMF3), koji također sadrži WinRM usluga za podršku udaljenosti.[72] Microsoft ih je napravio nekoliko Pregled tehnologije zajednice izdanja WMF3. Rana verzija tehnološkog pregleda zajednice 2 (CTP 2) sustava Windows Management Framework 3.0 objavljena je 2. prosinca 2011.[73] Windows Management Framework 3.0 objavljen je za opću dostupnost u prosincu 2012[74] i po defaultu je uključen u sustav Windows 8 i Windows Server 2012.[75]

Nove značajke u programu PowerShell 3.0 uključuju:[72][76]:33–34

  • Planirani poslovi: Poslovi se mogu planirati za pokretanje u unaprijed određeno vrijeme i datum.
  • Povezivanje sesije: Sesije se mogu prekinuti i ponovo povezati. Udaljene sesije postale su tolerantnije prema privremenim kvarovima mreže.
  • Poboljšano pisanje koda: Popunjavanje koda (IntelliSense) i isječci dodaju se. PowerShell ISE omogućuje korisnicima upotrebu dijaloških okvira za popunjavanje parametara za PowerShell cmdlet komande.
  • Podrška delegacije: Administrativni zadaci mogu se dodijeliti korisnicima koji nemaju dozvole za tu vrstu zadatka, bez davanja vječnih dodatnih dozvola.
  • Pomozite ažurirati: Dokumentacija pomoći može se ažurirati putem naredbe Update-Help.
  • Automatsko otkrivanje modula: Moduli se učitavaju implicitno kad god se pozove naredba iz tog modula. Dovršavanje koda radi i za neopterećene module.
  • Nove naredbe: Dodano je na desetke novih modula, uključujući funkcionalnost za upravljanje diskovima get-WmiObject win32_logicaldisk, volumeni, vatrozidi, mrežne veze i upravljanje pisačem, prethodno izvedeni putem WMI-a.[potrebno daljnje objašnjenje]

Windows PowerShell 4.0

PowerShell 4.0 integriran je s Windows 8.1 i sa Windows Server 2012 R2. Microsoft je također omogućio PowerShell 4.0 za Windows 7 SP1, Windows Server 2008 R2 SP1 i Windows Server 2012.[77]

Nove značajke u programu PowerShell 4.0 uključuju:

  • Konfiguracija željene države:[78][79][80] Deklarativna jezična proširenja i alati koji omogućuju postavljanje i upravljanje konfiguracijskim podacima za sustave koji koriste DMTF standardi upravljanja i WS-upravljanje Protokol
  • Nova zadana politika izvršenja: Na Windows poslužiteljima zadana je politika izvršavanja sada RemoteSigned.
  • Spremi-pomoć: Pomoć se sada može spremiti za module koji su instalirani na udaljenim računalima.
  • Poboljšano ispravljanje pogrešaka: Program za ispravljanje pogrešaka sada podržava tijekove rada za uklanjanje pogrešaka, daljinsko izvršavanje skripti i očuvanje sesija otklanjanja pogrešaka u PowerShell ponovnim povezivanjima sesija.
  • -CjelovodVariabilna sklopka: Novi sveprisutni parametar za izlaganje trenutnog objekta cjevovoda kao varijable za potrebe programiranja
  • Mrežna dijagnostika za upravljanje fizičkim i Hyper-V virtualiziranim mrežni prekidači
  • Gdje i ForEach Sintaksa metode pruža zamjensku metodu filtriranja i ponavljanja nad objektima.

Windows PowerShell 5.0

Ikona PowerShell 5.0

Windows Management Framework (WMF) 5.0 RTM koji uključuje PowerShell 5.0 ponovno je pušten na mrežu 24. veljače 2016., nakon početnog izdanja s ozbiljnom bugom.[81]

Ključne značajke uključuju:

  • Novi razred ključna riječ koja stvara razreda za objektno orijentirano programiranje
  • Novi nabrajanje ključna riječ koja stvara nabrajanja
  • OneGet cmdlet komande za podršku Čokoladno upravitelj paketa[82]
  • Proširivanje podrške za upravljanje prekidačima na sloj 2 mrežni prekidači.[83]
  • Otklanjanje pogrešaka za PowerShell pozadinske zadatke i instance PowerShella hostirane u drugim procesima (od kojih se svaki naziva "runpace")
  • Konfiguracija željene države (DSC) Local Configuration Manager (LCM) verzija 2.0
  • DSC djelomične konfiguracije
  • Meta-konfiguracije DSC Local Configuration Manager
  • Autorstvo DSC resursa pomoću klasa PowerShell

Windows PowerShell 5.1

Objavljen je zajedno s Ažuriranje obljetnice sustava Windows 10[84] 2. kolovoza 2016. i u Windows Server 2016.[85] PackageManagement sada podržava proxyje, PSReadLine sada ima podršku za ViMode, a dodana su i dva nova cmdleta: Get-TimeZone i Set-TimeZone. Modul LocalAccounts omogućuje dodavanje / uklanjanje lokalnih korisničkih računa.[86] Pregled za PowerShell 5.1 objavljen je za Windows 7, Windows Server 2008, Windows Server 2008 R2, Windows Server 2012 i Windows Server 2012 R2 16. srpnja 2016,[87] a pušten je 19. siječnja 2017.[88]

PowerShell 5.1 prva je verzija koja dolazi u dva izdanja "Desktop" i "Core". Izdanje "Desktop" nastavak je tradicionalne Windows PowerShell-e koja radi na punom .NET Framework stogu. Izdanje "Core" radi na .NET Core i isporučuje se s Windows Server 2016 Nano poslužiteljem. U zamjenu za manji otisak, potonjem nedostaju neke značajke poput cmdlet komandi za upravljanje međuspremnikom ili pridruživanja računala domeni, cmdlet komandi WMI verzije 1, cmdlet komandi i profila događaja.[21] Ovo je bila konačna verzija PowerShell-a izrađena isključivo za Windows.

PowerShell Core 6

PowerShell Core 6.0 prvi je put najavljen 18. kolovoza 2016., kada je Microsoft predstavio PowerShell Core i svoju odluku da napravi proizvod cross-platforma, neovisno o sustavu Windows, besplatno i otvoreno.[5] Postigla je opća dostupnost 10. siječnja 2018. za Windows, macOS i Linux.[89] Ima vlastiti životni ciklus podrške i pridržava se Microsoftovih pravila životnog ciklusa koja su uvedena sa sustavom Windows 10: Podržana je samo najnovija verzija PowerShell Core. Microsoft očekuje izdavanje jedne manje verzije za PowerShell Core 6.0 svakih šest mjeseci.[90]

Najznačajnija promjena u ovoj verziji PowerShella je proširenje na druge platforme. Za administratore Windowsa ova verzija PowerShell-a nije sadržavala značajnije nove značajke. U intervjuu sa zajednicom 11. siječnja 2018., od tima PowerShell-a zatraženo je da navede prvih 10 najuzbudljivijih stvari koje bi se dogodile Windowsovom IT stručnjaku koji bi migrirao s Windows PowerShell-a 5.1 na PowerShell Core 6.0; kao odgovor, Angel Calvo iz Microsofta mogao je imenovati samo dva: višeplatforma i open source.[91]

Prema Microsoftu, jedna od novih značajki PowerShell 6.1 je "Kompatibilnost s 1900+ postojećih cmdlet komandi u sustavu Windows 10 i Windows Server 2019."[92] Ipak, nijedna pojedinost o ovim komandnim komandama ne može se naći u punoj verziji dnevnika promjena.[93] Microsoft kasnije priznaje da je taj broj bio nedovoljan jer PowerShell Core nije uspio zamijeniti Windows PowerShell 5.1 i steći snagu na sustavu Windows.[94] Bio je, međutim, popularan na Linuxu.[94]

PowerShell Core 6.2 usmjeren je prvenstveno na poboljšanja performansi, ispravke programskih pogrešaka i manja poboljšanja cmdleta i jezika koja poboljšavaju kvalitetu života korisnika.[95]

PowerShell 7

PowerShell 7 zamjenski je proizvod za PowerShell Core 6.x proizvode, kao i Windows PowerShell 5.1, što je zadnja podržana verzija Windows PowerShella.[96][94] 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.[97]

New features in PowerShell 7 include:[98]

  • The -Parallel switch for the ForEach-Object cmdlet to help handle parallel processing
  • Near parity with Windows PowerShell in terms of compatibility with built-in Windows modules
  • A new error view
  • The Get-Error cmdlet
  • Pipeline chaining operators (&& i ||) that allow conditional execution of the next cmdlet in the pipeline
  • The ?: operator for ternary operation
  • The ??= operator that only assigns a value to a variable when the variable's existing value is null
  • The ?? operator for null coalescing
  • Unakrsna platforma Invoke-DscResource (eksperimentalno)
  • Povratak Out-GridView cmdlet
  • Povratak -ShowWindow switch for the Get-Help

Comparison of cmdlets with similar commands

The following table contains a selection of the cmdlets that ship with PowerShell, noting similar commands in other well-known command-line interpreters. Many of these similar commands come out-of-the-box defined as aliases within PowerShell, making it easy for people familiar with other common shells to start working.

Comparison of PowerShell cmdlets with internal and external commands of other command-line interpreters
PowerShell (Cmdlet)PowerShell (Alias)Windows Command PromptUnix ljuskaOpis
Get-ChildItemgci, dir, lsredlsLists all files and folders in the current or given folder
Test-Connection[a]pingpingpingŠalje ICMP echo requests to the specified machine from the current machine, or instructs another machine to do so
Get-Contentgc, type, cattipcatGets the content of a file
Get-CommandgcmPomozitetip, koji, compgenLists available commands
Get-Helphelp, manPomoziteodnosno, čovjekPrints a command's documentation on the console
Clear-Hostcls, clearclsčistoClears the screen[b]
Copy-Itemcpi, copy, cpcopy, xcopy, robokopijak.č.Copies files and folders to another location
Move-Itemmi, move, mvpotezmvMoves files and folders to a new location
Remove-Itemri, del, erase, rmdir, rd, rmdel, izbrisati, rmdir, rdrm, rmdirDeletes files or folders
Rename-Itemrni, ren, mvren, preimenovatimvRenames a single file, folder, hard link or symbolic link
Get-Locationgl, cd, pwdCDpwdDisplays the working path (current folder)
Pop-LocationpopdpopdpopdChanges the working path to the location most recently pushed onto the stack
Push-LocationpushdpushdpushdStores the working path onto the stack
Set-Locationsl, cd, chdirCD, chdirCDChanges the working path
Tee-ObjectteeN / AteePipes input to a file or variable, passing the input along the pipeline
Write-Outputecho, writejekajekaPrints strings or other objects to the standardni izlaz
Get-Processgps, pstlist,[c] lista zadataka[d]p.sLists all running processes
Stop-Processspps, killubiti,[c] taskkill[d]ubiti[e]Stops a running process
Select-Stringslsfindstrpronaći, grepPrints lines matching a pattern
Set-Variablesv, setpostavljenenv, export, set, setenvCreates or alters the contents of an environment variable
Invoke-WebRequestiwr, curl, wget[f]kovrča[100]wget, curlGets contents from a web page on the Internet

Bilješke

  1. ^ While the external ping command remains available to PowerShell, Test-Connection's output is a structured object that can be programmatically inspected.[99]
  2. ^ Clear-Host is implemented as a predefined PowerShell function.
  3. ^ a b Dostupno u Windows NT 4, Windows 98 Resource Kit, Windows 2000 Support Tools
  4. ^ a b Introduced in Windows XP Professional Edition
  5. ^ Also used in UNIX to send a process any signal, the "Terminate" signal is merely the default
  6. ^ kovrča i wget aliases are absent from PowerShell Core, so as to not interfere with invoking similarly named native commands.

Ekstenzije naziva datoteke

ProširenjeOpis
.ps1Datoteka skripte[101]
.psd1Module's manifest file; usually comes with a script module or binary module[102]
.psm1Script module file[103]
.dllDLL-sukladan[a] binary module file[104]
.ps1xmlFormat and type definitions file[44][105]
.xmlXML-sukladan[b] serialized data file[106]
.psc1Console file[107]
.psscSession configuration file[108]
.psrcRole Capability file[109]
  1. ^ Biblioteka dinamičkih veza (DLL) is not a PowerShell-only format. It is a generic format for storing compiled .NET assembly's code.
  2. ^ XML is not a PowerShell-only format. It is a popular information interchange format.

Application support

PrimjenaVerzijaCmdletsPružatelj uslugaManagement GUI
Exchange poslužitelj2007402DaDa
Windows poslužitelj2008DaDaNe
Microsoft SQL Server2008DaDaNe
Microsoft SharePoint2010DaDaNe
Upravitelj konfiguracije System Center2012 R2400+DaNe
Upravitelj operacija System Center200774DaNe
Upravitelj virtualnih strojeva System Center2007DaDaDa
Upravitelj zaštite podataka System Center2007DaNeNe
Windows Compute Cluster Server2007DaDaNe
Microsoft Transporter Suite for Lotus Domino[110]08.02.001247NeNe
Microsoft PowerTools for Open XML[111]1.033NeNe
IBM WebSphere MQ[112]6.0.2.244NeNe
IoT Core Dodaci[113]74Un­knownUn­known
Quest Management Shell for Active Directory[114]1.795NeNe
Special Operations Software Specops Command[115]1.0DaNeDa
VMware vSphere PowerCLI[116]6.5 R1500+DaDa
Internet informacijske usluge[117]7.054DaNe
Windows 7 Troubleshooting Center[118]6.1DaNeDa
Microsoft Deployment Toolkit[119]2010DaDaDa
NetApp PowerShell Toolkit[120][121]4.22000+DaDa
JAMS Scheduler – Job Access & Management System[122]5.052DaDa
UIAutomation[123]0.8432NeNe
Dell Equallogic[124]3.555NeNe
LOGINventory[125]5.8DaDaDa
SePSX[126]0.4.139NeNe

Alternative implementation

A project named Pash (the name is a pun on the well-known "bash" Unix shell[127]) has been an otvoreni izvor i cross-platform re-implementation of PowerShell via the Mono framework. Pash was created by Igor Moochnick, written in C # and was released under the Opća javna licenca GNU-a. Pash development stalled in 2008,[127] was restarted on GitHub in 2012,[128] and finally ceased in 2016 when PowerShell was officially made open-source and cross-platform.[129]

Vidi također

Reference

  1. ^ "PowerShell/PowerShell". GitHub. Preuzeto 2020-11-11.
  2. ^ "v7.1.0-rc.2 Release of PowerShell". GitHub PowerShell repository. Preuzeto 2020-10-20.
  3. ^ "PowerShell for every system!". 12 June 2017 – via GitHub.
  4. ^ Snover, Jeffrey (May 25, 2008). "PowerShell and WPF: WTF". Windows PowerShell Blog. Microsoft.
  5. ^ a b c Bright, Peter (2016-08-18). "PowerShell is Microsoft's latest open source release, coming to Linux, OS X". Ars Technica. Condé Nast. Arhivirano from the original on 2020-04-09. Preuzeto 2020-05-12.
  6. ^ a b c d e "How Windows PowerShell works". Microsoftova razvojna mreža. Microsoft. Preuzeto 2007-11-27.
  7. ^ Truher, Jim (December 2007). "Extend Windows PowerShell With Custom Commands". MSDN Magazine. Microsoft. Arhivirano iz Izvorna on 6 October 2008.
  8. ^ Lowe, Scott (January 4, 2007). "Exchange 2007: Get used to the command line". TechRepublic. DZS interaktivni. Arhivirano from the original on 2018-11-16. Preuzeto 2020-05-12.
  9. ^ Snover, Jeffrey (2007-11-13). "SQL Server Support for PowerShell!". Windows PowerShell Blog (blog posting). Microsoft. Arhivirano iz Izvorna on 2007-11-15. Preuzeto 2007-11-13.
  10. ^ Dragan, Richard V. (April 23, 2003). "Windows Server 2003 Delivers Improvements All Around". Recenzije. PC magazin. Ziff Davis. A standout feature here is that virtually all admin utilities now work from the command line (and most are available through telnet).
  11. ^ Biggar and Harbaugh (2017-09-14). "The Man Behind Windows PowerShell". To Be Continuous (Podcast). Heavybit. Preuzeto 2017-09-14.
  12. ^ Snover, Jeffrey (August 2, 2002). "Monad Manifesto – the Origin of Windows PowerShell". Windows PowerShell Blog (blog posting). Microsoft.
  13. ^ "Windows PowerShell (Monad) Has Arrived". Windows PowerShell Blog. Microsoft. 25. travnja 2006.
  14. ^ Snover, Jeffrey (November 15, 2006). "Windows PowerShell & Windows Vista". Windows PowerShell Blog (blog posting). Microsoft.
  15. ^ "Windows Management Framework (Windows PowerShell 2.0, WinRM 2.0, and BITS 4.0)". Podrška. Microsoft. September 30, 2013. Archived from Izvorna dana 13. listopada 2013.
  16. ^ "What is Pester and Why Should I Care?". 14. prosinca 2015.
  17. ^ Snover, Jeffrey (18 August 2016). "PowerShell is open sourced and is available on Linux". Microsoft Azure Blog. Microsoft.
  18. ^ "PowerShell/PowerShell". GitHub. Preuzeto 2016-08-18.
  19. ^ Hansen, Kenneth; Calvo, Angel (August 18, 2016). "PowerShell on Linux and Open Source!". Windows PowerShell Blog. Microsoft.
  20. ^ Foley, Mary Jo (August 18, 2016). "Microsoft open sources PowerShell; brings it to Linux and Mac OS X". ZDNet. DZS interaktivni.
  21. ^ a b "PowerShell on Nano Server". TechNet. Microsoft. 20. listopada 2016.
  22. ^ Payette, Bruce (2007). Windows PowerShell in Action. Manning Pubs Co Series. Manning. str. 27. ISBN 9781932394900. Preuzeto 2016-07-22. The core PowerShell language is based on the POSIX 1003.2 grammar for the Korn shell.
  23. ^ "about_Command_Precedence". TechNet. Microsoft. May 8, 2014.
  24. ^ "Windows PowerShell Extended Type System". Preuzeto 2007-11-28.
  25. ^ a b c "Windows PowerShell Cmdlets". Preuzeto 2007-11-28.
  26. ^ "Creating Your First Cmdlet". Preuzeto 2007-11-28.
  27. ^ "Get-Verb". TechNet. Microsoft. May 8, 2014.
  28. ^ "Cmdlet Overview". MSDN. Microsoft. May 8, 2014.
  29. ^ "Adding parameters That Process Command Line Input". Preuzeto 2007-11-28.
  30. ^ "Adding parameters That Process Pipeline Input". Preuzeto 2007-11-28.
  31. ^ "Windows PowerShell Providers". Preuzeto 2010-10-14.
  32. ^ PowerShell V2 release notes
  33. ^ Yoshizawa, Tomoaki; Ramos, Durval (29 September 2012). "PowerShell 1.0 Cmdlets". TechNet Articles. Microsoft.
  34. ^ Yoshizawa, Tomoaki (10 July 2012). "PowerShell 2.0 Cmdlets". TechNet Articles. Microsoft.
  35. ^ Wilson, Ed (2013). "1: Overview of Windows PowerShell 3.0". Windows Powershell 3.0 Step by Step. Sebastopol, California: Microsoft Press. ISBN 978-0-7356-7000-6. OCLC 829236530. Windows PowerShell 3.0 comes with about 1,000 cmdlets on Windows 8
  36. ^ Wilson, Ed. "1: Overview of Windows PowerShell 5.0". Windows PowerShell Step by Step (Treće izdanje). Redmond, Washington: Microsoft Press. ISBN 978-1-5093-0043-3. OCLC 927112976. Windows PowerShell 5.0 comes with about 1,300 cmdlets on Windows 10
  37. ^ "Windows PowerShell Owner's Manual: Piping and the Pipeline in Windows PowerShell". TechNet. Microsoft. Preuzeto 2011-09-27.
  38. ^ Jones, Don (2008). "Windows PowerShell – Rethinking the Pipeline". Microsoft TechNet. Microsoft. Preuzeto 2007-11-28.
  39. ^ "Windows PowerShell Object Concepts". Arhivirano iz Izvorna 19. kolovoza 2007. Preuzeto 2007-11-28.
  40. ^ "How PowerShell Formatting and Outputting REALLY works". Preuzeto 2007-11-28.
  41. ^ "More – How does PowerShell formatting really work?". Preuzeto 2007-11-28.
  42. ^ "about_Pipelines". TechNet. Microsoft. May 8, 2014.
  43. ^ "about_Objects". TechNet. Microsoft. May 8, 2014.
  44. ^ a b "about_Format.ps1xml". TechNet. Microsoft. May 8, 2014.
  45. ^ "Anonymous Functions and Code Blocks in PowerShell". Preuzeto 2012-01-21.
  46. ^ "Introduction to Windows PowerShell's Variables". Preuzeto 2007-11-28.
  47. ^ "Byte Conversion". Windows PowerShell Tip of the Week. Preuzeto 15. studenog 2013.
  48. ^ Ravikanth (20 May 2013). "Converting to size units (KB, MB,GB,TB, and PB) without using PowerShell multipliers". PowerShell Magazine.
  49. ^ a b c "about_Functions". Microsoft TechNet. Microsoft. 17. listopada 2013. Preuzeto 15. studenog 2013.
  50. ^ a b "Lightweight Testing with Windows PowerShell". Preuzeto 2007-11-28.
  51. ^ Angelopoulos, Alex; Karen, Bemowski (4 December 2007). "PowerShell Got Smart About Smart Quotes". Windows IT Pro. Penton Media. Preuzeto 15. studenog 2013.
  52. ^ "About Special Characters". Powershell / Scripting. Microsoft. 8. lipnja 2017. Preuzeto 20. lipnja, 2019.
  53. ^ "Trap [Exception] { "In PowerShell" }". Preuzeto 2007-11-28.
  54. ^ "Running Windows PowerShell Scripts". Preuzeto 2007-11-28.
  55. ^ "about_Signing". Microsoft TechNet. Microsoft. 17. listopada 2013. Preuzeto 15. studenog 2013.
  56. ^ Lee Holmes (September 2006). Windows PowerShell Quick Reference. O'Reilly Media.
  57. ^ eslesar. "Windows PowerShell Desired State Configuration Overview". msdn.microsoft.com.
  58. ^ Chung, Leonard; Snover, Jeffrey; Kumaravel, Arul (14 November 2006). "It's a Wrap! Windows PowerShell 1.0 Released!". Windows PowerShell Blog. Microsoft.
  59. ^ "PowerShell will be installed by default on Windows Server 08 R2 (WS08R2) and Windows 7 (W7)!". Windows PowerShell Blog. Microsoft. 2008-10-28. Preuzeto 2011-09-27.
  60. ^ "Windows Management Framework is here!". 2009-10-27. Preuzeto 2009-10-30.
  61. ^ "Microsoft Support Knowledge Base: Windows Management Framework (Windows PowerShell 2.0, WinRM 2.0, and BITS 4.0)". Support.microsoft.com. 2011-09-23. Preuzeto 2011-09-27.
  62. ^ "574 Reasons Why We Are So Proud and Optimistic About W7 and WS08R2". Windows PowerShell Blog. Microsoft. 2008-10-29. Preuzeto 2011-09-27.
  63. ^ Snover, Jeffrey (2008). "PowerShell: Creating Manageable Web Services". Arhivirano iz Izvorna 13. listopada 2008. Preuzeto 19. srpnja 2015.
  64. ^ "What's New in CTP of PowerShell 2.0". Preuzeto 2007-11-28.
  65. ^ "Windows PowerShell V2 Community Technology Preview 2 (CTP2) – releaseNotes". Arhivirano iz Izvorna 6. svibnja 2008. Preuzeto 2008-05-05.
  66. ^ "Differences between PowerShell 1.0 and PowerShell 2.0". Preuzeto 2010-06-26.
  67. ^ Jones, Don (May 2010). "Windows PowerShell: Writing Cmdlets in Script". Magazin TechNet. Microsoft.
  68. ^ "GoGrid Snap-in – Managing Cloud Services with PowerShell". Windows PowerShell Blog. Microsoft. 2008-10-14. Preuzeto 2011-09-27.
  69. ^ "Emit-XML". Windows PowerShell Blog. Microsoft. 2008-10-17. Preuzeto 2011-09-27.
  70. ^ "Block Comments in V2". Windows PowerShell Blog. Microsoft. 2008-06-14. Preuzeto 2011-09-27.
  71. ^ Lee, Thomas (13 August 2012). "PowerShell Version 3 is RTM!". Under The Stairs. Preuzeto 2012-08-13.
  72. ^ a b c "Windows Management Framework 3.0". Download Center. Microsoft. 4. rujna 2012. Preuzeto 2012-11-08.
  73. ^ "Windows Management Framework 3.0 Community Technology Preview (CTP) #2 Available for Download". Windows PowerShell Blog. Microsoft. 2. prosinca 2011.
  74. ^ "Windows Management Framework 3.0". Download Center. Microsoft. 3. prosinca 2012.
  75. ^ Jofre, JuanPablo (December 14, 2016). "Windows PowerShell System Requirements". Microsoftova razvojna mreža. Microsoft. Preuzeto 20. travnja, 2017.
  76. ^ Honeycutt, Jerry (2012). Woolley, Valerie (ed.). Introducing Windows 8: An Overview for IT Professionals. Redmond, WA: Microsoft Press. ISBN 978-0-7356-7050-1.
  77. ^ "Windows Management Framework 4.0 is now available". Microsoft. 24. listopada 2013. Preuzeto 4. studenog 2013.
  78. ^ Levy, Shay (25 June 2013). "New Features in Windows PowerShell 4.0". PowerShell Magazine. Preuzeto 26. lipnja 2013.
  79. ^ "Desired State Configuration in Windows Server 2012 R2 PowerShell". Kanal 9. Microsoft. 3. lipnja 2013. Preuzeto 26. lipnja 2013.
  80. ^ Hall, Adrian (7 June 2013). "Thoughts from Microsoft TechEd North America". Blogs: Tips & Tricks. Splunk. Preuzeto 26. lipnja 2013.
  81. ^ "Windows Management Framework (WMF) 5.0 RTM packages has been republished". Windows PowerShell Blog. Microsoft. February 24, 2016.
  82. ^ "Q and A". GitHub. Preuzeto 21. travnja 2015.
  83. ^ Snover, Jeffrey (2014-04-03). "Windows Management Framework V5 Preview". blogs.technet.com. Microsoft. Arhivirano iz Izvorna dana 30.06.2014. Preuzeto 2015-04-21.
  84. ^ says, Jaap Brasser (2 August 2016). "#PSTip New PowerShell Commands in Windows 10 Anniversary Update".
  85. ^ "What's New In Windows Server 2016 Standard Edition Part 9 – Management And Automation".
  86. ^ "Microsoft.PowerShell.LocalAccounts Module". technet.microsoft.com.
  87. ^ "Announcing Windows Management Framework (WMF) 5.1 Preview".
  88. ^ "WMF 5.1". Microsoft Download Center.
  89. ^ Aiello, Joey (11 January 2018). "PowerShell Core 6.0: Generally Available (GA) and Supported!". PowerShell Team Blog. Microsoft. Arhivirano od izvornika 11. lipnja 2018. Preuzeto 11. lipnja 2018.
  90. ^ Aiello, Joey; Wheeler, Sean (10 January 2018). "PowerShell Core Support Lifecycle". Microsoftovi dokumenti. Microsoft.
  91. ^ Calvo, Angel (11 January 2018). "Top 10 most exciting reasons to migrate". PowerShell AMA. Microsoft.
  92. ^ Aiello, Joey (2018-09-13). "Announcing PowerShell Core 6.1". devblogs.microsoft.com. Microsoft. Preuzeto 2019-06-01.
  93. ^ "PowerShell/PowerShell". GitHub. Preuzeto 2020-06-22.
  94. ^ a b c Lee, Steve (2019-04-05). "The Next Release of PowerShell – PowerShell 7". Microsoft. Preuzeto 2019-06-01.
  95. ^ Lee, Steve (2019-03-28). "General Availability of PowerShell Core 6.2". devblogs.microsoft.com. Microsoft. Preuzeto 2019-06-01.
  96. ^ Mackie, Kurt (2019-05-30). "Microsoft Releases PowerShell 7 Preview". 1105 Media Inc. Preuzeto 2019-06-01.
  97. ^ Lee, Steve (2019-05-30). "PowerShell 7 Road Map". devblogs.microsoft.com. Microsoft. Preuzeto 2020-08-12.
  98. ^ PowerShell 7 Preview 5 | PowerShell
  99. ^ "Test-Connection". PowerShell documentations. Microsoft. 9. kolovoza 2015.
  100. ^ Tar and Curl Come to Windows! - Microsoft Tech Community - 382409
  101. ^ Wheeler, Sean (2 June 2020). "About Scripts". Microsoftovi dokumenti. Microsoft.
  102. ^ Wheeler, Sean; Smatlak, David; Wilson, Chase (16 October 2019). "How to write a PowerShell module manifest". Dokumenti. Microsoft.
  103. ^ Wheeler, Sean; Smatlak, David (22 November 2019). "How to Write a PowerShell Script Module". Microsoftovi dokumenti. Microsoft.
  104. ^ Wheeler, Sean (13 November 2016). "How to Write a PowerShell Binary Module". Microsoftovi dokumenti. Microsoft.
  105. ^ Wheeler, Sean; Jofre, Juan Pablo; Vorobev, Sergei; Nikolaev, Kirill; Coulter, David (2 June 2020). "About Types.ps1xml". Microsoftovi dokumenti. Microsoft.
  106. ^ Wheeler, Sean. "Export-Clixml". Microsoftovi dokumenti. Microsoft.
  107. ^ Wheeler, Sean; Jofre, Juan Pablo; Vorobev, Sergei; Nikolaev, Kirill; Coulter, David. "Export-Console". Microsoftovi dokumenti. Microsoft.
  108. ^ Wheeler, Sean (2 June 2020). "About Session Configuration Files". Microsoftovi dokumenti. Microsoft.
  109. ^ Wheeler, Sean (2 June 2020). "New-PSRoleCapabilityFile". Microsoftovi dokumenti. Microsoft.
  110. ^ "Microsoft Transporter Suite for Lotus Domino". Preuzeto 2008-03-07.
  111. ^ "PowerTools for Open XML". Preuzeto 2008-06-20.
  112. ^ "MO74: WebSphere MQ – Windows PowerShell Library". Preuzeto 2007-12-05.
  113. ^ "IoT Core Add-ons command-line options". Preuzeto 2020-06-13.
  114. ^ "PowerShell Commands for Active Directory by Quest Software". Preuzeto 2008-07-02.
  115. ^ "PowerShell Remoting through Group Policy". Preuzeto 2007-12-07.
  116. ^ "VMware vSphere PowerCLI". Preuzeto 2014-09-09.
  117. ^ "Windows PowerShell : IIS7 PowerShell Provider Tech Preview 2". Preuzeto 2008-07-03.
  118. ^ "Kudos to the Win7 Diagnostics Team". Preuzeto 2009-06-15.
  119. ^ Michael, Niehaus (10 Jul 2009). "MDT 2010 New Feature #16: PowerShell support". Preuzeto 2014-10-27.
  120. ^ "Kudos to NetApp for Data ONTAP PowerShell ToolKit". Preuzeto 2010-06-15.
  121. ^ "PowerShell Toolkit 4.2 Announcement". Preuzeto 2016-09-07.
  122. ^ "Heterogeneous Job Scheduling With PowerShell". Preuzeto 2010-09-15.
  123. ^ "UIAutomation PowerShell Extensions". Preuzeto 2012-02-16.
  124. ^ "EqualLogic HIT-ME with PowerShell". Preuzeto 2012-03-09.
  125. ^ de:LOGINventory
  126. ^ "Selenium PowerShell eXtensions". Preuzeto 2012-08-20.
  127. ^ a b "Pash". SourceForge. Dice Holdings, Inc. Preuzeto 2011-09-27.
  128. ^ "Pash Project". Preuzeto 2013-04-10.
  129. ^ "Pash is now obsolete · Issue #429 · Pash-Project/Pash". GitHub. Preuzeto 2019-11-26.

Daljnje čitanje

vanjske poveznice

Pin
Send
Share
Send