Kotisivu » miten » Geek School Opi laajentamaan PowerShellia

    Geek School Opi laajentamaan PowerShellia

    PowerShell tarjoaa kaksi tapaa laajentaa kuoria. Voit käyttää joko binäärejä ja kehittyneitä täysimittaisia ​​ohjelmointikieliä kuten C #, tai voit käyttää moduuleja, jotka voivat olla sekä binäärisiä että komentosarjoja.

    Muista lukea sarjan aiemmat artikkelit:

    • Opi automatisoimaan Windows PowerShellillä
    • Oppiminen käyttämään Cmdlet-tiedostoja PowerShellissä
    • Opi käyttämään esineitä PowerShellissä
    • Oppimisen muotoilu, suodatus ja vertailu PowerShellissa
    • Opi käyttämään Remotingia PowerShellissä
    • PowerShellin käyttäminen tietokoneen tietojen saamisessa
    • Työskentely kokoelmien kanssa PowerShellissä

    Ja pysy kuulolla koko sarjan koko viikon ajan.

    Snapins

    Snapins ovat niin viime vuonna. Kaikki vitsejä syrjään, snapins ei koskaan todella kiinni PowerShell-yhteisössä, koska useimmat käsikirjoittajat eivät ole kehittäjiä, ja voit kirjoittaa vain snapinsia kielellä kuten C #. On kuitenkin olemassa joitakin tuotteita, jotka käyttävät snapinsia, kuten esimerkiksi Web Deploy. Voit nähdä, mitä snapinit ovat käytettävissäsi kuoressa, kun käytät seuraavaa komentoa:

    Get-PSSnapin -Rekisteröity

    Jos haluat käyttää snapinin lisämiä komentoja, sinun on ensin tuotava se istuntoosi, ja voit tehdä niin:

    Lisää-PSSnapin -Nimi WDeploySnapin3.0

    Tässä vaiheessa saat virheen, jos sinulla ei ole Web Deploy -snapinia. Jos sinulla on se asennettu, kuten minäkin, se tuodaan istuntoosi. Jos haluat saada luettelon snapinissa käytettävissä olevista komentoista, voit yksinkertaisesti käyttää Get-Command-cmdletiä:

    Get-Command -moduuli WDeploy *

    Huomautus: Teknisesti tämä ei ole moduuli, mutta jostain syystä sinun on edelleen käytettävä Moduulin parametria.

    moduulit

    Moduulit ovat uudempia ja ovat tie eteenpäin. Ne voivat olla sekä komentosarjoja PowerShell-ohjelmalla että koodattuina kielellä kuten C #. Useimmat sisäänrakennetut komennot on järjestetty myös moduuleiksi. Jos haluat nähdä järjestelmän moduulien luettelon, voit käyttää seuraavaa komentoa:

    Get-Module -ListAvailable

    Kun tuotteita päivitetään, niiden PowerShell-vastapuolet siirretään moduuleihin. Esimerkiksi SQL: llä oli snapin, mutta nyt se koostuu moduuleista.

    Jotta voit käyttää moduulia, sinun täytyy tuoda se ensin.

    Tuo-moduuli -nimi SQLASCMDLETS

    Voit käyttää samaa temppua, jota käytimme snapinien kanssa, jotta voit tarkastella kaikkia komentoja, joita moduuli on lisännyt kuoreen.

    Joten tämä jättää kysymyksen: miten PowerShell tietää, mitä snapins ja moduuleja sinulla on järjestelmässäsi? Snapins on vähän kipua ja se on asennettava. Osa asennusprosessista sisältää muutamia rekisterimerkintöjä, joita PowerShell tarkastelee löytääkseen snapin-tiedot. Moduulit voidaan sen sijaan rekisteröidä kuorelle asettamalla ne suoraan johonkin PSModulePath-ympäristömuuttujan sijaintiin. Vaihtoehtoisesti voit vain lisätä moduulin polun ympäristömuuttujaan.

    ($ Env: PSModulePath) .Split ( ””)

    Se sulkee muuttujan sisällön. Huomaa, että jos käytössäsi on SQL-moduuli, miten se muutti muuttujan sisällyttääkseen SQL-moduulin sijainnin.

    Moduulin automaattinen lataus

    PowerShell 3 esitteli upean uuden ominaisuuden, jonka nimi on muutama. Yksikään niistä ei ole virallinen, mutta sen moduuli on paras moduulin automaattinen lataus. Periaatteessa voit käyttää ulkoiseen moduuliin kuuluvia cmdlet-ohjelmia ilman, että moduulia tuodaan nimenomaan tuonti-moduulin cmdlet-sovelluksen avulla. Jos haluat nähdä tämän, poista ensin kaikki moduulit kuorestasi seuraavalla komennolla:

    Get-Module | Poista-moduuli

    Tämän jälkeen voit tarkistaa, että sinulla ei ole mitään moduuleja:

    Get-moduuli

    Käytä nyt cmdletiä, joka ei ole ydinkirjastossa. Test-Connection on hyvä:

    Test-Connection localhost

    Jos tarkistat ladatut moduulit uudelleen, näet, että se ladasi moduulin.

    Tämä on kaikki tänään, liittyä meihin huomenna enemmän.