5 Cmdlet-ohjelmaa PowerShellin avulla
PowerShellistä tulee nopeasti suosittu skriptikieli ja Power-käyttäjien sekä IT-ammattilaisten CLI. On syytä oppia muutaman komennon, jotta pääset alkuun, joten meillä on viisi hyödyllistä cmdletiä, joiden avulla voit oppia tänään.
Get-Command
Get-Command on yksi hyödyllisimmistä cmdlet-sovelluksista koko PowerShellissa, koska se auttaa sinua tarttumaan PowerShelliin antamalla etsiä tiettyjä cmdlet-tiedostoja. Get-Commandin käyttäminen yksinään ei todellakaan ole kovin hyödyllistä, koska sen vain menee ulos jokaista PowerShellin käskyä varten.
Tästä voidaan kuitenkin nähdä, että PowerShellin ulostuloilla on sekä nimi että moduuliNimi-ominaisuus. Näiden tietojen avulla voimme hioa hakua etsimällä cmdlet-tiedostoja, jotka sisältävät tiettyjä termejä. Jos esimerkiksi halusin löytää kaikki cmdletit, jotka sisältävät sanan IP, voisin tehdä tämän:
Get-Command -Nimi * IP *
Kuten näette, saamme vielä melko vähän tuloksia, seuraava vaihtoehto on etsiä tiettyä moduulia. Tällöin valitsen NetTCPIP-moduulin.
Get-Command -moduuli NetTCPIP -Nimi * IP *
Hae apua
Kun olet löytänyt haluamasi cmdletin Get-Commandin avulla, haluat tietää syntaksin ja miten voit käyttää kyseistä cmdlet-sovellusta. Tämä on paikka, jossa Get-Help tulee, jos olet koskaan käyttänyt Windows-komentoriviä.
ipconfig /?
No, joka ei toimi PowerShellissä, tämä johtuu siitä, että PowerShellissa tilaa käytetään erottamaan komento sen parametreista. Sen sijaan käytämme Get-Help-ohjelmaa ja siirrämme cmdlet-nimen Get-Help-parametriksi.
Get-Help Get-Process
Get-jäsen
Get-Member antaa meille mahdollisuuden saada tietoa kohteista, joita cmdlet palauttaa. Saapuminen get-jäsenen kanssa on se, että se perustuu PowerShellin putkilinjaominaisuuteen, jotta tämä voidaan osoittaa, että voimme käyttää Get-Process-cmdletiä.
Kuten näette, PowerShellin tuotos näyttää meille joitakin ominaisuuksia, joita näet kunkin sarakkeen yläosassa. Ensimmäinen ongelma on, että vaikka ne ovat ominaisuuksia, joita saatat etsiä suurimman osan ajasta, niistä on vielä enemmän. Toinen ongelma on se, että se ei näytä mitään menetelmiä, joita voimme soittaa kohteeseen. Jos haluat nähdä menetelmät ja ominaisuudet, voimme siirtää tuotoksemme Get-Memberiin, kuten näin:
Get-Process | Get-jäsen
Vaikka se saattaa merkitä teille juuri nyt, sinun täytyy ennemmin tai myöhemmin käyttää Get-Memberia, ja mitä nopeammin opit käyttämään sitä paremmin. Esimerkiksi tulostuksen tietojen avulla voisimme tehdä jotain seuraavista:
Käynnistä-prosessi notepad.exe
$ NotepadProc = Get-Process -Name-muistilehti
$ NotepadProc.WaitForExit ()
Start-Process calc.exe
Tämä skripti käynnistää notepadin, ja sitten se määrittää "Get-Process -Name notepad" -tuotteen $ NotepadProc-muuttujaan. Sitten kutsumme WaitForExit-menetelmää $ NotepadProcissa, joka aiheuttaa komentosarjan pysähtymisen, kunnes suljet notepadin, kun olet sulkeutunut sitten laskin käynnistyy.
$ _ (Nykyinen pipeline-objekti)
Vaikka se ei ole juuri cmdlet, se on yksi käytetyimmistä erikoismuuttujista PowerShellissa. $ _: N virallinen nimi on "nykyinen putkipiste". Sitä käytetään käsikirjoituslohkoissa, suodattimissa, toimintojen prosessilausekkeessa, missä kohde, foreach-objekti ja kytkimet. On kuitenkin helpompi selittää esimerkin avulla, joka vie meidät seuraavaan ja viimeiseen cmdletiin, jossa -objekti.
Jossa-Object
Missä-Objekti tekee juuri sen, mitä se kuulostaa, se valitsee objektin sen perusteella, täyttääkö se tietyt kriteerit. Tämä tuo yhteen $ _: n, ja ominaisuudet, joita näemme Get-Memberin avulla. Tämän osoittamiseksi putkistamme Get-Process-tuotoksen Where-Object cmdletiin.
Get-Process | Missä -objekti $ _. Nimi -qq “iexplore”
Joten mitä täällä tapahtuu? Ensimmäinen asia, jonka teemme, on saada luettelo tietokoneistamme prosesseista ja siirtää tuloste (käyttäen | merkkiä) Kuka-Object-cmdletiin, joka ottaa skriptilohkon parametriksi. Käsikirjoituslohko (jonka määrittelee kiharahannattimet) käskee, missä-objektin cmdletit valitsevat vain sellaiset objektit, joiden nimiparametri on yhtä suuri kuin ”iexplore”, ja niin saamme vain luettelon käynnissä olevista IE-instansseista. Siinä kaikki on, hauskaa!