If-Koubou

5 Cmdlets, joilla pääset PowerShelliin

5 Cmdlets, joilla pääset PowerShelliin (Miten)

PowerShell on nopeasti tulossa suosittu skriptauskieli ja CLI Power Users sekä IT Pro. Kannattaa oppia muutamia komentoja, jotta pääset alkuun, joten meillä on 5 hyödyllistä cmdletä, josta voit oppia tänään.

Get-Command

Get-Command on yksi hyödyllisimmistä cmdletteistä koko PowerShellissä, koska se auttaa sinua pääsemään PowerShellin avulla ottamalla yhteyttä tiettyihin cmdletteihin. Käyttämällä Get-Commandia itsenäisesti ei todellakaan ole kovin hyödyllinen, koska se vain aikoo spit out jokaisen komennon PowerShell on.

Tästä voimme kuitenkin nähdä, että PowerShell-lähdöillä on sekä Nimi että ModuleName-ominaisuus. Näiden tietojen avulla voimme hienosäätää hakuamme etsimällä cmdletteja, jotka sisältävät tiettyjä termejä. Jos haluan esimerkiksi löytää kaikki cmdletit, jotka sisältävät sanaa "IP", voisin tehdä tämän:

Get-Command -Name * IP *

Kuten näette, saamme vielä melkoisia tuloksia, seuraava vaihtoehto on etsiä tietyn moduulin sisällä. Meidän tapauksessamme valitsen NetTCPIP-moduulin.

Get-Command -Module NetTCPIP -Name * IP *

Hae apua

Kun olet löytänyt cm-dletin, jota etsit Get-Commandin avulla, aiot haluta tietää syntaksin ja kuinka voit käyttää kyseistä cmdletä. Tässä on Get-Help -ohjelma, jos olet käyttänyt komentoriviä Windowsissa, olet todennäköisesti tehnyt jotain tällaista:

ipconfig /?

No, tämä ei toimi PowerShellissä, koska PowerShellissä käytetään tilaa, joka erottaa komennon parametreista. Sen sijaan käytämme Get-Help-ohjelmaa ja annamme cmdletin nimen Get-Ohjeeksi parametriksi.

Get-Help Get-Prosessi

Get-jäsen

Get-jäsen antaa meille mahdollisuuden saada tietoja cmdlettien palaavista objekteista. Saalistaja, jonka jäsen saa, on se, että se tukeutuu PowerShellin putkiominaisuuksiin. Tämä osoittaa, että voimme käyttää Get-Process-cmdletä.

Kuten näet, PowerShellin tuotos näyttää meille joitain ominaisuuksia, joita näet kunkin sarakkeen yläosassa. Ensimmäinen ongelma on se, että vaikka nämä ovat ominaisuuksia, joita saatat etsiä suurimman osan ajasta, on vielä enemmän niitä. Toinen ongelma on, että se ei näytä mitään menetelmiä, joita voimme kutsua objektille. Näiden menetelmien ja ominaisuuksien tarkastelemiseksi voimme siirtää tuotoksemme Get-jäseneksi seuraavasti:

Get-Process | Get-jäsen

Vaikka se ei ehkä tee mitään sinulle juuri nyt, sinun täytyy ennemmin tai myöhemmin käyttää Get-Memberia, ja mitä nopeammin opit käyttämään sitä, sitä paremmin. Esimerkkinä käyttämällä lähtötiedoista voimme tehdä jotain:

Käynnistä-Prosessi notepad.exe
$ NotepadProc = Hanki-prosessi -Name muistilehtiö
$ NotepadProc.WaitForExit ()
Käynnistä-Prosessi calc.exe

Tämä skripti käynnistää notepadin, ja sitten antaa "Get-Process -Name notepad" -tuotteen $ NotepadProc-muuttujaan, niin kutsumme WaitForExit-menetelmää $ NotepadProc: llä, joka aiheuttaa komentosarjan pysähtymisen, kunnes suljet notepadin, kun olet sulkenut notepadin sitten laskin käynnistyy.

$ _ (Nykyinen putkiobjekti)

Vaikka se ei ole täsmälleen cmdletti, se on yksi PowerShellissä käytetyistä erikoisominaisuuksista. Virallinen nimi $ _ on "nykyinen putkiobjekti". Sitä käytetään komentosarjoissa, suodattimissa, toimintojen prosessikojeissa, missä-kohteessa, foreach-objektissa ja kytkimissä. On kuitenkin helpompaa selittää esimerkki, joka tuo meidät seuraavaan ja viimeiseen cmdlettiin, missä-objekti.

Jossa-Object

Missä-objekti tekee juuri niin kuin kuulostaa, se valitsee objektin sen perusteella, täyttääkö se tietyt kriteerit. Tämä tuo yhteen $ _ ja ominaisuuksia, joita voimme nähdä käyttämällä Get-jäsentä. Osoittaaksemme tämän, siirrämme Get-Prosessin tuoton Where-Object-cmdlettiin.

Get-Process | Missä-kohde $ _. Nimi -eq "iexplore"

Joten mitä täällä teet kysyttäessä? No ensimmäinen asia, jota teemme, on saada prosesseja tietokoneellamme ja ohjata tuotos (käyttäen merkkiä) Where-Object-cmdlet -ohjelmaan, joka ottaa käskyn lohkon parametriksi. Skripti-lohko (määritetty käyrätorvakkeilla) ohjaa Where-Object-cmdletit valitsemaan vain kohteet, joiden nimiparametri on yhtä kuin "iexplore", joten saamme vain luettelon käynnissä olevista IE-tilanteista. Siinä kaikki on, hauskaa!