Geeki kool: õppida, kuidas automatiseerida Windows PowerShelliga

Sisukord:

Geeki kool: õppida, kuidas automatiseerida Windows PowerShelliga
Geeki kool: õppida, kuidas automatiseerida Windows PowerShelliga

Video: Geeki kool: õppida, kuidas automatiseerida Windows PowerShelliga

Video: Geeki kool: õppida, kuidas automatiseerida Windows PowerShelliga
Video: ОРХИДЕИ В ПУСТОЙ ВАЗЕ - ЛАЙФХАКИ, ТОНКОСТИ И ОШИБКИ СОДЕРЖАНИЯ, ПЕРЕВОДА И ЩАДЯЩЕЙ АДАПТАЦИИ В ОС! - YouTube 2024, Mai
Anonim
Selles Geeki kooli väljaandes aitame teil mõista võimsat PowerShelli skriptikeeli, mis on otse Windowsi sisse ehitatud, ja on väga kasulik IT-keskkonnas.
Selles Geeki kooli väljaandes aitame teil mõista võimsat PowerShelli skriptikeeli, mis on otse Windowsi sisse ehitatud, ja on väga kasulik IT-keskkonnas.

Kuigi see seeria ei ole eksami ümber struktureeritud, on PowerShelli õppimine üks olulisemaid asju, mida saate võrguadministraatorina teha, nii et kui teie IT-karjääris on üks asi, mida soovite õppida, on see just nii. Lisaks on see lõbus.

Sissejuhatus

PowerShell on kõige võimsam automaatika tööriist, mida Microsoft peab pakkuma, ning nii shell kui skriptikeelt.

Pidage meeles, et see seeria põhineb PowerShellil 3, mis varustab operatsioonisüsteemidega Windows 8 ja Server 2012. Kui kasutate operatsioonisüsteemi Windows 7, laadige enne jätkamist alla PowerShell 3 värskendus.

Tutvuge konsooli ja ISE-ga

PowerShellist saab kasti, konsooli ja integreeritud skriptikeskkonda - tuntud ka kui ISE - kahel viisil. ISE on märkimisväärselt paranenud PowerShell 2-ga kaasas olevast kohutavast versioonist ning seda saab avada, vajutades Win + R klaviatuuri kombinatsiooni, et avada töökäik, seejärel tippides powershell_ise ja vajutades enter.

Nagu näete ISE-i spordiala jagatud vaatega nii, et saate kiiresti skripti, samal ajal kui ISE-i alumisel poolel on tulemusi võimalik näha. ISE-i alumises osas, kus teie skripti tulemusi on trükitud, saab kasutada ka REPL-i käsku - täpselt nagu käsureale. V3 ISE lisas lõpuks intellisense'i toetuse nii skript kui ka interaktiivne konsool.
Nagu näete ISE-i spordiala jagatud vaatega nii, et saate kiiresti skripti, samal ajal kui ISE-i alumisel poolel on tulemusi võimalik näha. ISE-i alumises osas, kus teie skripti tulemusi on trükitud, saab kasutada ka REPL-i käsku - täpselt nagu käsureale. V3 ISE lisas lõpuks intellisense'i toetuse nii skript kui ka interaktiivne konsool.
Image
Image
Teise võimalusena võite PowerShelliga suhelda PowerShelli konsooli kasutades, mida ma kasutan enamiku selle seeria jaoks. PowerShelli konsool käitub sarnaselt käsureale - lihtsalt sisestate käsud ja see eraldab tulemusi. Windows PowerShelli konsooli avamiseks vajutage veelkord Win + R klaviatuuri kombinatsiooni, et avada käivituskast ja tippige powerhell, seejärel vajutage sisestusklahvi enter.
Teise võimalusena võite PowerShelliga suhelda PowerShelli konsooli kasutades, mida ma kasutan enamiku selle seeria jaoks. PowerShelli konsool käitub sarnaselt käsureale - lihtsalt sisestate käsud ja see eraldab tulemusi. Windows PowerShelli konsooli avamiseks vajutage veelkord Win + R klaviatuuri kombinatsiooni, et avada käivituskast ja tippige powerhell, seejärel vajutage sisestusklahvi enter.
REPL näitab, et see on suurepärane kiirsuhtluse jaoks: saate sisestada käsu ja saada tulemusi. Kuigi konsool ei paku inteli, pakub see midagi saki valmimist, mis toimib peaaegu samamoodi - lihtsalt käivitage käsu kirjutamine ja vajutades tabelit võimalike vastete tsükli läbimiseks.
REPL näitab, et see on suurepärane kiirsuhtluse jaoks: saate sisestada käsu ja saada tulemusi. Kuigi konsool ei paku inteli, pakub see midagi saki valmimist, mis toimib peaaegu samamoodi - lihtsalt käivitage käsu kirjutamine ja vajutades tabelit võimalike vastete tsükli läbimiseks.
Image
Image
Image
Image

Abisüsteemi kasutamine

Varasemates PowerShelli versioonides lisati Windowsi installimisel abifailid. Enamasti oli see hea lahendus, kuid jättis meile märkimisväärse probleemi. Kui PowerShelli abipersonal peaks abifaile töötama lõpetama, olid PowerShelli arendajad ikkagi hõivatud kodeerimise ja muudatuste tegemisega. See tähendas seda, et PowerShelli saadetud ajal olid abifailid valed, kuna need ei sisaldanud uuemaid koodi muudatusi. Probleemi lahendamiseks ei paku PowerShell 3 kasti abifailidest ja sisaldab ajakohastatavat abisüsteemi. See tähendab, et enne, kui teete midagi, soovite alla laadida uusimad abifailid. Seda saate teha, avage PowerShelli konsool ja käivitage:

Update-Help

Image
Image
Õnnitleme esimese PowerShelli käsu käivitamisel! Tõsi on see, et uuendus-abi käsul on palju rohkem võimalusi kui lihtsalt seda käitada ja nende nägemiseks tahame näha käsu abi. Käsu abi vaatamiseks edastate lihtsalt käsu nimi, mida soovite aidata käsku Get-Help nime parameetri abil, näiteks:
Õnnitleme esimese PowerShelli käsu käivitamisel! Tõsi on see, et uuendus-abi käsul on palju rohkem võimalusi kui lihtsalt seda käitada ja nende nägemiseks tahame näha käsu abi. Käsu abi vaatamiseks edastate lihtsalt käsu nimi, mida soovite aidata käsku Get-Help nime parameetri abil, näiteks:

Get-Help –Name Update-Help

Olete ilmselt mõtlesin, kuidas tõlgendada kogu seda teksti ikkagi, ma mõtlen, miks on kahe süntaksjaotuse all palju informatsiooni ja miks on kõikjal palju konsooli? Esimene asi esimene: põhjuseks on kaks plokki teavet süntaksi sektsioonis, sest need esindavad erinevaid käskluse käivitamise viise. Need on tehniliselt nimetatavad parameetrite komplektid, mida saab kasutada ainult korraga (te ei saa segada erinevate komplektide parameetreid). Ülaltoodud ekraanipildil näete, et parameetri parameetril on SourcePathi parameeter, samas kui põhi ei ole. Selle põhjuseks on see, et kasutaksite top parameetrite komplekti (seda, mis sisaldab SourcePathi), kui uuendate oma abifaile oma võrgust teise masinasse, mis oli neid juba alla laadinud, kuid te ei pea määrama lähteteksti, kui tahtsin lihtsalt Microsofti viimaseid faile haarata.
Olete ilmselt mõtlesin, kuidas tõlgendada kogu seda teksti ikkagi, ma mõtlen, miks on kahe süntaksjaotuse all palju informatsiooni ja miks on kõikjal palju konsooli? Esimene asi esimene: põhjuseks on kaks plokki teavet süntaksi sektsioonis, sest need esindavad erinevaid käskluse käivitamise viise. Need on tehniliselt nimetatavad parameetrite komplektid, mida saab kasutada ainult korraga (te ei saa segada erinevate komplektide parameetreid). Ülaltoodud ekraanipildil näete, et parameetri parameetril on SourcePathi parameeter, samas kui põhi ei ole. Selle põhjuseks on see, et kasutaksite top parameetrite komplekti (seda, mis sisaldab SourcePathi), kui uuendate oma abifaile oma võrgust teise masinasse, mis oli neid juba alla laadinud, kuid te ei pea määrama lähteteksti, kui tahtsin lihtsalt Microsofti viimaseid faile haarata.

Teisele küsimusele vastamiseks on olemas teatud süntaks, mis aitab faile järgida ja siin on see:

  • Parameetri nime ja selle tüübi ümber paiknevad nurksulgud tähendavad, et see on vabatahtlik parameeter ja käsk toimib lihtsalt ilma selleta.
  • Parameetrite ümber paiknevad nurksulgud tähendavad, et parameetrid on positsiooni parameeter.
  • Nurga all olevate parameetrite paremal asuvas parameeter näitab, millist andmetüüpi parameeter ootab.

Kuigi peaksite õppima lugema abifaili süntaksi, kui te pole kunagi kindel konkreetse parameetri kohta, lisage see lihtsalt - lõpeta oma abi saamise käskluse ja kerige parameetrite sektsiooni alla, kus see annab teile igaühe kohta veidi rohkem parameeter.

Get-Help –Name Update-Help –Full

Viimane asi, mida peate abisüsteemist teadma, on see, kuidas saate seda kasutada käskude avastamiseks, mis on tegelikult väga lihtne. Näete, PowerShell aktsepteerib metamärke peaaegu kõikjal, nii et nende kasutamine koos käsku Get-Help võimaldab teil käske lihtsalt avastada. Näiteks otsin käske, mis käsitlevad Windowsi teenuseid:
Viimane asi, mida peate abisüsteemist teadma, on see, kuidas saate seda kasutada käskude avastamiseks, mis on tegelikult väga lihtne. Näete, PowerShell aktsepteerib metamärke peaaegu kõikjal, nii et nende kasutamine koos käsku Get-Help võimaldab teil käske lihtsalt avastada. Näiteks otsin käske, mis käsitlevad Windowsi teenuseid:

Get-Help –Name *service*

Muidugi, kogu see teave ei pruugi olla kasulik, kuid usaldage mind, võta aega ja õppida abisüsteemi kasutamist. See on kasulik kogu aeg, isegi arenenud kirjanikele, kes on seda juba aastaid teinud.
Muidugi, kogu see teave ei pruugi olla kasulik, kuid usaldage mind, võta aega ja õppida abisüsteemi kasutamist. See on kasulik kogu aeg, isegi arenenud kirjanikele, kes on seda juba aastaid teinud.

Turvalisus

See ei oleks õige kasutuselevõtt ilma turvalisust mainimata. PowerShelli meeskonna suurimaks mureks on see, et PowerShell saab uusima ja suurima rünnaku punkti skriptikeskkondadele. Nad on kehtestanud mõned turvameetmed, et veenduda, et seda ei juhtu, nii et vaatame neid.

Kõige elementaarsem kaitse on tingitud asjaolust, et PS1 faililaiend (PowerShelli skripti tähistamiseks kasutatav laiend) ei ole PowerShelli hostis registreeritud ja see on tegelikult Notepadis registreeritud. See tähendab, et kui te topeltklõpsate failil, avaneb selle asemel, et see töötab.

Teiseks ei saa te skripti shellist käivitada lihtsalt skripti nime sisestades, peate määrama kogu skripti. Nii et kui soovite C-draivi skripti käivitada, peate kirjutama:

C:

unme.ps1

Või kui olete juba C-draivi juurtes, võite kasutada järgmist:

unme.ps1

Lõpuks on PowerShellil midagi sellist, mida nimetatakse täitmispõhimõteteks, mis peatab ühegi vana skripti käivitamise. Tegelikult ei saa te vaikimisi käivitada ühtegi skripti ja peate oma täitmispoliitikat muutma, kui soovite, et teil oleks neid käivitada. Seal on 4 märkimisväärset täitmispoliitikat:

  • Piiratud: See on PowerShelli vaikeseade. See seade tähendab, et ükski skript ei pruugi käivituda, sõltumata selle allkirjast. Ainuke asi, mida PowerShellis selle seadistusega saab käivitada, on individuaalne käsk.
  • AllSigned: See seade lubab skripte PowerShellis käivitada. Skriptil peab olema usaldusväärsele väljaandjale seotud digitaalallkiri. Enne skriptide käitamist usaldusväärsetest kirjastajatest kuvatakse viip.
  • RemoteSigned: See seade lubab skripte käitada, kuid nõuab, et internetist allalaaditud skripti ja konfiguratsioonifailidest oleks usaldusväärsele väljaandjale seotud digitaalallkiri. Kohalikust arvutist käivitatavad skriptid ei pea olema allkirjastatud. Enne skripti käivitamist pole viipasid.
  • Piiranguteta: See võimaldab allkirjastatud skriptide käivitamist, sealhulgas kõiki Interneti-kaudu allalaaditud skripte ja konfiguratsioonifaile. See hõlmab Outlooki ja Messengeri faile. Risk on siin skriptideta ilma allkirja ja turvalisuseta. Me lähtume uuesti, et te ei ole kunagi meile seda seadet.

Et näha, milline on teie praegune täitmispoliitika, avage PowerShelli konsool ja tippige järgmine käsk:

Get-ExecutionPolicy

Sellel kursusel ja enamikul muudel asjaoludel on RemoteSigned Policy parim, seega jätkake ja muutke oma eeskirju, kasutades järgmist.
Sellel kursusel ja enamikul muudel asjaoludel on RemoteSigned Policy parim, seega jätkake ja muutke oma eeskirju, kasutades järgmist.

Märkus. Seda tuleb teha PowerShelli konsoolis.

Set-ExecutionPolicy RemoteSigned

See on kõik selleks ajaks inimestele, näeme teid homme veel PowerShelli lõbu pärast.
See on kõik selleks ajaks inimestele, näeme teid homme veel PowerShelli lõbu pärast.

Vastutusest loobumine: PowerShelli käskluse nõuetekohane termin on cmdlet, ja nüüd kasutame seda õiget terminoloogiat. See tundus sobivam, kui kutsusite neid käske selle sissejuhatuseks.

Kui teil on küsimusi, võite mulle kirja panna @ tybgibb või lihtsalt jätke kommentaar.

Soovitan: