10Aug
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.