If-Koubou

Geek School: Opi käyttämään PowerShellia

Geek School: Opi käyttämään PowerShellia (Miten)

PowerShell tarjoaa kaksi tapaa laajentaa kuoria. Voit käyttää joko snapinsia, jotka ovat vain binaarisia ja kehitetty täysipainoisella ohjelmointikielellä, kuten C #, tai voit käyttää moduuleja, jotka voivat olla binaarisia sekä kirjoituspohjaisia.

Muista lukea sarjan aiemmat artikkelit:

  • Opi käyttämään automaattista Windowsia PowerShellillä
  • Learning käyttämään Cmdlets PowerShellissä
  • Oppiminen esineiden käyttämisessä PowerShellissä
  • Oppimisen muotoilu, suodatus ja vertailu PowerShellissä
  • Opi käyttämään etäisyyttä PowerShellissä
  • PowerShellin käyttäminen tietokoneen tietojen saantiin
  • PowerShellin kokoelmien käsittely

Ja pysy kuulolla koko sarjan koko viikon ajan.

Snapins

Snapins ovat niin viime vuonna. Kaikki vitsaukset syrjään, snapins eivät koskaan ole todella kiinni PowerShell yhteisön, koska useimmat kirjoittajat eivät ole kehittäjiä ja voit kirjoittaa vain snapins on C # -kielellä. On kuitenkin olemassa joitain tuotteita, jotka käyttävät snapins, kuten esimerkiksi Web Deploy. Jotta näet, mitä snapinsit ovat käytettävissä shellissa, käytät seuraavaa komentoa:

Get-PSSnapin-Rekisteröidyt

Jos haluat käyttää snapin lisäämiä komentoja, sinun on ensin tuoda se istuntoosi ja voit tehdä sen seuraavasti:

Lisää-PSSnapin -Name WDeploySnapin3.0

Tässä vaiheessa saat virheilmoituksen, jos Web Deploy snapin -ohjelmaa ei ole asennettu. Jos sinulla on se asennettu, kuten minä, se tuodaan istuntoosi. Saadaksesi luettelon snapin käytettävissä olevista komennoista voit käyttää Get-Command-cmdlet-komentoa:

Get-Command -Module WDeploy *

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

moduulit

Moduulit ovat uudempia ja ovat keino eteenpäin. Ne voivat olla sekä komentosarjoja kuin PowerShell ja koodattu C # -kielellä. Suurin osa sisäänrakennetuista komennoista on myös moduuleja. Jotta voit tarkastella järjestelmän moduulien luetteloa, voit käyttää seuraavaa komentoa:

Get-Module -ListAvailable

Tuotteiden päivityksen myötä PowerShell-vastapuolet siirretään moduuleihin. Esimerkiksi SQLillä oli snapin, mutta se koostuu nyt moduuleista.

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

Tuonti-moduuli -Name SQLASCMDLETS

Voit käyttää samaa temppua, jota käytimme snapinsilla, jotta näet kaikki komennot, jotka moduuli lisäsi kuoriin.

Joten jättää kysymyksen: miten PowerShell tietää, mitä snapins ja moduulit sinulla on järjestelmässäsi? No, snapins ovat hieman tuskaa ja ne on asennettava. Osa asennusprosessista sisältää muutamia rekisterimerkintöjä, joita PowerShell etsii löytääkseen snapin-tietoja. Moduulit voidaan rekisteröidä kuorella yksinkertaisesti sijoittamalla ne yhteen PSModulePath-ympäristömuuttujan paikoista. Vaihtoehtoisesti voit lisätä moduulin polun ympäristömuuttujalle.

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

Tämä loistaa muuttujan sisällön. Huomaa, että jos sinulla on asennettuna SQL-moduuli, miten se muokkasi muuttujan sisältämään SQL-moduulin sijainnin.

Moduulin automaattinen lataus

PowerShell 3 esitteli mahtavaa uutta ominaisuutta, joka kulkee muutamilla nimillä. Mikään niistä ei ole virallista, mutta "Module Auto Loading" on sen paras kuvaus. Pohjimmiltaan sen avulla voit käyttää cmdletteja, jotka kuuluvat ulkoiseen moduuliin ilman, että tuoda moduulia tuontia tuonti-moduulin cmdlet-koodilla. Nähdäksesi tämän, poista ensin kaikki moduulit kuoresta käyttäen seuraavaa komentoa:

Get-Module | Poista-moduuli

Sen jälkeen voit tarkistaa, että moduuleja ei ole ladattu seuraavilla tavoilla:

Get-moduuli

Käytä nyt cmdletä, joka ei ole ydinkirjastossa. Testikytkentä on hyvä:

Test-Connection localhost

Jos tarkistat ladatut moduulit uudelleen, näet, että se todella täytti moduulin.

Kaikki on tänään täällä, liittyä meihin huomenna enemmän.