Programmi käivitamine PowerShellist

Skripti käivitamiseks on mitu erinevat viisi, allpool on peamised.

  1. Käivitage PowerShelli kest ja käivitage selles olev skript (sisestage faili tee ja faili nimi, näiteks nii: C:\Scripts\test.ps1 või minge käsuga cd C:\Scripts skriptide kausta ja käivitage see käsuga.\test.ps1) Kesta saab leida ja käivitada mitmel viisil. Üks võimalus on läbida menüü Start. Windows 7 jaoks - peate minema "Kõik programmid" - "Accessories" - "Windows PowerShell" ja käivitama "Windows PowerShelli" kesta. Windows 10 jaoks - peate leidma rühma tähega "W" ja sealt leiate "Windows PowerShelli".
  2. Käivitage "Windows PowerShell ISE"- see on programm - arenduskeskkond, mis võimaldab redigeerida ja siluda PowerShelli skripte, mis on seal ka vaikimisi koos PowerShelli endaga. Pärast selle käivitamist peate lihtsalt klõpsama nuppu "Ava" või minema menüüsse Fail - Ava ja valige soovitud skript, seejärel vajutage nuppu F5 või "Käivita skript". Windows PowerShell ISE leiate samast kohast, kus PowerShelli kest – menüüs Start.
  3. Käivitage standardne käsurida ja kirjuta sinna:
    powershell-fail<имя_скрипта> (näide: powershell -fail myscript.ps1)

Kui te pole varem PowerShelli skripte käivitanud, saate suure tõenäosusega teate: Faili ei saa üles laadida<имя_скрипта>sest skripti täitmine pole selles süsteemis lubatud. Lisateabe saamiseks tippige "get-help about_signing". See on tingitud asjaolust, et turvakaalutlustel ja pahatahtliku koodi juhusliku käivitamise vältimiseks peavad kõik skriptid olema digitaalselt allkirjastatud.

Kuidas lubada allkirjastamata PowerShelli skripti käivitamist?

1. PowerShellis, käivitage enne skripti käivitamist käsk, mis võimaldab käivitada praeguse shelliseansi allkirjastamata skripte:

Set-ExecutionPolicy RemoteSigned -Scope protsess

2. Käivitamine standardsest käsurealt kasutada valikut -executionpolicy, st. käivitage skript järgmiselt:

<имя_скрипта>

Mõlemad meetodid määravad poliitika ainult praegusele seansile, samas kui registris määratud PowerShelli skripti käitamise turbepoliitikat ei muudeta ja see jääb samaks. Kui soovite muuta skripti käitamise turvapoliitika püsivaks, kasutage järgmist meetodit.

3. Luba käivitada igavesti: käivitage PowerShell administraatorina, seejärel käivitage käsk:

Set-ExecutionPolicy RemoteSigned

Märge: Kui skript laaditi alla Internetist, peate käivitamise kinnitamise taotluse vältimiseks kasutama RemoteSigned asemel ümbersõitu - mis tahes päringute ja hoiatuste täielikku keelamist.

Kuidas PowerShelli skripti taustal käivitada?

Selleks kasutage lihtsalt käivitusparameetrit -WindowStyle, mis võib võtta järgmisi väärtusi: Normal, Minimized, Maximized ja Hidden. Seega peate taustal allkirjastamata skripti käivitamiseks käivitama käsu:

powershell -executionpolicy RemoteSigned -WindowStyle Hidden -fail<имя_скрипта>

Soovi korral saate lisada ka -NonInteractive, et skript ei esitaks küsimusi. Seega käivitatakse skript kasutaja jaoks märkamatult. Olge selle meetodi kasutamisel ettevaatlik.

PowerShelli skripti käitamine parameetritega

Tegelikult tuleks käivitada nii, nagu käivitaksite tavalist programmi või parameetritega nahkhiirefaili. Näiteks käsurealt parameetritega skripti käivitamiseks võite kirjutada järgmise käsu:

powershell -executionpolicy RemoteSigned -fail<имя_скрипта>param1 param2 "teine ​​tekstiparameeter"

Skriptis endas saate need parameetrid järgmiselt:

Parameeter ($var1, $var2, $var3) kaja $var1, $var2, $var3

PowerShelli ISE-s saate käivitada parameetritega skripti samal viisil, kasutades käsupaani.

Kuidas PowerShelli skripti otsetee abil käivitada?

Selle ülesande täitmiseks on kaks võimalust:

  1. Looge bat / cmd-fail, milles registreerite skripti käivitamiseks käsu (olete lugenud ülaltoodud parameetreid)
  2. Looge PowerShelli otsetee, mille leiate kaustast c:\Windows\System32\WindowsPowerShell\v<версия>\ ja otsetee omadustes väljale "Objekt" lisage vajalikud parameetrid.

Näiteks Powershelli skripti käivitamiseks, kui kasutaja sisse logib, saate lihtsalt luua otsetee, nagu on kirjeldatud 2. lõigus, ja panna see automaatsesse laadimisse. Samuti muudab otsetee loomine mõne ülaltoodud meetodi abil lihtsaks skripti käitamise administraatorina või mis tahes muu kasutajana tavalise programmina.

PowerShelli skriptikeel on üsna võimas tööriist erinevate probleemide lahendamiseks, kuid seda saab kasutada mitte ainult heade asjade jaoks, vaid ka kahju tekitamiseks, seega kasutage seda mõistlikult;)

Võib-olla on Windows 10 operatsioonisüsteemi kogenud kasutajad PowerShelli käsurea utiliidist kuulnud. See võib olla tuttav ka neile, kellel on Windows 7 ja 8.1 kogemus. Pärast aastatepikkust Windowsi käsurearakenduse ja .bat-failide kasutamist on aeg õppida tundma võimsamat tööriista.

PowerShell on väärtuslik täiendus Windowsi tööriistade loendisse ja selle suur ulatus võib mõned kasutajad eemale peletada. Kas see on skriptikeel või käsukest? Ärge muretsege: hoolimata tohututest võimalustest saab igaüks PowerShelli hallata.

1. samm: installimine

Esiteks vajame PowerShelli utiliiti ennast. Kui kasutate operatsioonisüsteemi Windows 10, on teil juba installitud PowerShell 5. Windows 10 aastapäeva värskendus kasutab versiooni 5.1, kuid märgatavat erinevust pole. Windows 8 ja 8.1 kasutavad PowerShell 4, mis on samuti piisav. PowerShelli installimine opsüsteemi Windows 7 ei tekita probleeme, kuid paar lisatoimingut tuleb siiski teha. Eelkõige peate lisaks installima .Net Frameworki. Saate installida Windowsi haldusraamistiku, mis sisaldab PowerShelli.

PowerShellil on kaks liidest. Kogenud kasutajad saavad valida tervikliku graafilise liidese, mida nimetatakse integreeritud skriptimiskeskkonnaks (ISE). Algajatele on kõige parem kasutada PowerShelli konsooli, lihtsat Windowsi käsurea stiilis tekstiliidest või isegi DOS 3.2.

PowerShelli käitamiseks Windows 10 administraatorina klõpsake nuppu Start ja kerige rakenduste loendist Windows PowerShelli. Operatsioonisüsteemis Windows 8.1 otsige Windowsi süsteemi kaustast Windows PowerShell. Windows 7 puhul asub kest kaustas Tarvikud. Tavakasutajana saab PowerShelli käivitada täpselt samamoodi, kasutades parema nupu asemel hiire vasakut nuppu.

Saate kasutada otsingut mis tahes Windowsi versioonis. Kasutamise hõlbustamiseks saate PowerShelli tegumiribale kinnitada.

2. samm: vanad Windowsi käsud

Windowsi käskude süntaks PowerShellis töötab tavapärasel viisil. Näiteks, cd muudab kaustu, rež näitab kõigi aktiivses kaustas olevate failide ja kaustade loendit.

Sõltuvalt sellest, kuidas PowerShelli konsooli käivitate, võite alustada aadressilt c:\Windows\system32 või c :\Kasutajad\ . Ekraanipildi näites kasutatakse käsku cd..(koos tühikuga), et tõusta üks tase korraga, seejärel käivitage käsk rež kataloogis olevate failide ja kaustade loendi kuvamiseks C:\.

3. samm: spikrifailide installimine

Käske nagu cd Ja rež ei ole aktiivsed PowerShelli käsud. Need on niinimetatud varjunimed (aliased) – tõeliste PowerShelli käskude asendused. Varjunimed on käepärased neile, kellel on käsureaga palju kogemusi. Kuid need ei puuduta PowerShelli sügavusi.

PowerShelli kasutamise alustamiseks tippige abi ja vajalik käsk. Ekraanitõmmis näitab käsku .

Meeskond abiütleb seda rež on PowerShelli käsu varjunimi Get-ChildItem. Kui valite get-childitem V PS C:\>, näete sama, mis käsu kasutamisel rež.

Nagu on näidatud ekraanipildi allosas, ei installita PowerShelli abifaile automaatselt. Nende hankimiseks käivitage PowerShell administraatorina ja tippige uuendus-abi. Abifailide installimine võtab mitu minutit, mitmed moodulid võivad puududa – näiteks NetWNV ja SecureBooti abi ei olnud antud juhul installitud. Kui kõik on valmis, annab täielik abisüsteem alati õigeid näpunäiteid.

Nüüd tippige käsk saada-abi ja mis tahes käsk, mis teid huvitab ("cmdlet" PowerShelli keeles, venekeelsed cmdletid), kuvatakse selle kirjeldus. Näiteks, get-help get-childitem pakub valikute loendit get-childitem. Samuti saate kuvada erinevaid võimalikke valikuid. Näiteks

get-help get-childitem -näited

toodab seitse üksikasjalikku kasutusnäidet get-childitem. Meeskond

get-help get-childitem -detailne

sisaldab neid seitset näidet ja üksikasjalikke selgitusi iga cmdleti parameetri kohta get-childitem.

4. toiming: seadetega abi saamine

Ekraanipildil võib-olla märkasite all kahte loendit SÜNTAKS Sest get-childitem. Kui teil on kaks erinevat süntaksit, saate cmdleti käitada kahel viisil. Kuidas süntaksit üksteisest lahus hoida ja mida parameetrid tähendavad? Vastus on lihtne, kui teate nippi.

Lisateavet cmdleti parameetrite kohta get-childitem või mõni muu kasutusparameeter - täis:

get-help get-childitem -full

See annab loendi sellest, mida saate cmdletiga teha ja mis juhtub. Vaadake ekraanipilti.

Parameetrite kirjelduse vaatamine võimaldab teil seda märgata get-childitem võimaldab saada objekti laps(nt alamkausta või failinimi) määratud asukohas koos teatud tähemärkidega või ilma. Näiteks:

get-childItem "*.txt" -recurse

tagastab aktiivses kaustas ja kõigis alamkaustades olevate "*.txt" failide loendi (tänu - kordus). Kusjuures

get-childitem “HKLM:\Software”

tagastab kõigi ülataseme registrivõtmete loendi HKEY_LOCAL_MACHINE\Tarkvara.

Kui olete kunagi proovinud siseneda registrisse Windowsi käsurea või .bat-failide abil, saate selle juurdepääsuvaliku funktsionaalsust hinnata.

5. samm: nimede õppimine

On põhjus, miks seni näidatud cmdletid näevad välja sarnased: get-childitem, update-help, get-help kasutage sama verbi-nimisõna mustrit. See konventsioon kehtib kõigi PowerShelli cmdlet-käskude kohta, kus tegusõna on üksiku nimisõna ees. See meeldib neile, kes omal ajal kannatasid VB ja VBA käsunimede ebakõla tõttu.

Vaadake kõige levinumaid cmdlet-faile:

määrata asukoht: määrab praeguse töökoha konkreetse asukoha

saada-sisu: hankige faili sisu

hanki-ese: hankige faile ja kaustu

kopeeri üksus: kopeerib objekti ühest asukohast teise

eemalda-üksus: kustutab failid ja kaustad

: käivitab protsessid kohalikus või kaugarvutis

saada teenust: käivitab teenused kohalikus või kaugarvutis

invoke-webrequest: hangib sisu Internetis olevalt veebilehelt

Et näha, kuidas konkreetne cmdlet töötab, kasutage saada-abi nagu juhtumil

hanki-abi kopeeri-üksus -täis

Abis oleva kirjelduse põhjal saate aru, mida cmdlet vajab. Näiteks kui soovite kopeerida kõik failid ja kaustad Dokumendid V c:\temp, kasutage

kopeeri üksus c:\kasutajad\ \dokumendid\* c:\temp

Selle käsu sisestamisel näete PowerShelli keskkonna huvitavaid funktsioone. Näiteks kui sisestate koopia-i ja vajutage tabeldusnuppu, täidab PowerShell Kopeeri üksus. Kui cmdlet on valesti kirjutatud ja PowerShell ei suuda seda ära tunda, antakse täielik kirjeldus valesti läinud kohta.

Proovige seda cmdleti:

invoke-webrequest askwoody.com

Saate lühikese loendi pealkirjadest, piltidest, linkidest ja muust veebilehe sisust. Pööra tähelepanu saada-abi nimekirja juurde invoke-webrequest, mis "tagastab vormide, linkide, piltide ja muude oluliste HTML-i elementide kogu" - täpselt see, mida ekraanil näidata tuleks.

Mõned cmdletid aitavad PowerShelli ise hallata.

saada-käsk: kõigi saadaolevate cmdlet-ide loend

saama-verb: kõigi saadaolevate tegusõnade loend

selge-peremees: tühjendage hostprogrammi ekraan

Erinevad parameetrid võimaldavad teil käske vähendada ja kasulike valikute valikut kitsendada. Näiteks kõigi Windowsi teenustega töötavate cmdlet-käskude loendi kuvamiseks tippige

get-command *-teenus

Kuvatakse kõik nimisõnaga saadaolevad tegusõnad teenust. Siin on nende nimekiri:

Hankige teenus

Uus Teenus

Taaskäivitage teenus

Jätka teenust

Määra teenus

start-teenus

Peatage teenus

Peatage teenus

Saate neid cmdlet-faile teistega kombineerida.

6. samm: torude kasutamine

Kui olete tuttav Windowsi käsurea või pakkfailidega, siis teate ümbersuunamisest ja torudest. Ümbersuunamine (sümbol >) ja torud (sümbol |) võtavad toimingu tulemuse ja lisavad selle mujale. Näiteks saate käsu tulemuse ümber suunata rež tekstifaili või edasta käsu tulemus ping meeskonnale leida huvitavate tulemuste filtreerimiseks, nt

dir > temp.txt

ping askwoody.com | leidke "paketid" > temp2.txt

Siin teises meeskonnas leida otsin nööri paketid, võetud askwoody.com-i aadressilt käsuga ping ja liidab kõik sobivad read failiks nimega temp2.txt.

Esimene neist käskudest töötab PowerShellis hästi. Teise käsu käivitamiseks vajate midagi sarnast

ping askwoody.com | valige stringipaketid | out-fail temp2.txt

Ümbersuunamise ja torude kasutamine laiendab oluliselt Windowsi käsurea võimalusi: selle asemel, et tekstistringi otsides ekraanil lõputult alla kerida, saate soovitud Windowsi käske filtreerida.

Powershellil on tugi toru ja see ei piirdu tekstiga. PowerShell võimaldab teil edastada terve objekti ühest cmdletist teise, kus objekt on kombinatsioon andmetest (nn atribuudid) ja toimingutest (meetoditest), mis saavad neid andmeid kasutada.

Keeruline osa algab siis, kui objektid on rivis. Ühe cmdleti pakutavad objektid peavad vastama vastuvõtva cmdleti poolt aktsepteeritud objektide tüübile. Tekst on väga lihtsat tüüpi objekt, nii et kui töötate tekstiga, on objektide joondamine lihtne ülesanne. Teised objektid pole nii elementaarsed.

Kuidas sellest aru saada? Kasutage cmdleti saada liikmeks. Kui soovite teada, millist tüüpi objekti cmdlet käsitleb, käivitage see läbi saada liikmeks. Näiteks kui proovite mõista arvutis töötavaid protsesse ja olete kitsendanud valikud cmdlet-käskudele , saate cmdlet-failide tulemuse teada järgmiselt:

saada protsess | saada liikmeks

Selle cmdleti käitamine loob pika loendi omadustest ja meetoditest , kuid loendi alguses näete loova objekti tüüpi :

TypeName: System.Diagnostics.Process

Allolev ekraanipilt näitab ka atribuute õigustatud get-process Käepidemed, nimi, NPM, PM, SI, VM Ja WS.

Kui soovite tulemusega manipuleerida selle cmdlet-käsuga töötamiseks (selle asemel, et kuvada monitoril pikka aktiivsete protsesside loendit), peate leidma teise käsu, mida kasutatakse sisendiks Süsteem.Diagnostika.Protsess. Õige cmdleti leidmiseks kasutage uuesti PowerShelli:

get-command -Parametertype System.Diagnostics.Process

See cmdlet loob loendi cmdlet-käsudest, mida saab töödelda Süsteem.Diagnostika.Protsess.

Mõned cmdletid aktsepteerivad peaaegu igasuguseid andmeid. Peamine nende seas on . See cmdlet läbib ükshaaval iga toru kaudu saadetud objekti ja rakendab sellele määratud valikukriteeriumid. Seal on spetsiaalne marker, mida nimetatakse $_ , mis võimaldab kasutada torus olevat iga üksust ükshaaval.

Oletame, et soovite saada loendi kõigist arvutis töötavatest protsessidest nimega "svchost", st soovite sobitada atribuudiga Nimi protsessi svchost. Kasuta käsku:

saada protsess | kus-objekt ($_.Name -eq “svchost”)

Cmdlet vaadates iga objekti Süsteem.Diagnostika.Protsess, võrdleb .Nimi see objekt "svchost"; kui vasteid on, kuvatakse need monitoril. Vaadake ekraanipilti.

7. samm: analüüsige kasulikke PowerShelli käske

Nüüdseks teate juba piisavalt, et saaksite arvutit kahjustada, seega olge ettevaatlik. Vaatame näiteks sageli nõutavaid PowerShelli käske.

Need käsud töötavad ainult Windows 10-s ja ainult siis, kui käitate PowerShelli administraatorina. Need on mõeldud eelinstallitud Windows 10 rakenduste uuesti installimiseks ja võivad olla kasulikud neile, kes need programmid esmalt desinstallisid ja seejärel tagasi saata otsustasid. Käsud näevad välja sellised:

Get-AppXPackage | Foreach (Add-AppxPackage -DisableDevelopmentMode -Registreeri "$($_.InstallLocation)\AppXManifest.xml"

Kui käivitate selle käsu, ignoreerige punasega märgitud hoiatusi ja kui käsk on täidetud, taaskäivitage arvuti; kõik Windows 10 eelinstallitud programmid ilmuvad oma kohtadele.

Siin on, kuidas see käsk töötab. Get-AppXPackage kontrollib kõiki kasutajaprofiilis olevaid rakenduste pakette. Isegi kui desinstallite rakenduse, jääb see kasutaja profiililoendisse.

Cmdlet Get-AppXPackage tagastab objekti TypeName Microsoft.Windows.Appx.PackageManager.Commands.AppxPackage, mis sisaldab täielikult kvalifitseeritud rakenduspaketi nime ja vastava XML-manifesti faili asukohta. Kui käivitate cmdleti get-appxpackage, näete pikka loendit rakendusepakettidest. Ekraanipilt näitab Xboxi rakenduse kirjeldust.

Cmdlet Igaühele liigub läbi iga objekti AppXPackage, saates need cmdleti Add-AppxPackage. Vastavalt saada-abi Sest Add-AppxPackage, on kaks võtmelülitit:

  • Lüliti -Registreeri mida kasutatakse olemasolevate rakenduspakettide installide registreerimiseks, saate määrata valikuid Keela arendusrežiim Ja Registreeri
  • Lüliti -Keela arendusrežiim käsib Windowsil uuesti registreerida olemasolev rakenduspakett, mis on desaktiveeritud, registreerimata või rikutud.

rida " $($_.InstallLocation)\AppXManifest.x ml" kirjeldab faili asukohta manifest.xml. Kui vaatate faile AppXManifest.xml, näete keerulist loendit rakenduse ID-dest, käivitatavatest failidest ja suurest hulgast rakendusega seotud visuaalidest.

Pärast taaskäivitamist laaditakse kõik lisatud rakenduste paketid alla ja installitakse Windowsi poest.

Tere kõigile! Täna väike märkus selle teema kohta, kuidas avada powershell administraatorina. Tuletan meelde, et PowerShell on Microsofti võimas programmeerimis- ja halduskeel, mis iga aastaga omandab aina rohkem cmdlet-e ja funktsioone. See on sisuliselt Windowsi käsuviiba asendus. Allpool käsitleme meetodeid, mis võimaldavad teil seda avada ja konfigureerida.
.

PowerShelli lisandmooduli avamise meetodid

Powershell areneb väga hästi ja Windows 10 väljatulekuga sai ta juba versiooni 4, kuid meie teema on teine. Kuidas siis powershelli avada? Kõik on lihtne, kui Windows XP-s, siis mitte midagi. kuna see tarnitakse eraldi, on see kõigis järgmistes väljaannetes sisseehitatud komponendina. Kõige mitmekülgsem viis powershelli avamiseks on vajutada

Win + R ja sisestage powershell

Enter vajutades käivitub PowerShelli konsool, ainus probleem on see, et see ei avane administraatori nimel. Selle tulemusena ei saa paljusid käske täita, allpool vaatame, kuidas seda administraatori nimel teha.

Windows Powershelli avamine administraatorina opsüsteemides Windows 8.1 ja Windows 7

Windows Powershelli saate avada käivitamise kaudu. Operatsioonisüsteemis Windows 8.1, Windows 2012 R2 avage System Tools - Windows ja paremklõpsake käsku Run as administrator.

Operatsioonisüsteemides Windows 7 ja Windows 2008 R2 näeb see välja selline Start > Tarvikud > Windows PowerShell

Samuti saate luua ülesande üksuses otsetee ja sellel paremklõpsata ja valida sobiva üksuse

oleks tore, kui PowerShell oleks alati administraatorina avatud, rakendame seda. Seda tehakse kõigis Windowsi versioonides samal viisil. Juhtpaneeli avamine

Paremklõpsake seda ja valige omadused. Näete kohe faili teed, kus see süsteemis asub.

Klõpsake nuppu "Täpsemalt". Näete täiendavaid omadusi. kus peate administraatorina käivitamiseks märkima ruudu.

Kõik on väga lihtne. Olen kindel, et nüüd ei teki teil küsimust, kuidas Windows Powershelli avada. Veel üks kasulik asi on fondi muutmine Powershelli aknas.

PowerShelli avamine Windows 10-s nupu Start kontekstimenüü kaudu

Microsoft keskendub üha enam käsureale oma tugeva keele (PowerShell) suunas ja see on loogiline, kuna selle võimalused Windowsi pere operatsioonisüsteemide haldamiseks on peaaegu piiramatud, kui mitte rohkem kui graafilises liideses. Alates Windows 10 versioonist 1709 on kontekstimenüüs PowerShell asendanud tuttava cmd. Paremklõpsake Windows 10 käivitamisnupul ja valige kontekstimenüüst sobiv üksus:

  1. Windows PowerShell
  2. Windows PowerShell (administraator) - see on täpselt see režiim, millel on Windows 10 maksimaalsed õigused.

Windows PowerShelli käivitamine otsinguga Windows 10-s

Windows 10 ja vanemates versioonides leiate PowerShelli kesta tavalise otsingu abil, selle jaoks on spetsiaalne jaotis. Klõpsake nupu Start kõrval suurendusklaasi ikooni. Avanevas otsinguvormis sisestage sõna PowerShell. Teid otsitakse kõik võimalused, mille hulgast leiate ka kesta. Kui teete sellel paremklõpsu, saate selle administraatorina avada.

Windows PowerShelli käivitamine Windows 10 menüü Start abil

PowerShelli kesta avamiseks menüüst Start, avage see ja leidke üksus Windows PowerShell, see on kausta kujul, avage see ja käivitage sobiv versioon.

Kui teete paremklõpsu, saate kesta käitada administraatori nimel ja administraatori õigustega.

Täiendavad ja üldised Shelli käivitamise meetodid

Microsofti võimsa keelega kesta avamiseks on ka väga spetsiifilisi meetodeid. Kõige kohmakam on lihtsalt käivitatava faili leidmine ja selle otse süsteemis olevast asukohast käivitamine. Me sisestame teie Windows 10 mööda teed:

C:\Kasutajad\kasutajanimi\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Windows PowerShell

Selle tulemusena avate kausta otseteedega, mis on menüüs Start, saate neid käivitada.

Samuti saate käivitada algse käivitatava faili, mis asub tee ääres:

C:\Windows\System32\WindowsPowerShell\v1.0

Ja sellel paremklõpsates saate selle administraatorina alla laadida maksimaalsete õigustega.

Windows PowerShelli saate käivitada ka käsuviiba aknast, tippige lihtsalt sellesse võlusõna ja vajutage sisestusklahvi.

Noh, tuletan teile meelde ka uue ülesande käivitamise meetodit tegumihalduri lisandmoodulist. Avage "Task Manager", valige menüükäsk "Fail - käivitage uus ülesanne"

Tippige ilmuvas aknas PowerShell.

Noh, viimane mulle teadaolev meetod on PowerShelli käivitamine läbi Windows 10 Exploreri, selle avatud Exploreri jaoks valige menüükäsk "Fail - Run Windows PowerShell", seal on mõlemad režiimid.

Mis on PowerShell ISE

Kindlasti olete märganud, et kõikjal on PowerShell ISE otsetee ja soovite teada, mis see on. Lühidalt öeldes on see spetsiaalne kest, millesse saate kirjutada skripte ja skripte PowerShelli keeles, kasutades kõiki Microsofti pakutavaid cmdlet-käske.

Powershelli fondi muudatused minge lihtsalt omaduste vahekaardile Font, kus saate määrata suuruse vahemikus 5 kuni 72.

atribuutidele pääsete ka utiliidi aknast endast, klõpsake vasakus ülanurgas ikooni ja valige omadused

Siin on fondiseaded veidi erinevad, koos nende muutumisega muutub ka konsooli suurus.

Vahekaardil Värvid saate määrata Powershelli ja akna enda fondi värvi. Tehes selle näiteks käsurea moodi mustaks.

Samuti soovitan, kui olete aktiivne konsoolimängija, seadke puhvri suuruseks mitte 50 käsku, vaid vähemalt 100.

Tänan tähelepanu eest. Need on meetodid Power Shelli konsooli avamiseks Windowsis. Saidi materjal

Programmi käivitamine PowerShellist

Mis tahes käivitatava faili (programmi või käsurea utiliidi) käivitamine PowerShellist on üsna tavaline. PowerShell pakub selleks mitmeid erinevaid viise, mida käsitleme selles artiklis hiljem. Alustame kõige lihtsamast...

otsene käivitamine

Lihtsaim viis käivitatava faili käivitamiseks PowerShellis on navigeerida faili sisaldavasse kataloogi ja käivitada see otse. Näiteks võtame lihtsa programmi, mis kuvab tervituse, ja käivitame selle käsuga:

Määra asukoht ″C:\Program Files″
.\Tere.exe

Pange tähele, et isegi kui olete õiges kataloogis, peate määrama käivitatava faili suhtelise tee. Erandiks on failid keskkonnamuutujas (path) loetletud kataloogidest. Näiteks saab käivitada erinevaid sisseehitatud programme ja utiliite (notepad, calc, ping jne), mis asuvad kataloogis Windows\System32 ilma teed määramata.

& operaator

Kui peate määrama käivitatava faili täieliku tee, võite kasutada operaatorit & (helista operaatorile). See võimaldab teil ühe käsuna täita jutumärkides määratud tekstistringi. Näiteks:

&'C:\Program Files\Hello.exe'

Kuna & operaator ei sõelu läbitud käsku, ei saa ta selle parameetreid tõlgendada. Seetõttu edastatakse täiendavad parameetrid/argumendid ka tekstina, jutumärkides. Näiteks võtame eelmise programmi ja muudame seda veidi nii, et see võtaks argumendiks soovitud teksti:

& 'C:\Program Files\Hello.exe' 'Tere, maailm'

Soovi korral saate määrata mitu komadega eraldatud argumenti.

& 'C:\Program Files\Hello.exe' 'Tere,', 'maailm'

Mugavuse huvides saab käsu ja argumendid paigutada muutujatesse:

$exe = 'C:\Program Files\Hello.exe'
$arg1 = 'Tere'
$arg2 = 'maailm'
& $exe $arg1 $arg2

Noh, kui argumente on palju, saab neid kombineerida järgmise konstruktsiooni abil:

$exe = 'C:\Program Files\Hello.exe'
$allargs = @("Tere,", "maailm")
& $exe $allargs

Invoke-Expression

Invoke-Expression cmdlet töötab samamoodi nagu &-operaator – see võtab tekstistringi ja täidab selle käsuna. Näiteks:

Invoke-Expression - käsk 'C:\Windows\Hello.exe'

Sellel on aga üks suur puudus, nimelt suutmatus töötada tühikutega. Näiteks järgmine käsk genereerib vea:

Invoke-Expression - käsk 'C:\Program Files\Hello.exe'

See funktsioon muudab cmdleti kasutamise äärmiselt ebamugavaks. Kuigi vajadusel saab selliseid vigu vältida täiendavate tsitaatide abil, näiteks järgmiselt:

Invoke-Expression - käsk ″C:\′Programmifailid′\Hello.exe″

käivitamisprotsess

Käivitusprotsessi cmdlet käivitab määratud faili protsessina, kasutades alustada.NET klass protsessi. Näiteks:

Käivitage protsess - FilePath 'C:\Program Files\Hello.exe'

Vaikimisi töötab protsess eraldi aknas, mis suletakse protsessi lõppedes. Seda käitumist saate muuta parameetrite abil, nii et praeguses aknas käivitatakse järgmine käsk:

Käivitage protsess - FilePath 'C:\Program Files\Hello.exe' -NoNew Window -Oota

Start-Process võimaldab teil protsessile edastada ka täiendavaid argumente:

Käivitusprotsess -FilePath 'C:\Program Files\Hello.exe' -Argumentide loend "Tere, maailm" -NoNew Window -Oota

Vaikimisi ei tagasta cmdlet midagi, kuid saate kasutada parameetrit -PassThru, et sundida seda protsessiobjekti tagastama. Seda objekti on väga mugav panna muutujasse:

$protsess = Käivitage protsess -FilePath ′C:\Program Files\Hello.exe′ -Oodake -PassThru

millest saate seejärel õppida palju kasulikke asju, näiteks staatust:

$process.HasExited

$process.ExitTime

või täitmiskood:

$process.ExitCode

.NET

Põhimõtteliselt saab .NET Process klassi kasutada otse ilma Start-Process cmdletita. Näiteks saate protsessi alustada käsuga:

::Start('C:\Program Files\Hello.exe')

See meetod on üsna ebamugav ja tülikas (minu arvates), kuid kasutamisel veidi paindlikum. Näiteks käivitame oma programmi praeguses aknas, edastame sellele argumendid ja võtame täitmise tulemuse:

$protsess = Uus objekt - Tüübinimi Süsteem.Diagnostika.Protsess
$process.StartInfo.FileName = ″C:\Program Files\Hello.exe″
$process.StartInfo.Arguments = ″Tere, maailm″
$process.StartInfo.RedirectStandardOutput = $true
$process.StartInfo.UseShellExecute = $false
$process.Start()
$process.WaitForExit()

$process.StandatdOutput.ReadToEnd()

WMI

WMI abil saate teha peaaegu kõike, sealhulgas programmi käivitada. Selleks on meetod Loo wmi-klass Win32_Process. See meetod käivitab protsessi kohalikus või kaugarvutis RPC kaudu. Näiteks programmi käivitamiseks kohalikus arvutis saate kasutada järgmist käsku:

()″Win32_Process″).Create('C:\Program Files\Hello.exe')

Ja kaugarvutis käivitamiseks näeb käsk välja järgmine:

()″\\remotecomputer\root\cimv2:Win32_Process″).Loo(′C:\Program Files\Hello.exe′)

Teise võimalusena võite kasutada cmdlet-käsku Invoke-WmiMethod:

Invoke-WmiMethod -Class Win32_Process -Name Create -ArgumentList ″C:\Program Files\Hello.exe″

Või cmdlet-käsuga Invoke-CimMethod:

Invoke-CimMethod -ClassName Win32_Process -MethodName Loo -Argumendid @(CommandLine=″C:\Program Files\Hello.exe″)

WMI käivitab protsessi eraldi aknas ja tagastab objekti, mis sisaldab protsessi ID-d (ProcessID) ja täitmistulemust (ReturnValue). ReturnValue võib võtta järgmisi väärtusi:

0 — Edukas lõpetamine
2 - Ligipääs keelatud
3 — Ebapiisavad privileegid
8 — Tundmatu rike
9 — teed ei leitud
21 — Kehtetu parameeter

Invoke-Command

Invoke-Command cmdlet suudab WinRM-i abil käske täita kohalikus või kaugarvutis. Näiteks programmi kohalikus arvutis käitamiseks kasutame käsku:

Invoke-Command -ScriptBlock (C:\′Programmifailid′\Hello.exe″)

Vajadusel saab programmile edastada argumente:

Invoke-Command -ScriptBlock (C:\'Program Files'\Hello.exe ″Tere, maailm″)

Pange tähele, et Invoke-Command ei ole tühikutega eriti sõbralik, seega peate vigade vältimiseks leidma jutumärkidega. Selliseid probleeme saab aga vältida, näiteks kombineerides cmdleti kasutamist &-operaatoriga:

Invoke-Command -ScriptBlock (&'C:\Program Files\Hello.exe')

Invoke-Command kasutatakse peamiselt kaugjuhtimiseks, selle peamine eelis on võimalus töötada samaaegselt mitmes arvutis. Näiteks:

Invoke-Command -ScriptBlock (″C:\'Programmifailid'\Hello.exe″) -Arvutinimi SRV1, SRV2, SRV3

$scriptblock = (″C:\'Programmifailid'\Hello.exe″)
$Arvutid = @("SRV1", "SRV2", "SRV3")
Invoke-Command -ScriptBlock $scriptblock -ComputerName $Computers

Vaikimisi tagastab cmdlet programmi täitmise tulemuse ja kui käivitate selle taustal (parameeter -AsJob), tagastab see objekti Job:

Invoke-Command -ScriptBlock (C:\'Program Files'\Hello.exe) -ComputerName localhost -AsJob -JobName Tere

Invoke-Item

Invoke-Item cmdlet on mõeldud rakendamiseks vaiketoimingufailile. Nii saate käivitatava faili käivitada käsuga:

Invoke-Item -Path ″C:\Program Files\Hello.exe″

Konkreetse failitüübi avamiseks on aga kõige mugavam kasutada Invoke-Item. Näiteks tekstifaili avame järgmiselt:

Invoke-Item -Path ″C:\Files\test.txt″

Ja nii kõik kaustas olevad tekstifailid:

Invoke-Item -Path ″C:\Files\*.txt″

cmd

Ja lõpuks, teine ​​viis programmi PowerShellist käivitamiseks on cmd-shelli kasutamine. Meetod on üsna 'kaudne', kuid siiski töötab. Järgmine käsk käivitab cmd uue eksemplari, käivitab selles määratud programmi, väljub cmd-st ja tagastab tulemuse:

cmd /c ″C:\Program Files\Hello.exe″

Selline programmi käitamise viiside rohkus pakub PoSh-i. Ja igaüks neist on teatud olukordades hea.

Muide, artikkel põhineb PowerShellil: Deep Dive and Best Practice. Soovitan soojalt lugeda, seal on palju muudki.