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-Help
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-Process
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.
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
Get-Alias –Name ls
Get-ChildItem –Definition Get-ChildItem
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.
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 -Name ‘Apple Mobile Device’ -ComputerName localhost
Get-Service -Na ‘Apple Mobile Device’ -Com localhost
Vanhat komentot
Lopuksi, tiedät ja rakastat komennot toimivat edelleen PowerShellissä.
ping www.google.com