Kako odpreti PowerShell, vse metode. Osnove Windows PowerShell Kaj je Windows PowerShell?

Samo avtomatizacija. Samo PowerShell.

Predgovor

Kot hobi in kadar imam čas, poučujem študente na UKIT (prej Moskovski državni kolidž informacijskih tehnologij). Trenutno imam malo časa, da bi se posvetil skupini študentov, vendar je dovolj, da pripravim objavo tukaj na Habréju.

Delam kot sistemski administrator v velikem neinformacijskem podjetju z veliko IT viri. Po vrsti dejavnosti se zdi, da rešuje veliko število podobnih nalog za servisiranje uporabnikov.

Z jezikom PowerShell sem se seznanil pred približno dvema letoma, resno pa sem se ga lotil šele leto kasneje, ne da bi se sprva zavedal njegovih ogromnih zmožnosti. V tem članku se bom najprej osredotočil na tiste, ki želijo začeti delati s PowerShell, vendar mu še ne zaupajo ali ne vedo, kako pristopiti k temu čudežu.

Opozorilo: PowerShell povzroča odvisnost.

Uvod

Wikipedia nam pove:
Windows PowerShell- razširljivo orodje za avtomatizacijo iz Microsoft, sestavljen iz lupine ukazne vrstice in spremljajočega skriptnega jezika.

Okolje PowerShell je lahko videti kot ukazna vrstica:


powershell.exe

Ali kot aplikacija:


powershell_ise.exe

Powershell_ise.exe imenovano integrirano skriptno okolje – Windows PowerShell ISE. Omogoča delo z jezikom v priročnem okolju s označevanjem sintakse, konstruktorjem ukazov, samodokončanjem ukazov s pritiskom na TAB in drugimi ugodnostmi. Idealno za ustvarjanje in testiranje skriptov.

Za začetek okolja powershell.exe oz powershell_ise.exe Samo vnesite isto ime v vrstico za izvajanje.

Datoteka skripta PowerShell ima pripono .ps1.

Skripta ni mogoče zagnati z dvojnim LMB. To se naredi posebej, da ne bi poškodovali sistema zaradi pomotoma zagnanega skripta.

Za zagon kliknite z desno miškino tipko in izberite »Zaženi z uporabo PowerShell«:

Poleg dejstva, da obstaja omejitev izvajanja skript LMB, je privzeto izvajanje skriptov v sistemu prepovedano, spet iz zgoraj opisanega razloga - da ne škodujemo sistemu. Če želite preveriti trenutno politiko izvajanja, zaženite ukaz:

Get-ExecutionPolicy

Dobili bomo eno od naslednjih vrednosti. Z veliko verjetnostjo, če bi bila to prva izstrelitev, bomo dobili Omejeno.

  • Omejeno- Skriptov ni mogoče izvajati;
  • AllSigned- Izvajati je mogoče samo skripte, ki jih je podpisal zaupanja vreden izdajatelj. Pred zagonom skripta zaupanja vrednega izdajatelja bo zahtevana potrditev;
  • RemoteSigned- Dovoljeno izvajanje skriptov, ki smo jih ustvarili mi, in prenesenih skriptov, ki jih je podpisal zaupanja vreden založnik;
  • Neomejeno- Brez omejitev, vse skripte je mogoče izvajati.

Za izvedbo in testiranje znižajte pravilnik na RemoteSigned z izvajanjem ukaza:

Set-ExecutionPolicy RemoteSigned

Pa začnimo

Cmdlet
  • Cmdleti so ukazi PowerShell, ki vsebujejo različne funkcije;
  • Cmdlete lahko ustvari sistem ali uporabnik;
  • Cmdleti so poimenovani v skladu s pravilom glagola in samostalnika, zaradi česar si jih je lažje zapomniti;
  • Cmdleti izpišejo rezultate kot predmete ali zbirke predmetov;
  • Cmdleti lahko prejemajo podatke za obdelavo in prenašajo podatke po cevovodu (več o cevovodih kasneje);
  • Cmdleti ne razlikujejo med velikimi in malimi črkami (napišete lahko get-process, Get-Process in GeT-pRoCeSs);
  • Za ukazi cmdlets ni treba dodati " ; «, razen če izvedemo več cmdletov v eni vrstici (Get-Process; Get-Services).

Na primer, da bi dobili trenutne procese, bomo zagnali ukaz:

In dobimo rezultat:

Poskusite sami:

Get-Service #za pridobitev stanja storitev, ki se izvajajo v računalnikih

Get-Content C:\Windows\System32\drivers\etc\hosts #za pridobitev vsebine datoteke. V tem primeru datoteka hosts

Ni vam treba znati vseh cmdletov na pamet. Get-Help bo rešil situacijo.
Informacije o vseh razpoložljivih cmdletih lahko dobite tako, da zaženete naslednji ukaz:

Get-Help -Category cmdlet

Če uporabljamo PowerShell ISE, olajšamo razvojni proces.
Samo vnesite pomišljaj " - ", ko vnesemo cmdlet, in dobimo vse možne možnosti za parametre in njihove vrste:

Poskusite:

Get-Service -Name p*

Če pa pozabimo, katere lastnosti ima ta ali oni cmdlet, ga bomo pregnali Get-Member:

Get-Process | Get-Member #Sign "|" imenovan transporter. O njem spodaj.

Ni dovolj informacij? Oglejmo si pomoč pri parametru -Primeri:

Get-Help Get-Process - Primeri

Dobimo opis Get-Process, in celo s primeri uporabe:

  • Cmdleti imajo lahko skrajšana imena – vzdevke. Na primer, namesto Get-Help se lahko uporablja preprosto pomoč. Če želite dobiti vse kratice, zaženite Get-alias.

Poskusite:

Beležnica Start-Process

Kar je podobno pisanju:

Zaženite beležnico

Zdaj pa ustavimo postopek:

Beležnica Stop-Process -Name

Beležnica za imena Spps

Malo prej smo povedali, da so cmdleti poimenovani v skladu s pravilom glagol-samostalnik. Naj pojasnim, da ni nujno, da je glagol Dobiti. Poleg tega, kar lahko prejmemo, lahko prosimo Set(zapomnite si, Set-ExecutionPolicy), zaženite Začetek, nehaj Stop, izhod ven, ustvarjaj Novo in mnogi drugi. Ime cmdleta ni omejeno na nič in ko ustvarimo svojega, ga lahko poimenujemo, kakor nam srce poželi.

Poskusimo izpisati v datoteko:

"Pozdravljeni, Habr!" | Izhodna datoteka C:\test.txt & C:\test.txt

Mimogrede, lahko zapišete takole:

"Pozdravljeni, Habr!" > C:\test.txt & C:\test.txt

PowerShell je objektno usmerjen programski mehanizem in skriptni jezik z vmesnikom ukazne vrstice, ki IT strokovnjakom nudi večje možnosti za konfiguriranje operacijskih sistemov družine MS Windows. Preprosto povedano, gre za nekakšno univerzalno administrativno orodje. Ta članek obravnava osnovne tehnike pisanja skriptov v lupini PowerShell, ki vam omogočajo avtomatizacijo upravljanja okolja Windows na preprost način.

PowerShell ponuja tako čisti konzolni vmesnik kot popolno razvojno okolje PowerShell ISE(Integrirano skriptno okolje, vgrajeno skriptno okolje) za skripte. Za zagon vmesnika ukazne vrstice vnesite powershell v meniju Zaženi (WinKey + R). PowerShell ISE se zažene z ukazom "PowerShell ISE" v istem meniju.

ISE je bolj zaželen, saj ponuja več priložnosti razvijalcu zahvaljujoč označevanju sintakse, samodokončanju kode in drugim funkcijam, ki so del številnih "velikih" IDE.

Pisanje in izvajanje skriptov

Skripte so shranjene kot datoteke s pripono .ps1. Čeprav je PowerShell že dolgo izvorni del operacijskega sistema Windows, njegovih skriptov ne morete zagnati s preprostim dvojnim klikom. Če želite to narediti, z desno miškino tipko kliknite skript in izberite »Zaženi v PowerShell«.

Obstajajo tudi sistemski pravilniki, ki omejujejo izvajanje skripta. Svoje trenutne nastavitve pravilnika lahko preverite tako, da zaženete ukaz Get-ExecutionPolicy. Rezultat bo ena od naslednjih vrednosti:

  • Omejeno- prepovedano je izvajanje skript. Standardna konfiguracija;
  • AllSigned- lahko izvajate skripte, ki jih je podpisal zaupanja vreden razvijalec; Preden zaženete skript, vas bo PowerShell vprašal za potrditev;
  • RemoteSigned- izvajate lahko lastne skripte ali tiste, ki jih je podpisal zaupanja vreden razvijalec;
  • Neomejeno- izvajate lahko poljubne skripte.

Če želite začeti, morate z ukazom Set-ExecutionPolicy spremeniti nastavitev pravilnika za zagon na RemoteSigned:

Cmdlets

Cmdleti so ukazi z vnaprej določeno funkcijo, podobni pogojnim stavkom v programskih jezikih. Imajo več ključnih lastnosti:

  • Obstajajo sistemski, uporabniški in izbirni ukazi cmdlet;
  • rezultat izvajanja ukaza cmdlet bo objekt ali niz predmetov;
  • Cmdleti lahko obdelujejo podatke in jih posredujejo drugim cmdletom z uporabo cevovodov;
  • cmdleti ne razlikujejo med velikimi in malimi črkami, zato ni razlike med Get-ADUser, get-aduser in gEt-AdUsEr;
  • simbol se uporablja kot ločilo; .

Vsak cmdlet vsebuje glagol in samostalnik, ločena z vezajem. Na primer:

  • Get-Process- prikaz trenutnih procesov, ki potekajo na računalniku;
  • Get-Service- prikaz seznama storitev in njihovega stanja;
  • Get-Content- prikaz vsebine podane datoteke, na primer Get-Content C:\Windows\System32\drivers\etc\hosts .

Če je potrebno, lahko navedete vse razpoložljive ukaze cmdlet s pomočjo Get-Help-Category:

Prav tako lahko ustvarite svoje lastne cmdlete.

Možnosti

Vsak cmdlet ima več parametrov, ki določajo, kako deluje. PowerShell ISE samodejno predlaga vse razpoložljive parametre in prikaže njihovo vrsto. Get-Service-NameW* na primer vrne seznam storitev, katerih ime se začne z W . Če pozabite, katere parametre ima cmdlet, ki ste ga vnesli, uporabite Get-Member. Na primer Get-Process | Get-Member:

Če ne najdete tistega, kar potrebujete, ali niste prepričani, kako pravilno nastaviti parametre, lahko celo zahtevate primere s parametrom -Examples:

Nekatere cmdlete lahko pokličete tudi z vzdevki, na primer namesto Get-Help lahko preprosto napišete Help.

Ko pišete velike skripte ali razvijate skupino, lahko uporabite komentarje. Vsak komentar se začne z znakom #, blok komentarja pa je omejen na kombinacije znakov<# и #>na začetku oziroma na koncu.

Tekoči trak

PowerShell Omogoča izmenjavo podatkov med ukazi cmdlet z uporabo cevovoda. Na primer:

  • GetService | SortObject -property Status - razvrščanje delujočih storitev po statusu;
  • "Pozdravljen svet!" | Out-File C:\ps\test.txt - pisanje besedila v datoteko.

Uporabite lahko več transporterjev. Naslednji skript na primer navaja imena vseh storitev razen ustavljenih:

Get-Service | WHERE ($_.status -eq “Teče”) | IZBERI prikazno ime

Zaključek

Zahvaljujoč tej vadnici imajo novinci idejo o tem, kaj je PowerShell. Pogledali smo tudi možnosti za spreminjanje politike izvajanja skripta, kaj je cmdlet, kako izmenjujejo podatke s pomočjo cevovoda in kako pridobiti lastnosti želenega predmeta. Ne pozabite, da lahko v primeru težav uporabite cmdlet Get-Help.

Izkušeni uporabniki operacijskega sistema Windows 10 so morda že slišali za pripomoček ukazne vrstice PowerShell. Morda ga poznajo tudi tisti, ki imajo izkušnje z delom z Windows 7 in 8.1. Po letih uporabe aplikacije ukazne vrstice Windows in datotek .bat je čas, da se seznanite z zmogljivejšim orodjem.

PowerShell je dragocen dodatek k seznamu orodij sistema Windows, njegov obseg pa je lahko za nekatere uporabnike zastrašujoč. Kaj je to - skriptni jezik ali ukazna lupina? Ne skrbite: kljub obsežnim zmožnostim lahko PowerShell obvlada vsak.

1. korak: namestitev

Najprej potrebujemo sam pripomoček PowerShell. Če uporabljate Windows 10, že imate nameščeno različico 5 lupine Windows 10 Anniversary Update, vendar razlika ni opazna. Windows 8 in 8.1 uporabljata PowerShell 4, kar je tudi povsem dovolj. Namestitev PowerShell v Windows 7 ne bo povzročila težav, vendar boste vseeno morali narediti nekaj dodatnih korakov. Predvsem morate dodatno namestiti .Net Framework. Namestite lahko Windows Management Framework, ki vključuje PowerShell.

PowerShell ima dva vmesnika. Napredni uporabniki se lahko odločijo za celoten GUI vmesnik, znan kot integrirano skriptno okolje (ISE). Za začetnike je najbolje uporabiti konzolo PowerShell, preprost besedilni vmesnik Windows v slogu ukazne vrstice ali celo DOS 3.2.

Če želite zagnati PowerShell kot skrbnik v sistemu Windows 10, kliknite gumb Start in se pomaknite navzdol do Windows PowerShell. V sistemu Windows 8.1 poiščite lupino Windows PowerShell v mapi Sistem v sistemu Windows. V sistemu Windows 7 se lupina nahaja v mapi Pripomočki. Kot običajni uporabnik lahko PowerShell zaženete na enak način, z levim gumbom miške namesto z desnim.

Iskanje lahko uporabite v kateri koli različici sistema Windows. Za lažjo prihodnjo uporabo lahko PowerShell pripnete na opravilno vrstico.

2. korak: Stari ukazi sistema Windows

Sintaksa ukazov Windows v PowerShell deluje kot običajno. na primer CD spreminjanje map, režija prikaže seznam vseh datotek in map v trenutni mapi.

Odvisno od tega, kako zaženete konzolo PowerShell, boste morda začeli c:\Windows\system32 ali v c :\Uporabniki\ . Primer na posnetku zaslona uporablja ukaz CD..(s presledkom), da se premaknete eno raven navzgor, nato zaženite ukaz režija za prikaz seznama datotek in map v imeniku C:\.

3. korak: Namestite datoteke pomoči

Ekipe kot CD in režija niso aktivni ukazi PowerShell. Gre za tako imenovane vzdevke – zamenjave za prave ukaze PowerShell. Vzdevki so uporabni za tiste, ki imajo bogate izkušnje z ukazno vrstico. Vendar se ne dotikajo globin PowerShell.

Če želite začeti uporabljati PowerShell, vnesite pomoč in ukaz, ki ga potrebujete. Posnetek zaslona prikazuje ukaz .

Ekipa pomoč pravi to režija je vzdevek za ukaz PowerShell Get-ChildItem. Če tipkate get-childitem V PS C:\>, boste videli isto kot pri uporabi ukaza režija.

Kot je navedeno na dnu posnetka zaslona, ​​se datoteke pomoči za PowerShell ne namestijo samodejno. Če jih želite pridobiti, zaženite PowerShell kot skrbnik in vnesite posodobitev-pomoč. Namestitev datotek pomoči bo trajala nekaj minut; nekateri moduli morda manjkajo - v tem primeru na primer pomoč za NetWNV in SecureBoot nista bila nameščena. Ko je vse pripravljeno, bo celoten sistem pomoči vedno ponudil potrebne nasvete.

Zdaj vnesite ukaz poiščite pomoč in poljuben ukaz, ki vas zanima (»cmdlet« v PowerShell, cmdlet v ruščini), bo prikazan njegov opis. na primer get-help get-childitem prikaže seznam možnosti get-childitem. Prikažete lahko tudi različne možne možnosti. Na primer

get-help get-childitem -primeri

nudi sedem podrobnih primerov uporabe get-childitem. Ekipa

get-help get-childitem -podrobno

vključuje teh sedem primerov in podrobne razlage vsakega parametra v ukazu cmdlet get-childitem.

4. korak: Poiščite pomoč pri nastavitvah

Na posnetku zaslona morda ste opazili dva seznama pod SINTAKSA Za get-childitem. Če imate dve različni sintaksi, pomeni, da obstajata dva načina za zagon ukaza cmdlet. Kako ohraniti sintakso ločeno eno od druge in kaj pomenijo parametri? Odgovor je preprost, če poznate trik.

Za podrobnosti o parametrih cmdlet get-childitem ali kateri koli drug parameter uporabe -poln:

get-help get-childitem -full

To vam daje seznam, kaj lahko naredite s cmdletom in kaj se bo zgodilo. Poglejte posnetek zaslona.

Če pregledate opise parametrov, boste opazili, da get-childitem omogoča pridobitev predmeta otrok(kot je ime podmape ali ime datoteke) na določeni lokaciji, z ali brez ujemajočih se določenih znakov. Na primer:

get-childItem “*.txt” -recurse

vrne seznam datotek "*.txt" v trenutni mapi in vseh podmapah (zaradi parametra -rekurzija). Medtem ko

get-childitem “HKLM:\Programska oprema”

vrne seznam vseh registrskih ključev najvišje ravni v HKEY_LOCAL_MACHINE\Programska oprema.

Če ste kdaj poskušali vstopiti v register z ukazno vrstico Windows ali datotekami .bat, boste cenili funkcionalnost te možnosti dostopa.

5. korak: Učenje imen

Obstaja razlog, zakaj so doslej prikazani ukazi cmdlet podobni: get-childitem, update-help, get-help uporabite en sam glagolsko-imenski vzorec. Vsi ukazi cmdlet PowerShell uporabljajo to konvencijo; uporabljajo glagol pred enim samostalnikom. To bo všeč tistim, ki so nekoč trpeli zaradi nedoslednih imen ukazov v jezikih VB in VBA.

Oglejte si najpogostejše cmdlete:

set-lokacija: nastavi trenutno delovno lokacijo na določeno lokacijo

get-content: pridobi vsebino datoteke

get-item: Pridobi datoteke in mape

copy-item: kopira predmet z ene lokacije na drugo

odstrani-predmet: izbriše datoteke in mape

: Zažene procese v lokalnem ali oddaljenem računalniku

pridobi storitev: Zažene storitve v lokalnem ali oddaljenem računalniku

invoke-webrequest: Pridobi vsebino s spletne strani v internetu

Če si želite ogledati, kako deluje določen cmdlet, uporabite poiščite pomoč kot v primeru

get-help copy-item -full

Na podlagi opisa v pomoči lahko razumete, kaj cmdlet potrebuje. Na primer, če želite kopirati vse datoteke in mape iz Dokumenti V c:\temp, uporabite

copy-item c:\uporabniki\ \documents\* c:\temp

Če vnesete ta ukaz, boste videli več zanimivih funkcij okolja PowerShell. Na primer, če tipkate kopija-i in pritisnite gumb Tab, PowerShell bo izpolnil Kopiraj-predmet. Če nepravilno vnesete cmdlet in ga PowerShell ne more prepoznati, je podan popoln opis, kaj je bilo storjeno narobe.

Preizkusite ta cmdlet:

invoke-webrequest askwoody.com

Dobili boste kratek seznam naslovov, slik, povezav in druge vsebine spletne strani. Prosimo, upoštevajte v poiščite pomoč na seznam invoke-webrequest, ki "vrne zbirko obrazcev, povezav, slik in drugih pomembnih elementov HTML" - točno to, kar bi moralo biti prikazano na zaslonu.

Nekateri cmdleti vam pomagajo pri upravljanju lupine PowerShell:

get-ukaz: seznam vseh razpoložljivih cmdletov

get-glagol: seznam vseh razpoložljivih glagolov

clear-host: Počisti zaslon gostiteljskega programa

Različni parametri vam omogočajo zmanjšanje ukazov in zoženje nabora uporabnih možnosti. Če si želite na primer ogledati seznam vseh cmdletov, ki delujejo s storitvami Windows, vnesite

get-command *-storitev

Prikazani bodo vsi glagoli, ki so na voljo s samostalnikom storitev. Tukaj je njihov seznam:

Get-Service

Nova storitev

Ponovni zagon storitve

Resume-Service

Set-Servis

Start-Service

Stop-Service

Prekinitev storitve

Te cmdlete lahko kombinirate z drugimi.

6. korak: Uporaba cevi

Če ste seznanjeni z ukazno vrstico Windows ali paketnimi datotekami, potem poznate preusmeritev in cevi. Preusmeritev (> simbol) in cevi (| simbol) vzamejo rezultat dejanja in ga pritrdijo na drugo lokacijo. Na primer, lahko preusmerite rezultat ukaza režija v besedilno datoteko ali posredujte rezultat ukaza ping ekipi najti za filtriranje zanimivih rezultatov, kot je

dir > temp.txt

ping askwoody.com | poiščite “packets” > temp2.txt

Tukaj v drugi ekipi najti išče niz paketi, povzeto z naslova askwoody.com ekipe ping in združi vse ujemajoče se vrstice v datoteko, imenovano temp2.txt.

Prvi od teh ukazov dobro deluje v lupini PowerShell. Za zagon drugega ukaza bi potrebovali nekaj podobnega

ping askwoody.com | paketi izbranih nizov | izhodna datoteka temp2.txt

Uporaba preusmeritve in cevi močno razširi zmožnosti ukazne vrstice Windows: namesto da bi se neskončno pomikali navzdol po zaslonu in iskali besedilni niz, lahko filtrirate ukaze Windows, ki jih potrebujete.

Powershell ima podporo cev, in ni omejeno na besedilo. PowerShell vam omogoča, da prenesete celoten predmet iz enega ukaza cmdlet v drugega, pri čemer je objekt kombinacija podatkov (imenovanih lastnosti) in dejanj (metod), ki lahko uporabljajo te podatke.

Težaven del nastopi pri razvrščanju predmetov. Objekti, ki jih posreduje en cmdlet, se morajo ujemati z vrsto objektov, ki jih sprejema prejemni cmdlet. Besedilo je zelo preprosta vrsta predmeta, tako da je, če delate z besedilom, poravnavanje predmetov preprosta naloga. Preostali predmeti niso tako osnovni.

Kako to razumeti? Uporabi cmdlet get-member. Če želite vedeti, katero vrsto predmeta obdeluje cmdlet, ga zaženite get-member. Na primer, če poskušate razumeti procese, ki se izvajajo v računalniku, in ste svoje možnosti zožili na cmdlete , rezultat ukazov cmdlets najdete takole:

get-process | get-member

Zagon tega ukaza cmdlet ustvari dolg seznam lastnosti in metod za , vendar na samem začetku seznama lahko vidite vrsto predmeta, ki ustvarja :

TypeName: System.Diagnostics.Process

Lastnosti prikazuje tudi spodnji posnetek zaslona klical get-process Ročaji, Ime, NPM, PM, SI, VM in W.S..

Če želite manipulirati z rezultatom Za delo s tem ukazom cmdlet (namesto prikazovanja dolgega seznama aktivnih procesov na monitorju) morate poiskati drug ukaz, ki sprejme kot vnos System.Diagnostics.Process. Če želite poiskati cmdlet, ki ga potrebujete, znova uporabite PowerShell:

get-command -Parametertype System.Diagnostics.Process

Ta ukaz cmdlet nudi seznam ukazov cmdlet, ki lahko obdelujejo System.Diagnostics.Process.

Nekateri cmdleti so znani po tem, da sprejemajo skoraj vse vrste podatkov. Glavni med njimi je . Ta ukaz cmdlet prehaja enega za drugim skozi vsak predmet, poslan skozi cev, in zanj uporabi navedena izbirna merila. Obstaja poseben marker, imenovan $_ , ki vam omogoča, da uporabite vsak element v cevi enega za drugim.

Recimo, da želite pridobiti seznam vseh procesov, ki se izvajajo v računalniku z imenom "svchost", to pomeni, da se želite ujemati z lastnostjo Ime postopek svchost. Uporabite ukaz:

get-process | where-object ($_.Name -eq “svchost”)

Cmdlet pogleda vsak predmet System.Diagnostics.Process, primerja .Ime ta objekt s "svchost"; če so ujemanja, so prikazana na monitorju. Poglejte posnetek zaslona.

7. korak: Analizirajte uporabne ukaze PowerShell

Zdaj že veste dovolj, da lahko poškodujete računalnik, zato bodite previdni. Poglejmo na primer pogosto zahtevane ukaze PowerShell.

Ti ukazi delujejo samo v sistemu Windows 10 in samo, če PowerShell zaženete kot skrbnik. Zasnovani so za ponovno namestitev vnaprej nameščenih aplikacij Windows 10 in so lahko koristni za tiste, ki so te programe najprej odstranili in se nato odločili, da jih vrnejo. Ukazi izgledajo takole:

Get-AppXPackage | Foreach (Add-AppxPackage -DisableDevelopmentMode -Register “$($_.InstallLocation)\AppXManifest.xml”)

Če zaženete ta ukaz, prezrite rdeča opozorila in ko je ukaz dokončan, znova zaženite računalnik; vsi vnaprej nameščeni programi v sistemu Windows 10 bodo prikazani na svojih mestih.

Evo, kako ta ukaz deluje. Get-AppXPackage preveri vse pakete aplikacij v uporabniškem profilu. Tudi če aplikacijo izbrišete, ostane na seznamu uporabniških profilov.

Cmdlet Get-AppXPackage vrne predmet TypeName Microsoft.Windows.Appx.PackageManager.Commands.AppxPackage, ki vključuje popolnoma kvalificirano ime paketa aplikacije in lokacijo ustrezne datoteke manifesta XML. Če zaženete cmdlet get-appxpackage, boste videli dolg seznam paketov aplikacij. Posnetek zaslona prikazuje opis aplikacije Xbox.

Cmdlet Foreach kroži skozi vsak predmet AppXPackage tako, da jih pošljete v cmdlet Add-AppxPackage. Glede na poiščite pomoč Za Add-AppxPackage, obstajata dve ključni stikali:

  • Stikalo -Registracija ki se uporablja za registracijo obstoječih namestitev paketov aplikacij, lahko nastavite parametre Onemogoči razvojni način in Registrirajte se
  • Stikalo -Onemogoči razvojni način pove sistemu Windows, naj znova registrira obstoječi paket aplikacij, ki je bil onemogočen, neregistriran ali poškodovan.

vrstica " $($_.InstallLocation)\AppXManifest.x ml« opisuje, kje se datoteka nahaja manifest.xml. Če pogledate datoteke AppXManifest.xml, boste videli zapleten seznam ID-jev aplikacij, izvedljivih datotek in veliko število vizualnih elementov, povezanih z aplikacijo.

Po ponovnem zagonu se vsi dodani paketi aplikacij prenesejo in namestijo iz trgovine Windows.

Po prehodu na operacijski sistem Windows 10 je veliko uporabnikov opazilo gumb »Zaženi PowerShell« v vmesniku Raziskovalca. V zvezi s tem se je na internetu pojavilo veliko vprašanj, uporabnike je zanimalo, kakšen program Windows PowerShell je in za kaj je potreben. Če vas zanima tudi to vprašanje, potem vam mora to gradivo pomagati.

Windows PowerShell je skriptni jezik in program ukazne vrstice za izvajanje teh skriptov. Ta jezik je bil izdan leta 2006 kot del drugega servisnega paketa za Windows XP in od takrat je PowerShell del vseh Microsoftovih operacijskih sistemov. Leta 2008 se je pojavila druga različica tega jezika in od sistema Windows 7 se uporablja ta različica. Datoteke s skripti lupine Windows PowerShell imajo razširitev PS1 in jih je mogoče izvajati kot znane datoteke BAT in CMD.

Windows PowerShell je skriptni jezik, namenjen predvsem Microsoftovim poslovnim strankam, ki potrebujejo zmogljiva orodja za avtomatizacijo nalog upravljanja strežnikov in računalnikov s sistemom Windows. Kot osnova za ta jezik je bila uporabljena platforma .NET, ki jo Microsoft razvija od leta 2002.

Windows PowerShell vam omogoča avtomatizacijo najrazličnejših opravil. Z njim lahko upravljate datoteke, storitve, procese, račune in nastavitve. Jezik PowerShell razume številne ukaze, ki jih najdete v običajnem ukaznem pozivu sistema Windows (CMD), vendar ima tudi svoj jezik, ki ga sestavljajo lastni ukazi, ki se imenujejo cmdleti.

Cmdleti (v angleščini cmdlets) so oblikovani v skladu s pravilom glagola in samostalnika, na primer Get-Help. Osnove lupine Windows PowerShell se lahko naučite s pomočjo pomoči (cmdlet Get-Help). Za splošne informacije preprosto vnesite ukaz »Get-Help«; za pomoč o določenem cmdletu vnesite »Get-Help Cmdlet-name«. Če na primer vnesemo ukaz »Get-Help Get-Process«, bomo prejeli pomoč o cmdletu Get-Process.

Kako zagnati program Windows PowerShell

Program Windows PowerShell je mogoče zagnati na različne načine. Najlažja možnost je, da preprosto uporabite iskanje v meniju Start. Če želite to narediti, odprite meni Start, vnesite iskalno poizvedbo »Windows PowerShell« in nato odprite najdeni program.

Uporabite lahko tudi kombinacijo tipk Windows-R in vnesete ukaz »powershell«.

V sistemu Windows 10 lahko PowerShell zaženete iz katere koli mape. Če želite to narediti, kliknite gumb »Datoteka« v zgornjem levem kotu Raziskovalca in izberite »Zaženi Windows PowerShell«.

Kako uporabljati Windows PowerShell

Kot smo že povedali, lahko s programom PowerShell avtomatizirate številna rutinska opravila v operacijskem sistemu Windows. Kot primer bomo prikazali nekatere zmožnosti tega orodja, da bo jasno, kako ga uporabljati.

Praznjenje smeti. Obstaja poseben cmdlet za čiščenje koša, imenovan »Clear-RecycleBin«. Ta cmdlet je uporaben pri pisanju skriptov za servisiranje računalnikov. Ko zaženete cmdlet, morate določiti pogon, na katerem želite izprazniti koš. primer:

Clear-RecycleBin c:

Spodnji posnetek zaslona prikazuje, kako se izvaja ta cmdlet. Po vnosu ukaza “Clear-RecycleBin c:” se prikaže zahteva za potrditev. Če želite nadaljevati z izvajanjem cmdleta, vnesite črko "Y" in pritisnite Enter.

Če ukazu cmdlet »Clear-RecycleBin c:« dodate »-Force«, bo koš počiščen, ne da bi zahtevali potrditev. Posnetek zaslona spodaj.

Arhiviranje datotek. Za arhiviranje in razpakiranje datotek sta na voljo cmdleta »Compress-Archive« in »Expand-Archive«. Na primer, če želite arhivirati mapo »C:\test\« v arhiv »C:\archive\test2.zip«, morate zagnati ta cmdlet:

Compress-Archive -LiteralPath C:\test\ -DestinationPath C:\archive\test2.zip

Kot rezultat izvedbe zgoraj prikazanega ukaza se bo v mapi “C:\archive\” pojavila datoteka “test2.zip”, v kateri bo arhivirana vsebina mape “C:\test\”.

Seznam cmdletov za Windows PowerShell

Za Windows PowerShell obstaja ogromno različnih cmdletov in ne bo mogoče vseh opisati v enem članku. Zato predlagamo, da se seznanite z najbolj priljubljenimi med njimi:

  • Get-Help – pridobivanje pomoči;
  • Update-Help – pomoč pri posodobitvi;
  • Get-Command – iskanje cmdletov;
  • Get-Alias ​​​​– iskanje vzdevkov za ukaze cmdlets;
  • Get-PSDrive – ogled povezanih pogonov;
  • Get-Member – ogled lastnosti in metod, ki jih ima objekt;
  • Get-WindowsFeature – ogled informacij o razpoložljivih vlogah in funkcijah strežnika;
  • Install-WindowsFeature (analogno Add-WindowsFeature) - namesti vloge ali komponente na želeni strežnik;
  • Uninstall-WindowsFeature (analogno Remove-WindowsFeature) – odstrani strežniške vloge ali komponente;
  • Get-History – ogled zgodovine ukazov, ki so bili vneseni v tej seji;
  • Get-Variable – ogled seznama spremenljivk in njihovih vrednosti;
  • New-Variable – ustvarjanje nove spremenljivke;
  • Set-Variable – nastavitev vrednosti spremenljivke;
  • Clear-Variable – brisanje vrednosti spremenljivke;
  • Remove-Variable – odstranitev spremenljivke in njene vrednosti;
  • Format-List – ogled rezultata ukaza kot seznama lastnosti, kjer vsaka vrstica vsebuje ločeno lastnost;
  • Format-Table — oglejte si rezultat ukaza v obliki tabele;
  • Format-Wide - ogled rezultata ukaza v obliki široke tabele, ki prikazuje samo eno lastnost za vsak predmet;
  • Format-Custom – oglejte si rezultat ukaza s pogledom po meri;
  • Export-Csv – izvoz podatkov v format CSV;
  • Import-Csv – uvoz podatkov iz datoteke CSV;
  • Export-Clixml - izvoz podatkov v format XML;

Celoten seznam cmdletov za Windows PowerShell lahko dobite tako, da zaženete ukaz Get-Command -CommandType cmdlet.

Uporabniki, ki se šele učijo začetnega zaslona Windows 8.1 ali Windows 7, pogosto zaženejo aplikacije, ki so jim popolnoma neznane. Eden od teh je Microsoftov izdelek Power Shell.

Kaj je Power Shell

Če se je nekdo potrudil, da je napisal kodo za produkt, to pomeni, da ga nekdo potrebuje, da je nekomu namenjen. Najverjetneje bo navaden uporabnik lahko izkoristil minimalno korist od prisotnosti te programske opreme, za sistemskega skrbnika pa je ta program odličen pomočnik.

Power Shell je sodobna, standardizirana lupina ukazne vrstice, ki omogoča dostop do bolj prilagodljivega upravljanja računalnika s sistemom Windows. V bistvu ista ukazna vrstica, vendar so možnosti veliko širše.

Funkcionalnost skrbniškega orodja

Funkcionalnost programske opreme je impresivna. Z njim lahko upravljate storitve, račune, shranjevanje datotek, procese in celo strežnike. Lupina omogoča dostop do dela s predmeti COM, NET, XML, izvajanja zunanjih ukazov, ustvarjanja in izvajanja lastnih skriptov ter izvajanja drugih operacij.

Power Shell ima svoj nabor ukazov, tako kot CMD, ki se imenujejo cmdleti. Sintaksa jezika, definicije cmdletov in njihovih parametrov v tem programu se razlikujejo od običajnih, čeprav lahko pripomoček prepozna veliko ukazov CMD.

Dobro razumljivi ukazi lupine Power Shell, kot so cd, dir, copy in podobno, so v tej lupini vzdevki ali, kot pravijo, vzdevki, ki služijo preprosto za udobje. Primer: ukaz dir, ki ga vnese uporabnik za ogled datotečnega sistema, ustreza ukazu cmdlet Get-ChildItem.

Kako razumeti program

Osebi, ki ni seznanjena z osnovami ukazne vrstice, bo težko razumeti zapletenost dela s pripomočkom. Na žalost je na to temo malo preprostih in razumljivih referenčnih knjig.

Ko se odločate za začetek učenja skriptnega jezika Power Shell, je priporočljivo prebrati priročnik, ki ga je ustvaril Frank Koch, ali se obrniti na sistem pomoči samega programa. Slednji je precej močan, z veliko konkretnimi primeri. Osnovne informacije tukaj bodo na voljo za ogled, ko vnesete cmdlet Get-Help.