Tässä Geek School -versiossa autamme sinua ymmärtämään tehokkaan PowerShell-komentosarjan kielen, joka on rakennettu suoraan Windows-käyttöjärjestelmään ja on erittäin hyödyllinen tuntemaan IT-ympäristössä.
Vaikka tämä sarja ei ole jäsennelty tenttiin, oppiminen PowerShell on yksi tärkeimmistä asioista, joita voit tehdä verkonvalvojana, joten jos sinulla on yksi asia, jonka haluat oppia auttamaan IT-uraasi, niin se on. Lisäksi se on hauskaa.
PowerShell on tehokkain automaatiotyökalu, jonka Microsoft on tarjonnut ja sen sekä kuori että komentosarja.
Huomaa, että tämä sarja perustuu PowerShell 3: een, jossa on Windows 8 ja Server 2012. Jos käytät Windows 7: tä, lataa PowerShell 3 -päivitys ennen kuin jatkat.
PowerShellin kanssa voi olla vuorovaikutuksessa kahdella tavalla: laatikko, konsoli ja integroitu komentosympäristö - tunnetaan myös nimellä ISE. ISE on parantunut huomattavasti PowerShell 2: n mukana toimitetusta hirvittävästä versiosta, ja se voidaan avata painamalla Win + R -näppäimistöyhdistelmää nostamalla run-laatikkoa ja kirjoittamalla powershell_ise ja painamalla Enter.
Kuten näet ISE: n, voit jakaa näkymän, jotta voit nopeasti kirjoittaa, vaikka voit nähdä tuloksen ISE: n alaosassa. ISE: n alapuoli, jossa kirjoitetun tekstin tulokset tulostetaan, voidaan käyttää myös REPL-kehotteena - aivan kuten komentokehote. V3 ISE lisäsi lopulta intellisense-tuen sekä komentosarja-paneelissa että vuorovaikutteisessa konsolissa.
Vaihtoehtoisesti voit olla vuorovaikutuksessa PowerShellin kanssa PowerShell-konsolilla, jota käytän useimmille sarjoille. PowerShell Console käyttäytyy paljon kuin komentokehote - voit yksinkertaisesti syöttää komentoja ja tulostaa tulokset. Avaa Windows PowerShell Console painamalla uudestaan Win + R-näppäimistöyhdistelmää avataksesi run-ruutuun ja kirjoittamalla powerhell ja painamalla Enter.
REPL-kehotteet, kuten tämä, ovat mahtavia instant tyydytystä varten: annat komennon ja saat tuloksia. Vaikka konsoli ei tarjoa intellisenseä, se tarjoaa jotain nimeltään välilehtien täydentäminen, joka toimii paljon samana - yksinkertaisesti alkaa kirjoittaa komento ja paina välilehteä kiertää mahdollisia otteluita.
PowerShellin aikaisemmissa versioissa ohjesivut sisältyivät Windowsin asentamiseen. Tämä oli hyvä ratkaisu, mutta jätti meille merkittävän ongelman. Kun PowerShell-ohjekeskuksen oli lopetettava ohjustiedostojen käsittely, PowerShell-kehittäjät olivat edelleen kiireisiä koodauksia ja muutoksia. Tämä tarkoitti, että kun PowerShell lähetettiin, ohjetiedostot olivat virheellisiä, koska ne eivät sisältäneet uudempia muutoksia, jotka oli tehty koodiin. Tämän ongelman ratkaisemiseksi PowerShell 3: lla ei ole ohjetiedostoja ruutuun ja sisältää päivitettävän ohjejärjestelmän. Tämä tarkoittaa, ennen kuin teet mitään, haluat ladata uusimmat ohjetiedostot. Voit tehdä sen avaamalla PowerShell Console ja suorittamalla:
Update-ohje
Onnittelut ensimmäisen PowerShell-komennon suorittamisesta! Totuus on, että Update-Help -komennolla on paljon enemmän vaihtoehtoja kuin pelkästään suorittamaan sitä ja nähdäksemme haluamme tarkastella komennon apuohjelmaa. Jos haluat tarkastella komennon apuohjelmaa, siirrät ohjattavan komennon nimen Get-Help -komennon Nimi-parametriin esimerkiksi:
Get-Help -Name Update-ohje
Olet luultavasti miettinyt, miten tulkita kaiken tekstin joka tapauksessa, tarkoitan, miksi on olemassa kaksi paljon tietoa syntaksin osiossa ja miksi siellä on niin paljon sulkeja kaikkialla paikassa? Ensimmäinen asia: syy siihen, että syntaksin osiossa on kaksi informaatiopalvea, koska ne edustavat eri tavoin komennon suorittamista. Nämä ovat teknisesti kutsuttuja parametrisarjoja ja voit käyttää vain yhtä kerrallaan (et voi sekoittaa parametrejä eri sarjoista). Edellä olevassa kuvakaappauksessa näet, että yläparametrisarjassa on SourcePath-parametri, kun taas pohja ei toimi. Syynä on, että käytät yläparametrisarjaa (joka sisältää SourcePathin), jos päivität ohjetiedostot toiselta verkossa jo olevasta koneesta, joka oli jo ladannut ne, mutta sinun ei tarvitse määrittää lähdepolkua, jos olet halusi vain napata Microsoftin uusimmat tiedostot.
Toiseen kysymykseen vastaamiseksi on olemassa tietty syntaksi, joka auttaa tiedostoja seuraamaan ja tässä se on:
Vaikka sinun pitäisi oppia lukemaan ohjetiedoston syntaksia, jos olet epävarma tietystä parametrista, liitä vain -Tiedosi saat help -komennon loppuun ja vieritä parametrien osiin, missä se kertoo sinulle hieman enemmän jokaisesta parametri.
Get-Help -Name Update-Help -Full
Viimeinen asia, mitä sinun tarvitsee tietää ohjusjärjestelmästä, on, miten voit käyttää sitä komentoja etsimiseen, mikä on todella helppoa. Näet, että PowerShell hyväksyy villikortit lähes missään, joten Get-Help -komennon avulla voit helposti löytää komentoja. Esimerkiksi etsin Windows-palveluita käsitteleviä komentoja:
Get-Help -Name * -palvelu *
Toki kaikki nämä tiedot saattavat olla käteviä, mutta luota minuun, ottakaa aikaa ja opi käyttämään apujärjestelmää. Se on kätevä koko ajan, jopa kehittyneille kirjoittajille, jotka ovat tehneet tätä vuosien ajan.
Tämä ei olisi asianmukainen käyttöönotto ilman, että mainitaan turvallisuutta.PowerShell-tiimin suurin huolenaihe on se, että PowerShellista tulee uusin ja suurin hyökkäyskohta skriptikiuskeille. He ovat tehneet muutamia turvatoimia varmistaakseen, että näin ei tapahdu, joten katsokaamme niitä.
Perusmuotoinen suojausmuoto johtuu siitä, että PS1-tiedostopääte (PowerShell-komentosarjan käyttämää laajennusta) ei ole rekisteröity PowerShell-isännälle, joka on tosiasiallisesti rekisteröity Notepadilla. Tämä tarkoittaa sitä, että kaksoisnapsauta tiedostoa avautuu notepadilla sen sijaan, että se olisi käynnissä.
Toiseksi, et voi suorittaa komentosarjoja komentoriviltä kirjoittamalla vain komentosarjan nimeä, sinun on määritettävä komentosarjan koko polku. Joten jos haluat käyttää komentosarjaa C-asemaan, sinun pitäisi kirjoittaa:
C: \ runme.ps1
Tai jos olet jo C-aseman juuressa, voit käyttää seuraavaa:
. \ Runme.ps1
Lopuksi PowerShellillä on jotain nimeltään Execution Policies, joka estää sinua käyttämästä vain vanhaa komentosarjaa. Itse asiassa oletuksena et pysty käsittelemään komentosarjoja, ja sinun on muutettava toteuttamispolitiikkaasi, jos haluat käyttää niitä. On olemassa neljä huomattavaa täytäntöönpanokäytäntöä:
Jos haluat nähdä, millainen nykyinen toteutusperusteesi on, avaa PowerShell-konsoli ja kirjoita:
Get-ExecutionPolicy
Tätä kurssia ja useimpia muita olosuhteita varten RemoteSigned-käytäntö on paras, joten toimi eteenpäin ja muuta käytäntöjäsi seuraavalla tavalla.
Huomautus: Tämä on tehtävä korotetusta PowerShell Consolesta.
Set-ExecutionPolicy RemoteSigned
Se on kaikki tällä kertaa ihmiset, nähdään huomenna vielä PowerShell hauskaa.
Vastuuvapauslauseke: PowerShell-komennon oikea termi on cmdlet ja tästä lähtien käytämme tätä oikeaa terminologiaa. Se vain tuntui sopivammalta kutsua heitä käskyjä tästä johdannosta.
Jos sinulla on kysyttävää, voit lähettää minulle tweeting tai jättää kommentin.