Geek-koulu oppii käyttämään virtalähteitä PowerShellissä
Jos olet käyttänyt ipconfig- tai ping-komentoa komentorivillä, olet puolivälissä tulossa PowerShell ninjaksi. Joten tule ja liity meihin, kun löydämme cmdletit tässä Geekin koulun asennuksessa.
Muista tarkistaa ensimmäinen artikkeli, joka esittelee PowerShellin, ja pysy ajan tasalla koko sarjasta koko viikon ajan.
Cmdletin anatomia
Sarjan ensimmäisessä osassa näimme cmdletin, joka näytti tältä:
Update-ohje
PowerShell-cmdlet-sovelluksissa on verb-substantiivi-syntaksia, jota voidaan nähdä yllä. Tärkeää on huomata, että substantiivi on aina yksittäinen, vaikka cmdlet saattaa palauttaa useamman kuin yhden tuloksen. Jos haluat nähdä PowerShellin laillisten verbien luettelon, voit käyttää Get-Verb cmdlet -ohjelmaa.
Oikeudellisten verbien tunteminen ja yksittäisen substantiivisäännön muistaminen todella auttaa arvaamaan cmdlet-nimiä. Oletetaan esimerkiksi, että haluat saada luettelo palvelut ja niiden tila - se on oikein, se on yhtä helppoa kuin Get-Service. Miten luulet meidän olevan saada luettelo käynnissä olevista prosessit - se on oikein, Get-Process tekee tempun.
Get-prosessin
Tämän ansiosta on helppoa työskennellä minkä tahansa tekniikan kanssa. Jos esimerkiksi olet ladannut Exchange-cmdlet-sovelluksia, saisimme helposti palvelimen postilaatikoiden luettelon käyttämällä:
Get-Mailbox
Poikkeus on kuitenkin olemassa. Vaihda sivuun kaikki muut teknologiakohtaiset komennot tarvitsevat etuliitteen. Jos esimerkiksi halusimme saada käyttäjät, jotka ovat tällä hetkellä kirjautuneita etätyöpöydän kautta, kirjoittamaan:
Get-RDUserSession
Joka näkyy alla olevassa kuvassa.
Huomautus: Tämä kuvakaappaus otettiin Server 2012 -laatikkoon, koska siellä löydät useimmat teknologiakohtaiset moduulit.
Luin jonkin aikaa sitten PowerShellin kummisetä Don Jonesin artikkelin, jossa hän selitti, että Exchange toimitettiin ennen kuin tämä etuliite lisättiin cmdletiin, joten se ei koskaan toteuttanut niitä eikä koskaan.
aliakset
Toinen ominaisuus PowerShell mukana on kyky olla useita tapoja käyttää samaa komentoa - aliaksia, jos haluat. Heistä mahtava asia on, että ne sisälsivät monia komentoja, joita olet ehkä käyttänyt komentokehotteessa, sekä joitakin Linux-aliaksia. Esimerkiksi PowerShellissa saamme hakemistolistan käyttämällä:
Get-ChildItem
Käytetään komentokehotteen käyttämiseen? Älä huoli, he ovat peittäneet.
Onko sinulla Linux-tausta? He ovat sinä myös peittäneet sinut.
Kun olet ollut skriptaamassa pari vuotta, sinulla on taipumus saada laiskoja ja aliasia käyttää paljon, mutta tämä ei auta tulokkaita, jotka tulevat lukemaan koodimme. Jos haluat nähdä, mitä komentoa alias on käynnissä hupun alla, voit käyttää seuraavaa:
Get-Alias -Nimi ls
Toisaalta, jos sinusta tuntuu olevan aika astua peliin, voit käyttää määritelmäparametria saadaksesi kaikki aliakset cmdletille:
Get-ChildItem -määritys Get-ChildItem
Jos olet peräisin muusta taustasta, voit lisätä omia aliaksia tekemällä seuraavat toimet:
New-Alias -Nimi icanhazfilez -Value Get-ChildItem
On selvää, että sinun on korvattava “icanhazfilez” uuden alias-nimesi ja Get-ChildItem-nimen kanssa cmdletillä, jonka haluat sen olevan käynnissä hupun alla.
On huomattava, että menetät kaikki aliasit, jotka olet määrittänyt, kun suljet kuoren. Voit kiertää tämän lisäämällä niiden määritelmän profiilisi skriptiin.
Lyhentävät parametrit
Windows PowerShell sallii myös lyhentää parametrien nimiä siihen pisteeseen asti, jossa ne ovat epäselviä, eli siihen asti, kunnes PowerShell ei voi enää selvittää, mistä parametrista puhut. Esimerkiksi:
Get-Service -Nimi "Apple Mobile Device" -tietokoneen nimi localhost
Sama kuin:
Get-Service -Na 'Applen mobiililaite' -Com localhost
Jos saat mahdollisuuden tehdä parametrien nimet liian epäselviksi, saat virheen.
Vanhat komennot
Lopuksi tiedät ja rakkaat komennot toimivat edelleen PowerShellissä.
ping www.google.com
Muista vain, että vanhat sovellukset, kuten ping-lähdön merkkijono, ja usein on parempi tapa tehdä sama asia käyttämällä PowerShell-cmdletiä.
Pitkän tekstirivin lähettämisen sijaan meillä on nyt jäljellä objektia, jota tarkastelemme Geek-koulun huomisen painoksessa.