10Aug

Geek School: Oppiminen käyttämään Cmdlet-sovelluksia PowerShellissä

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 cmdletin, joka näytti jotain seuraavalta:

Update-Help

PowerShell-cmdletit ovat Verb-Noun syntaksia, joka voidaan nähdä yllä.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.

Oikeudenmukaisten verbien tunteminen ja yhden singulaarisen substantiivin säännön muistaminen todella auttavat ymmärtämään cmdlet-nimiä.Oletetaan esimerkiksi, että haluat : n hankkia : n -palvelun : n ja niiden tilan - se on oikein, niin helppoa kuin Get-Service. Miten luulet, että

saisi : n luettelon käynnissä olevista prosesseista - se on oikein, Get-Process tekee tempun.

Get-Process

Tämä tekee siitä todella helppoa työskennellä minkä tahansa tekniikan kanssa. Jos sinulla esimerkiksi oli Exchange-cmdletit ladattu, voisimme helposti saada postilaatikoiden luettelon palvelimelta 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äjät, jotka ovat tällä hetkellä kirjautuneena etätietokoneen kautta, kirjoita:

Get-RDUserSession

Joka näkyy kuvakaappauksessa alla.

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

Luin jo jonkin aikaa Don Jonesin PowerShell-kummistajan artikkelin, jossa hän selitti, että Exchange lähetti ennen kuin tämä etuliite lisättiin cmdletteihin, joten se ei koskaan toteuttanut niitä eikä koskaan.

Aliases

Toinen ominaisuus PowerShell mukana on kyky saada 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 komentoriviin?Ä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ä, voit käyttää seuraavaa:

Get-alias-nimi-

Jos taas tuntuu, että on aika korottaa pelisi, voit käyttää määritysparametria saadaksesikaikki aliakset cmdletille:

Get-ChildItem -määrittely Get-ChildItem

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

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

Ilmeisesti,sinun täytyy korvata "icanhazfilez" uudella aliaksella ja Get-ChildItem-nimellä cmdletin kanssa, jonka haluat sen toimivan hupparin 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, jossa PowerShell ei enää voi selvittää, mistä parametrista puhut. Esimerkiksi:

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

On sama kuin:

Get-Service -App-mobiililaite -Com localhost

Jos mahdollinen parametrien nimi on liian epäselvä,tulee virhe.

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, meille jää nyt esine, josta katsomme Geek-koulun huomisen versiota.