If-Koubou

Geek-koulu: oppiminen käyttämään Cmdlet-sovelluksia PowerShellissä

Geek-koulu: oppiminen käyttämään Cmdlet-sovelluksia PowerShellissä (Miten)

Jos olet käyttänyt ipconfigia tai pingiä komentokehotteen kautta, olet puolestasi PowerShell-ninja. Joten tulkaa ja liittyä meihin, kun löydämme cmdlettejä tässä Geek-koulun asennuksessa.

Muista tutustua PowerShellin ensimmäiseen artikkeliin ja pysytellä viritettynä koko sarjassamme koko viikon ajan.

Cmdletin anatomia

Sarjan ensimmäisessä osassa näimme cmdlet, joka näytti jotain tällaista:

Update-ohje

PowerShell-cmdletit ovat Verb-Noun syntaksia, joka voidaan nähdä edellä. Tärkeää on huomata, että substantiivi on aina singulaarinen, vaikka cmdlet saattaa palauttaa useamman kuin yhden tuloksen. Voit tarkastella luetteloa oikeudellisista verbistä PowerShellissä käyttämällä Get-Verb-cmdlet-arvoa.

Juridisten verbien tunteminen ja yhden nimellisäänen säännön muistaminen todella auttavat ymmärtämään cmdlet-nimiä. Oletetaan esimerkiksi, että haluat saada luettelo palvelut ja heidän asemansa - se on oikein, niin helppoa kuin Get-Service. Miten luulet meidän tekevän saada luettelo käynnistä prosessit - Se on oikein, Get-Process tekee tempun.

Get-prosessin

Tämä tekee siitä todella helppoa työskennellä minkä tahansa tekniikan kanssa. Jos sinulla esimerkiksi oli Exchange-cmdletit ladattu, voisimme helposti saada luettelon postilaatikoista palvelimella käyttämällä:

Get-Mailbox

On kuitenkin olemassa poikkeus. Vaihto syrjään, kaikki muut teknologiakohtaiset komennot edellyttävät etuliitettä. Jos esimerkiksi halusimme saada käyttäjiä, jotka ovat tällä hetkellä kirjautuneena etätietokoneen kautta, kirjoita:

Get-RDUserSession

Mikä näkyy alla olevassa kuvakaappauksessa.

Huomaa: Tämä kuvakaappaus on otettu Server 2012 -ruudussa, sillä se on josta löydät useimmat teknologiakohtaiset moduulit.

Joitakin aikoja sitten luin artikkelin Don Jones, PowerShell-kummisetä, jossa hän selitti, että Exchange lähetti ennen kuin tämä etuliite lisättiin cmdletteihin, 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. Näennäinen asia on se, että ne sisälsivät useita komentoja, joita olisit käyttänyt komentokehotteessa, sekä joitain Linux-aliaksia. Esimerkiksi PowerShellissä voimme saada hakemistoluettelon käyttämällä:

Get-ChildItem

Käytetään komentokehotteen käyttämiseen? Älä huoli, he ovat sinut peitossa.

Onko Linux-tausta? He ovat sinut peitellä sinne.

Kun olet parhaillaan ohjelmoinut parin vuoden ajan, sinulla on tapana saada laiska ja alkaa käyttää aliaksia paljon, mutta tämä ei auta uusia tulokkaita, jotka tulevat lukemaan koodimme. Jos haluat nähdä, millä komennolla alias on käynnissä huuvan alla, voit käyttää seuraavaa:

Get-Alias ​​-Name ls

Toisaalta, jos tuntuu, että on aika korottaa pelisi, voit käyttää määritysparametria saadaksesi kaikki cmdletin aliakset:

Get-ChildItem -määritelmä Get-ChildItem

Jos tulet muusta taustasta, voit lisätä omat aliasesi seuraavasti:

New-Alias ​​-Name icanhazfilez -Value Get-ChildItem

On selvää, että sinun on korvattava "icanhazfilez" uudella aliaksella ja Get-ChildItem-nimellä cmdletin kanssa, jonka haluat sen toimivan hupun alla.

Yksi asia on huomata, että menetät kaikki aliakset, jotka olet määritellyt, kun suljet kuoren. Voit kiertää tämän lisäämällä määritelmän profiilikirjoitukseen.

Katkaisuparametrit

Windows PowerShellin avulla voit myös katkaista parametrien nimitykset siihen pisteeseen asti, jolloin ne ovat epäselviä, toisin sanoen siihen pisteeseen saakka, jolloin PowerShell ei enää pysty selvittämään, mistä parametrista puhut. Esimerkiksi:

Get-Service-nimi "Apple Mobile Device" -sovellusnimi localhost

On sama kuin:

Get-Service -App-mobiililaite -Com localhost

Jos mahdolliset parametrit ovat liian epäselviä, saat virheen.

Vanhat komentot

Lopuksi, tiedät ja rakastat komennot toimivat edelleen PowerShellissä.

ping www.google.com

Muista vain, että vanhat sovellukset, kuten ping, tuottavat merkkijonoa, ja on usein parempi tapa tehdä sama asia PowerShell-cmdletin avulla.

Sen sijaan, että annettaisiin pitkä merkkijono tekstille, meillä on nyt esine, josta tutustutaan Geek-koulun huomisessa versiossa.