Pamokos

„Powershell“: kas tai yra ir pagrindinės bei 【rekomenduojamos komandos komandos

Turinys:

Anonim

Natūralusis „ Windows PowerShell“ įrankis, veikiantis ir vykdant užduotis, panašias į tas, kurias galima gauti naudojant komandų eilutę, yra įvesties šaltinis „Windows“ operacinei sistemai. Įrankis, kurį inžinieriai ir sistemos analitikai dažnai naudoja savo lankstumui kasdien.

Nesvarbu, ar turite valdyti serverius, ar sistemas, „ PowerShell“ yra patobulinta ir patobulinta tradicinės komandų eilutės versija. „Windows Powershell“ užduotys ir funkcijos iš esmės yra tokios pačios, kaip ir CMD, (komandų siuntimas „Windows“ naudojant specifines komandas), nors ji taip pat turi keletą papildomų funkcijų, kurios gali būti labai naudingos vartotojui.

Priešingai, nei vyksta CMD, „PowerShell“ pateikia mums patikimą scenarijaus sąsają su konkrečiomis funkcijomis, kur galite jas paleisti, norėdami vykdyti įvairius procesus „Windows“ sistemoje. Naudodami tokią interaktyvią komandų eilutę galite paleisti komandas automatizuoti skirtingas užduotis.

Šis įrankis jau buvo suderinamas su „Windows XP“, tačiau norint juo naudotis, reikėjo jį atsisiųsti ir įdiegti. Dabar su „ Windows 10“ „Powershell“ jau yra iš anksto įdiegtas ir pasižymi dideliu matomumu, kad būtų lengva naudotis.

Turinio rodyklė

Kas yra „Windows Powershell“?

„PowerShell“ sąsaja gali būti naudojama įvairiems tikslams, pavyzdžiui, paleisti sudėtingesnes programas ar net paprastesnes užduotis, tokias kaip dabartinio laiko žinojimas. Be to, „Powershell“ komandos gali veikti kartu, komandų eilutėje derindamos konkretesnius ir pažangesnius rezultatus. Tai buvo vadinama „ vamzdynų tiesimu“.

Tuo tarpu „Powershell“ taip pat siūlo parinktį, kuri gali praversti kai kuriems vartotojams: galimybę į konsolę įtraukti kitas komandas, kurias sukūrė tie patys vartotojai.

Nors „PowerShell“ buvo sukurta prieš kelerius metus, o naudojant „Windows 10“ ji yra geriau matoma ir labiau išryškinama, ji vis dar yra mažai žinomas įrankis ne tik pagrindiniams vartotojams, bet ir daugeliui kompiuterių operatorių, nežinančių visų jų siūlomų pranašumų. šios konsolės „cmdlet“ (scenarijaus šviesa).

Dėl visų privalumų, kuriuos gali suteikti šios komandos, ir atsižvelgiant į tai, kad „Microsoft“ skyrė daugiau vietos „Powershell“ tam, kad „Windows“ vartotojai prie to priprastų, būtina pradėti daugiau sužinoti apie „Powershell“ funkcijas, kam jos yra naudojamos ir kaip jie gali mums būti naudingi.

Kaip atidaryti „Windows PowerShell“

PowerShell“ įrankį galima greitai atidaryti pasiekiant „Windows“ funkciją Vykdyti.

  • Norėdami tai padaryti, vienu metu paspauskite „ Windows + R.“ klavišus. Ką tik atsidariusiame lauke „Vykdyti įveskite „PowerShell“ ir spustelėkite Gerai arba tiesiogiai paspauskite klavišą „Enter“.

Kitas variantas, kurį turite pasiekti „Powershell“, yra naudoti „Cortana“ siūlomą paieškos variklį, esantį apatinėje kairiajame ekrano dalyje, iš kurio galite ieškoti šio įrankio.

Esminės „PowerShell“ komandos (vadovėlis)

„PowerShell“ komandos vadinamos „cmdlet“, ir jūs galite naudoti tabuliatoriaus klavišą, kad „Powershell“ automatiškai užpildytų norimo naudoti cmdlet pavadinimą.

„Windows PowerShell“ buvo sukurtas atsižvelgiant į atgalinį suderinamumą, todėl jis tapo šaltiniu, kuris gerai veikia su tomis pačiomis komandomis, kurias naudoja CMD. Žinant tai, gali būti naudojamos tos pačios komandos, kurios buvo naudojamos komandų eilutėje, tačiau tobulesnėje sąsajoje ir su daug daugiau komandų.

Čia mes sukūrėme daugybę naudingų cmdlet elementų, kuriuos galima naudoti „Powershell“, ir išsiaiškiname kiekvieno jų sintaksę, taip pat kiekvieno jų specifinę funkciją.

Norėdami pradėti nuo pagrindų ir trumpai pažvelgę ​​į „PowerShell“ siūlomas cmdlet'us, galime vykdyti komandą „Show-Command“, per kurią atsidarys langas, kuriame bus pateiktas išsamus ir išsamus visų galimų komandų sąrašas.

Gauk komandą

Jei norite žinoti visas „PowerShell“ siūlomas miniatiūras, galite tai padaryti įvesdami šią komandą konsolėje.

„Windows PowerShell“ per šią komandą leidžia žinoti visas funkcijas ir savybes, kurias apima jos cmdlet, pateikiamos sąrašo pavidalu, kuriame aprašomos kiekvienos funkcijos, taip pat jų specialieji parametrai ir parinktys.

Norint gauti šį komandų sąrašą, reikia parašyti „Gauti-komandą“, po kurio nurodomas konkretus parametras, su kuriuo informacija bus gaunama iš nagrinėjamos cmdlet. Pvz., Jei Powershell'e parašysime „Gauti komandą * -pagalba *“, pamatysime komandų, priimančių parametrą „-pagalba“, seriją.

Jei pridėsite žvaigždutę prie kiekvienos parametro pusės, kaip mes padarėme pavyzdyje, gausite visas įmanomas kombinacijas, kurias naudoja „cmdlet“ „Get-Command“, kai pridedama „-help“.

Konsolėje įvedę „Gauti-komandos vardą“ „Mes gauname komandų rinkinį, kuriame yra tas konkretus vardas. Gali atsitikti taip, kad neprisimenate arba nežinote teisingo „cmdlet“ pavadinimo. Tokiu atveju galite įterpti du žvaigždutes kiekvienoje vardo pusėje, kaip minėta aukščiau, pavyzdžiui, „Gauk-Komanda -Pavadinimas * rinkinys *“, kad galėtumėte pamatyti cmdlet sąrašą, kuriame yra terminas „set“. tavo vardas.

„Get-Host“

Vykdydami šią komandą gausite „Windows PowerShell“ versiją, kurią naudoja sistema.

Gavimo istorija

Ši komanda pateikia visų komandų, kurios buvo vykdomos „PowerShell“ sesijos metu ir kurios šiuo metu vykdomos, istoriją.

Atsitiktinai

Vykdant šią komandą gaunamas atsitiktinis skaičius nuo 0 iki 2 147 483 646.

„Get-Service“

Tam tikrais atvejais reikės žinoti, kurios paslaugos buvo įdiegtos sistemoje, kurioms gali būti naudojama „Get-Service“ komanda, kuri suteiks informacijos apie veikiančias ir jau sustabdytas paslaugas.

Norėdami naudoti šį cmdlet, naudodami bet kurį iš papildomų parametrų konsolėje įveskite „Get-Service“ sintaksėje, panašioje į šį pavyzdį:

Gauk tarnybą | Objektas „kur-objektas {$ _. Statusas -eq" veikia "}

Tokiu būdu paslaugos vykdomos sistemoje. Jei ši komanda vykdoma be jokių parametrų, bus pateiktas visų paslaugų su atitinkamomis būsenomis sąrašas (pvz., „Veikia“ arba „Sustabdyta“).

Jei jau tiksliai žinote, apie kurią komandą norite gauti informacijos, naudotis „Get-Service“ yra daug praktiškiau, nei eiti į „Windows“ valdymo skydelį ir dirbti naudojant „Windows“ vartotojo sąsają (grafinę vartotojo sąsają).

Gaukite pagalbos

Ši komanda, ypač naudinga pradedantiesiems „Powershell“ vartotojams, pateikia pagrindinę pagalbą norint sužinoti daugiau apie „cmdlet“ ir jų funkcijas.

Jei naudojate „PowerShell“ trumpą laiką, labai tikėtina, kad atsidursite dezorientuotas ir turėsite tam tikrų sunkumų; Tokiomis aplinkybėmis „Get-Help“ taps jūsų vadovu, nes ši komanda pateikia pagrindinę dokumentaciją apie cmdlet, funkcijas, komandas ir scenarijus.

Lygiai taip pat jo naudojimas nėra visiškai sudėtingas: tereikia parašyti „Gaukite pagalbos“ kartu su cmdlet, apie kurį norite sužinoti daugiau informacijos. Norėdami parodyti jo naudojimą, mes galime ieškoti daugiau informacijos iš cmdlet „Get-Process“, tokiu atveju pakaktų parašyti „Get-Help Get-Process“.

Norėdami gauti aiškesnę mintį apie tai, kaip „Windows PowerShell“ veikia „Pagalba“, tiesiog paleisdami šią komandą pamatysime aprašymą kartu su trumpu paaiškinimu, kaip ja naudotis.

Gavimo data

Norėdami greitai sužinoti, kokia ji buvo tam tikra data praeityje, naudodamiesi šia komanda gausite tikslią dieną. Pvz., Jei norite žinoti, kokia diena buvo 2009 m. Gegužės 20 d., Jūs turėsite parašyti „Powershell“:

„Gaukite datą - 2009 05 05“, datą įvesdami „dd.mm.aa“ formatu. Vykdydami vien „Get-Date“, ji nurodys datą ir laiką.

PS C: \ Users \ MiguePR> „Get-Date“, 2019 m. Liepos 27 d., Šeštadienis, 12:00:40

Kopijuoti elementą

Naudodami šią komandą galite nukopijuoti aplankus ar failus.

Jei norite pasidaryti failų ir katalogų kopijas savo atminties diske arba jums reikia nukopijuoti raktus ar registro įrašus, „Copy-Item“ yra dešinysis „cmdlet“. Jis veikia labai panašiai kaip komanda „cp“, įtraukta į komandų eilutę, nors ji yra daug geresnė.

Tam reikia naudoti komandą Kopijuoti, norint nukopijuoti ir modifikuoti elementų pavadinimus naudojant tą pačią komandą, su kuria galima nustatyti naują minėto elemento pavadinimą. Jei norite nukopijuoti ir pervadinti failą „ProfesionalReview.htm“ į „Proyectitosbuenos.txt“, parašykite:

Kopijavimo elementas „C: \ Proyectos.htm“ - Paskirtis „C: \ MyData \ Proyectos.txt“.

Pakvieskite komandą

Kai norite paleisti scenarijų ar „PowerShell“ komandą (vietoje arba nuotoliniu būdu, viename ar keliuose kompiuteriuose), „Invoke-Command“ bus geriausias pasirinkimas. Tai paprasta naudoti ir tai padės valdyti paketinius kompiuterius.

Šalia scenarijaus ar komandos turite įvesti komandą Invoke-Command, nurodydami tikslią vietą.

Pakvieskite-išraiška

Naudojant išraišką „Invoke-Expression“, vykdoma kita išraiška ar komanda. Jei pastebėsite, kad įvedate įvesties eilutę ar išraišką, ši komanda pirmiausia ją išanalizuos, o tada vykdys. Be šios komandos eilutė negrąžina jokių veiksmų. Invoke-Expression veikia tik vietoje, skirtingai nei komanda „Invoke-Command“.

Norėdami naudoti šią komandą, „ Invoke-Expression“ turi būti parašytas kartu su išraiška ar komanda. Pvz., Galite nustatyti kintamąjį „$ Command“ su komanda, kuri nurodo į cmdlet „Get-Process“. Vykdydami komandą „Invoke-Expression $ Command“, „Get-Process“ veiks taip pat, kaip vietinio kompiuterio cmdlet.

Panašiai funkcija gali būti vykdoma scenarijuje naudojant kintamąjį, kuris yra labai naudingas dirbant su dinaminiais scenarijais.

Invoke-WebRequest

Per šį „cmdlet“, panašų į „Linux“ naudojamą CURL, galite prisijungti, nuskaityti ir atsisiųsti informaciją, susijusią su paslaugomis ir tinklalapiais, dirbdami naudodami „PowerShell“ sąsają ir stebėdami kai kurias „ norite gauti šią informaciją.

Šioms užduotims atlikti ji turi būti naudojama kaip Invoke-WebRequest kartu su jos parametrais. Tai naudojant galima gauti nuorodas, kurias turi konkreti svetainė, su tokiu sintaksės pavyzdžiu:

(„Invoke-WebRequest –Uri“ https://wwww.ebay.com '). Nuorodos

Tokiu atveju būtų gautos nuorodos iš „eBay“ svetainės.

„Set-ExecutionPolicy“

Nors mes galime kurti ir paleisti scenarijus (.ps1) iš „PowerShell“, dėl saugumo problemų esame riboti. Tačiau tai galima modifikuoti naudojant saugos kategoriją, naudojant cmdlet „Set-ExecutionPolicy“.

Norėdami atlikti reikiamus pakeitimus, turite tik įvesti „Set-ExecutionPolicy“ šalia vienos iš keturių saugos parinkčių:

  • „RestrictedAll SignedRemote Signed“ neribojamas

Pvz., Jei norime nustatyti apriboto saugumo lygį, turėtume naudoti:

Ribotas „Set-ExecutionPolicy“ –ExecutionPolicy

Gaukite prekę

Jei ieškote informacijos apie elementą, turintį tam tikrą vietą, pavyzdžiui, apie standžiojo disko katalogą, komanda „Get-Item“ yra ta, kuri nurodoma šiai užduočiai atlikti.

Reikėtų paaiškinti, kad paties elemento turinys, pavyzdžiui, pakatalogiai ir failai konkrečiame aplanke, negaunamas, nebent jūs aiškiai to reikalaujate.

Kitoje „Get-Item“ pusėje randame „cmdlet“ Pašalinti elementą, kuris leidžia pašalinti nurodytą elementą.

Pašalinti elementą

Jei norite ištrinti tokius elementus, kaip aplankai, failai, funkcijos ir kintamieji bei registro raktai, geriausias elementas bus „Pašalinti elementą“. Svarbu tai, kad jame yra elementų įvedimo ir išėmimo parametrai.

Naudodami „cmdlet“ Pašalinti elementą “, galite pašalinti elementus iš konkrečių vietų naudodami tam tikrus parametrus. Kaip pavyzdį galima pašalinti failą „Finanzas.txt“ naudojant šią komandą:

Pašalinti elementą „C: \ MyData \ Finance.txt“

Gaukite turinį

Kai jums reikia visko, kas teksto faile yra turinio konkrečiame kelyje, atidarykite jį ir perskaitykite naudodami teksto rengyklę, pavyzdžiui, „Notepad“. Naudodamiesi „Windows PowerShell“, galite naudoti komandą „Gauti turinį“, norėdami naršyti, kas yra faile, jo neatidarius.

Pvz., Galima gauti 20 teksto eilučių, įtrauktų į failą „Proyectos.htm“, kuriuos galite parašyti:

Gaukite turinį „C: \ Proyectos.htm“ - „TotalCount 20“

Šis „cmdlet“ yra panašus į ankstesnį „cmdlet“ „Get-Item“, bet su juo mes galime gauti tai, kas yra jūsų nurodytame faile. Jei vykdysite šią komandą failui su txt plėtiniu, jis visiškai atskleis į tą failą įtrauktą tekstą. Jei naudosite jį png vaizdo faile, gausite daug bereikšmių ir neįskaitomų dvejetainių duomenų.

Jei naudojamas atskirai, „Get-Content“ nėra labai naudingas. Bet norint gauti tikslesnius rezultatus, ją galima sumaišyti su tikslesnėmis cmdlet'ėmis.

Rinkinys-turinys

Naudodami šią cmdlet galite išsaugoti tekstą faile, panašų į tai, ką galima padaryti su „echo“ „Bash“. Jei jis naudojamas kartu su cmdlet „Gaukite turinį“, pirmiausia galite pamatyti, kas yra tam tikrame faile, o tada perkelti rinkinį į kitą failą naudodami rinkinį „Set-Content“.

Pvz., Galite naudoti cmdlet „Set-Content“, kad pridėtumėte arba pakeistumėte failą kitu turiniu. Galiausiai ją galima sujungti su minėta komanda ir išsaugoti ją nauju pavadinimu (pavyzdys.txt) taip:

Gaukite turinį „C: \ Proyectos.htm“ –TotalCount 30 | Rinkinio turinys „Pavyzdys.txt“

Gaukite kintamąjį

Jei „PowerShell“ naudojate kintamuosius, tai galima padaryti naudojant cmdlet „Get-Variable“, su kuria galėsite peržiūrėti šias reikšmes. Ši komanda rodo vertes lentelėje, iš kurių galima naudoti pakaitos ženklus, juos įtraukti ir neįtraukti.

Norėdami juo naudotis, turite tiesiog parašyti „Gauti kintamąjį“ kartu su jo parametrais ir kitomis galimybėmis. Pvz., Jei norite sužinoti kintamojo „nuolaida“ vertę, parašykite taip:

Gauk kintamąjį - vardo „nuolaida“

Rinkinys kintamas

Naudodami šią cmdlet galite nustatyti, modifikuoti ar iš naujo inicijuoti kintamojo vertę. Norint nustatyti ankstesnio atvejo kintamojo vertę, reikia parašyti taip:

Rinkinys-kintamasis -Vadas "nuolaida" -Vertybė "Čia nustatyta vertė"

Gauti procesą

Dažnai mes naudojame Task Manager tam, kad tiksliai sužinotume, kokie procesai veikia mūsų kompiuteryje. „PowerShell“ bet kuris vartotojas gali tai žinoti paleisdamas šią cmdlet, su kuria jie gaus šiuo metu aktyvių procesų sąrašą.

„Cmdlet“ „Get-Process“ panašus į „Get-Service“, nors šiuo atveju joje pateikiama informacija apie procesus.

Pradėjimo procesas

Naudodamas šį „cmdlet“, „Windows PowerShell“ leidžia daug lengviau vykdyti procesus kompiuteryje.

Pvz., Jei jums reikia naudoti skaičiuotuvą, galite jį greitai ir lengvai atidaryti įvesdami šiuos duomenis:

„Start-Process -FilePath“ „calc“ –verb

Sustabdyti procesą

Naudodami šią cmdlet galite sustabdyti procesą, nesvarbu, ar jį pradėjote jūs, ar kitas vartotojas.

Tęsdami skaičiuoklės pavyzdį, jei norite visiškai nutraukti jo veikimo procesus, „PowerShell“ užrašykite:

„Stop-Process“ - vardas „skaičiuojamas“

„Start-Service“

Jei jums reikia paleisti paslaugą kompiuteryje, šiuo atveju nurodoma „cmdlet“ „Start-Service“, kuri veikia taip pat, net jei ta paslauga kompiuteryje išjungta.

Norėdami paleisti „Windows“ paieškos paslaugą, naudojama ši sintaksė:

Pradėti tarnybą - Pavadinimas „WSearch“

„Stop-Service“

Naudodami šią komandą sustabdysite kompiuteryje veikiančias paslaugas.

„Stop-Service“ - vardas „Wsearch“

Šiuo užsakymu sustabdysite „Windows Search“ paslaugą.

Išeik

Galite išeiti iš „PowerShell“ naudodami komandą Išeiti.

Išvada apie „Windows PowerShell“

Gali atrodyti, kad kai kurios iš šių komandų yra mažai naudingos, nors taip atsitinka, nes jos yra komandos, kurios neišsiskiria, kol neįvedami kiti parametrai, kurie efektyviai verčia „PowerShell“ parodyti visą savo galią.

Šie parametrai yra naudingi, kai rašote savo „Cmdlets“ ar „Light Scripts“, tai yra geras būdas gauti maksimalią naudą iš „PowerShell“ funkcijų.

Nors tai komandos, kurias naudojate retkarčiais, žinojimas, kaip jos veikia ir kam jos yra naudingos, turi savo privalumų, atsižvelgiant į tai, kad „Microsoft“ šiuo metu labiau nei bet kada anksčiau orientuojasi į „PowerShell“.

Dienos pabaigoje „cmdlet“ yra pagrindinės komandos, kurias turėtumėte žinoti, jei norite išnaudoti visas „Windows PowerShell“ galimybes.

Pamokos

Pasirinkta redaktorius

Back to top button