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.