Geeko mokykla: sužinokite, kaip automatizuoti "Windows" su "PowerShell"

Turinys:

Geeko mokykla: sužinokite, kaip automatizuoti "Windows" su "PowerShell"
Geeko mokykla: sužinokite, kaip automatizuoti "Windows" su "PowerShell"

Video: Geeko mokykla: sužinokite, kaip automatizuoti "Windows" su "PowerShell"

Video: Geeko mokykla: sužinokite, kaip automatizuoti
Video: How to Set Ringtones for Different People | iPhone Tips 2024, Balandis
Anonim
Šiame "Geek" mokyklos leidime mes padėsime jums suprasti galingą "PowerShell" scenarijų kalbą, sukurtą tiesiai į "Windows", ir yra labai naudinga žinoti IT aplinkoje.
Šiame "Geek" mokyklos leidime mes padėsime jums suprasti galingą "PowerShell" scenarijų kalbą, sukurtą tiesiai į "Windows", ir yra labai naudinga žinoti IT aplinkoje.

Nors ši serija nėra struktūrizuota aplink egzaminą, mokymasis PowerShell yra vienas iš svarbiausių dalykų, kurį galite padaryti kaip tinklo administratorių, todėl, jei yra vienas dalykas, kurį norite išmokti padėti IT karjerai, tai yra. Be to, tai labai linksma.

Įvadas

"PowerShell" yra galingiausias automatikos įrankis, kurį "Microsoft" gali pasiūlyti, ir jo apvalkalo, ir scenarijų kalba.

Atkreipkite dėmesį, kad ši serija yra pagrįsta "PowerShell 3", kuri tiekia "Windows 8" ir "Server 2012". Jei naudojate "Windows 7", prieš tęsdami atsisiųskite "PowerShell 3".

Susipažinkite su konsolė ir ISE

Yra du būdai bendrauti su "PowerShell" iš dėžutės, konsolės ir integruotos scenarijus aplinkos - taip pat žinoma kaip ISE. ISE žymiai patobulėjo iš paslaptingos versijos, kuri buvo pristatyta kartu su "PowerShell 2", ir ją galima atidaryti spaudžiant "Win + R" klaviatūros kombinaciją, kad būtų rodomas paleidimo langelis, tada įvesdami "powershell_ise" ir paspausdami enter.

Kaip matote ISE sportą, galite suskirstyti peržiūrą, kad galėtumėte sparčiai scenarijų, o jūs vis tiek galėsite pamatyti rezultatą apatinėje ISE pusėje. Apatinė ISE pusė, kurioje spausdinami jūsų scenarijaus rezultatai, taip pat gali būti naudojama kaip REPL eilutė - panaši į komandų eilutę. V3 ISE galiausiai pridėjo intellisense palaikymą tiek scenarijų srityje, tiek interaktyvioje konsolėje.
Kaip matote ISE sportą, galite suskirstyti peržiūrą, kad galėtumėte sparčiai scenarijų, o jūs vis tiek galėsite pamatyti rezultatą apatinėje ISE pusėje. Apatinė ISE pusė, kurioje spausdinami jūsų scenarijaus rezultatai, taip pat gali būti naudojama kaip REPL eilutė - panaši į komandų eilutę. V3 ISE galiausiai pridėjo intellisense palaikymą tiek scenarijų srityje, tiek interaktyvioje konsolėje.
Image
Image
Arba galite bendrauti su "PowerShell", naudodami "PowerShell" konsolę, tai aš turiu naudoti daugumai šios serijos. "PowerShell" konsolė elgiasi taip pat kaip ir komandų eilutė - jūs tiesiog įveskite komandas ir išsiskleidžia rezultatus. Norėdami atidaryti "Windows PowerShell" konsolę, dar kartą paspauskite "Win + R" klaviatūros kombinaciją, kad atidarytumėte paleidimo langą ir įveskite powershell, tada paspauskite enter.
Arba galite bendrauti su "PowerShell", naudodami "PowerShell" konsolę, tai aš turiu naudoti daugumai šios serijos. "PowerShell" konsolė elgiasi taip pat kaip ir komandų eilutė - jūs tiesiog įveskite komandas ir išsiskleidžia rezultatus. Norėdami atidaryti "Windows PowerShell" konsolę, dar kartą paspauskite "Win + R" klaviatūros kombinaciją, kad atidarytumėte paleidimo langą ir įveskite powershell, tada paspauskite enter.
REPL paragina, kad tai yra nuostabus momentinis malonumas: įvedate komandą ir gaunate rezultatus. Nors "Console" nesiūlo intelekto, jis siūlo kažką pavadinimu "skirtuko užbaigimas", kuris veikia labai panašiai - tiesiog pradėkite rašyti komandą ir paspauskite skirtuką, kad sukurtumėte galimas rungtynes.
REPL paragina, kad tai yra nuostabus momentinis malonumas: įvedate komandą ir gaunate rezultatus. Nors "Console" nesiūlo intelekto, jis siūlo kažką pavadinimu "skirtuko užbaigimas", kuris veikia labai panašiai - tiesiog pradėkite rašyti komandą ir paspauskite skirtuką, kad sukurtumėte galimas rungtynes.
Image
Image
Image
Image

Naudojant pagalbos sistemą

Ankstesnėse "PowerShell" versijose, kai įdiegėte "Windows", buvo įtraukti pagalbos failai. Daugeliu atvejų tai buvo geras sprendimas, tačiau mums iškilo didelė problema. Kai "PowerShell" pagalbos komanda turėjo nustoti dirbti pagalbos bylose, "PowerShell" kūrėjai vis dar užsiėmė kodavimu ir pakeitimų atlikimu. Tai reikštų, kad kai "PowerShell" buvo išsiųstas, pagalbos failai buvo neteisingi, nes juose nebuvo naujesnių kodo pakeitimų. Norėdami išspręsti šią problemą, "PowerShell 3" nepateikiama jokių pagalbos failų iš paketo ir yra atnaujinama pagalbos sistema. Tai reiškia, kad prieš tai atliksite ką nors, ko norėsite atsisiųsti naujausius pagalbos failus. Tai galite padaryti, atidarę "PowerShell" konsolę, ir paleiskite:

Update-Help

Image
Image
Sveikiname, kaip paleisti pirmąją "PowerShell" komandą! Tiesa ta, kad komanda "Update-help" turi daug daugiau galimybių nei paprasčiausiai ją paleisti, ir norėdami juos peržiūrėti, mes norėsime peržiūrėti komandą. Norėdami peržiūrėti komandą pagalbos, jūs tiesiog pateikiate komandų pavadinimą, kuriam norite padėti, naudodami komandą Get-help parametrui Name, pavyzdžiui:
Sveikiname, kaip paleisti pirmąją "PowerShell" komandą! Tiesa ta, kad komanda "Update-help" turi daug daugiau galimybių nei paprasčiausiai ją paleisti, ir norėdami juos peržiūrėti, mes norėsime peržiūrėti komandą. Norėdami peržiūrėti komandą pagalbos, jūs tiesiog pateikiate komandų pavadinimą, kuriam norite padėti, naudodami komandą Get-help parametrui Name, pavyzdžiui:

Get-Help –Name Update-Help

Jums tikriausiai įdomu, kaip viską interpretuoti visą šį tekstą, aš turiu omenyje, kodėl po sintaksės skyriuje yra dvi informacijos, ir kodėl visur yra tiek daug skliaustų? Pirmas dalykas pirmiausia: priežastis, kodėl sintaksės skyriuje yra du blokai informacijos, yra tai, kad jie rodo skirtingus komandų paleidimo būdus. Tai yra techniškai vadinami parametrų rinkiniai, ir jūs galite naudoti tik vieną kartą (negalima sumaišyti parametrų iš skirtingų rinkinių). Ankstesnėje ekrano kopijoje galite pamatyti, kad aukščiausių parametrų rinkinys turi parametrą SourcePath, o apatinis - ne. Priežastis yra tai, kad naudojate aukščiausią parametrų rinkinį (tą, kuris apima "SourcePath"), jei atnaujinote savo pagalbos failus iš kito jūsų tinkle jau veikiančio kompiuterio, nes jums nereikėtų nurodyti šaltinio kelio, jei jūs tiesiog norėjau paimti naujausius "Microsoft" failus.
Jums tikriausiai įdomu, kaip viską interpretuoti visą šį tekstą, aš turiu omenyje, kodėl po sintaksės skyriuje yra dvi informacijos, ir kodėl visur yra tiek daug skliaustų? Pirmas dalykas pirmiausia: priežastis, kodėl sintaksės skyriuje yra du blokai informacijos, yra tai, kad jie rodo skirtingus komandų paleidimo būdus. Tai yra techniškai vadinami parametrų rinkiniai, ir jūs galite naudoti tik vieną kartą (negalima sumaišyti parametrų iš skirtingų rinkinių). Ankstesnėje ekrano kopijoje galite pamatyti, kad aukščiausių parametrų rinkinys turi parametrą SourcePath, o apatinis - ne. Priežastis yra tai, kad naudojate aukščiausią parametrų rinkinį (tą, kuris apima "SourcePath"), jei atnaujinote savo pagalbos failus iš kito jūsų tinkle jau veikiančio kompiuterio, nes jums nereikėtų nurodyti šaltinio kelio, jei jūs tiesiog norėjau paimti naujausius "Microsoft" failus.

Norėdami atsakyti į antrąjį klausimą, yra tam tikras sintaksė, kuri padeda failams sekti ir čia yra:

  • Kvadratinės skliautos aplink parametro pavadinimą ir jo tipą reiškia, kad tai yra neprivalomas parametras, o komandai tai bus gerai.
  • Kvadratinės skliautos aplink parametrų pavadinimą reiškia, kad parametrai yra padėties parametras.
  • Priklausomai nuo parametro, esančio kampuose skliaustuose, nurodoma, kokį duomenų tipą laukia parametras.

Nors jūs turėtumėte išmokti skaityti pagalbos failo sintaksę, jei kada nors nesate tikri dėl konkretaus parametro, tiesiog pridėti -Tiekite iki komandos "get help" pabaigos ir pereikite žemyn į parametrų sekciją, kur ji parodys jums šiek tiek daugiau apie kiekvieną parametras.

Get-Help –Name Update-Help –Full

Paskutinis dalykas, kurį reikia žinoti apie pagalbos sistemą, yra tai, kaip galite jį naudoti norint atrasti komandas, o tai iš tikrųjų yra labai lengva. Matote, PowerShell priima keletą simbolių beveik bet kur, taigi naudodami juos kartu su komanda "Get-Help" galite lengvai atrasti komandas. Pavyzdžiui, aš ieškau komandų, skirtų "Windows" paslaugoms:
Paskutinis dalykas, kurį reikia žinoti apie pagalbos sistemą, yra tai, kaip galite jį naudoti norint atrasti komandas, o tai iš tikrųjų yra labai lengva. Matote, PowerShell priima keletą simbolių beveik bet kur, taigi naudodami juos kartu su komanda "Get-Help" galite lengvai atrasti komandas. Pavyzdžiui, aš ieškau komandų, skirtų "Windows" paslaugoms:

Get-Help –Name *service*

Žinoma, visa ši informacija nebūtinai bus naudinga šikšnosparnui, bet patikėkite, paimk laiko ir sužinok, kaip naudotis pagalbos sistema. Jis visada yra naudingas net pažengusiems scenaristams, kurie tai daro daugelį metų.
Žinoma, visa ši informacija nebūtinai bus naudinga šikšnosparnui, bet patikėkite, paimk laiko ir sužinok, kaip naudotis pagalbos sistema. Jis visada yra naudingas net pažengusiems scenaristams, kurie tai daro daugelį metų.

Saugumas

Tai nebūtų tinkamas įvedimas, nepaminėdamas saugumo. "PowerShell" komandos didžiausias nerimas kelia tai, kad "PowerShell" tampa naujausia ir didžiausiu atakos tašku scenarijų kiddies. Jie įdiegė keletą saugumo priemonių, siekdami įsitikinti, kad taip nėra, todėl pažvelkime į juos.

Patys pagrindiniai apsaugos būdai yra tai, kad PS1 failo plėtinys (pratęsimas, naudojamas norint pažymėti PowerShell scenarijų) nėra registruojamas "PowerShell" kompiuterio, kuris faktiškai užregistruotas "Notepad". Tai reiškia, kad jei du kartus spustelėsite failą, jis bus atidarytas užrašu, o ne paleisti.

Antra, negalite paleisti scenarijų iš apvalkalo tiesiog įveskite scenarijaus vardą, turite nurodyti visą kelią į scenarijų. Taigi, jei norėtumėte paleisti scenarijų savo C diske, turėtumėte įvesti:

C:

unme.ps1

Arba, jei jau esate C disko šaknyje, galite naudoti šiuos veiksmus:

unme.ps1

Galiausiai "PowerShell" turi kažką pavadinimu "Execution Policies", kuris sustabdo jus nuo bet kokio seno scenarijaus paleidimo. Iš tiesų pagal numatytuosius nustatymus negalima paleisti jokių scenarijų ir reikia pakeisti vykdymo politiką, jei norite, kad būtų leidžiama jas paleisti. Yra 4 žymios vykdymo strategijos:

  • Ribota: Tai numatytoji "PowerShell" konfigūracija. Šis nustatymas reiškia, kad scenarijus negali būti paleistas, nepriklausomai nuo jo parašo. Vienintelis dalykas, kurį galima paleisti PowerShell su šiuo nustatymu, yra atskira komanda.
  • AllSigned: Šis nustatymas leidžia scenarijus paleisti "PowerShell". Iš patikimo leidėjo scenarijus turi būti susietas skaitmeninis parašas. Prieš paleisdami scenarijus iš patikimų leidėjų atsiras greitas veiksmas.
  • RemoteSigned: Šis nustatymas leidžia paleisti scenarijus, tačiau reikalaujama, kad iš interneto atsisiųsto scenarijaus ir konfigūracijos failų būtų pridedamas skaitmeninis parašas iš patikimo leidėjo. Skriptai, paleisti iš vietos kompiuterio, nereikia pasirašyti. Prieš paleidžiant scenarijų nėra jokių užklausų.
  • Neribota: Tai leidžia paleisti nepasirašytus scenarijus, įskaitant visus scenarijus ir konfigūracijos failus, atsisiųstus iš interneto. Tai apima "Outlook" ir "Messenger" failus. Rizika čia veikia scenarijus be parašo ar saugumo. Mes pakartojome, kad jūs niekada mus nenustatėte.

Norėdami pamatyti, kas yra jūsų dabartinė vykdymo politika, atidarykite "PowerShell" konsolę ir įveskite:

Get-ExecutionPolicy

Dėl šio kurso ir daugelio kitų aplinkybių "RemoteSigned" politika yra geriausia, todėl eikite į priekį ir pakeiskite savo politiką naudodamiesi toliau pateiktomis nuostatomis.
Dėl šio kurso ir daugelio kitų aplinkybių "RemoteSigned" politika yra geriausia, todėl eikite į priekį ir pakeiskite savo politiką naudodamiesi toliau pateiktomis nuostatomis.

Pastaba: tai reikės padaryti iš padidinto PowerShell konsolės.

Set-ExecutionPolicy RemoteSigned

Štai viskas šiai dienai žmonėms, rytoj pamatysite dar daugiau "PowerShell" linksmybių.
Štai viskas šiai dienai žmonėms, rytoj pamatysite dar daugiau "PowerShell" linksmybių.

Atsakomybės apribojimas: tinkamas terminas komandai PowerShell yra cmdlet, o nuo šiol mes naudosim šią teisingą terminiją. Jau atrodė labiau tinkama vadinti juos šio įvado komandomis.

Jei turite kokių nors klausimų, galite tweaks me @taybgibb arba tiesiog palikite komentarą.

Rekomenduojamas: