Škola Geek: Saznajte kako produljiti PowerShell

Sadržaj:

Škola Geek: Saznajte kako produljiti PowerShell
Škola Geek: Saznajte kako produljiti PowerShell

Video: Škola Geek: Saznajte kako produljiti PowerShell

Video: Škola Geek: Saznajte kako produljiti PowerShell
Video: VW T5 van Air Conditioning fixed - Edd China's Workshop Diaries 49. - YouTube 2024, Travanj
Anonim
PowerShell nudi dva načina za proširenje ljuske. Možete koristiti snapins, koji su samo binarni i razvijeni u potpuno razvijenom programskom jeziku kao što je C #, ili možete koristiti module, koje mogu biti binarnice, kao i skripte.
PowerShell nudi dva načina za proširenje ljuske. Možete koristiti snapins, koji su samo binarni i razvijeni u potpuno razvijenom programskom jeziku kao što je C #, ili možete koristiti module, koje mogu biti binarnice, kao i skripte.

Obavezno pročitajte prethodne članke serije:

  • Saznajte kako automatizirati sustav Windows pomoću programa PowerShell
  • Učenje pomoću Cmdletsa u PowerShellu
  • Učenje kako koristiti objekte u PowerShellu
  • Oblikovanje učenja, filtriranje i uspoređivanje u PowerShellu
  • Saznajte kako koristiti Remoting u PowerShellu
  • Upotreba programa PowerShell za dobivanje informacija o računalu
  • Rad s zbirkama u PowerShellu

I ostanite u tijeku cijele serije cijeli tjedan.

Snapins

Snapins su tako prošle godine. Sve šale na stranu, snapins nikada nije stvarno uhvaćen među PowerShell zajednice, jer većina scripters nisu programeri i možete pisati samo snapins na jeziku kao što je C #. Ipak, ipak postoje neki proizvodi koji koriste snapins, primjerice, Web Deploy. Da biste vidjeli što su dostupni snapins za korištenje u ljusci, koristite sljedeću naredbu:

Get-PSSnapin –Registered

Da biste upotrebljavali naredbe koje ste dodali snapin, prvo ga morate uvesti u svoju sesiju i to možete učiniti tako:
Da biste upotrebljavali naredbe koje ste dodali snapin, prvo ga morate uvesti u svoju sesiju i to možete učiniti tako:

Add-PSSnapin -Name WDeploySnapin3.0

Do tog trenutka dobit ćete pogrešku ako ne instalirate web-instaliranje snapin. Ako ga instalirate, kao i ja, tada će se uvesti u vašu sesiju. Da biste dobili popis naredbi dostupnih u snapin, jednostavno možete koristiti Get-Command cmdlet:

Get-Command –Module WDeploy*

Napomena: Tehnički to nije modul, ali iz nekog razloga još uvijek morate koristiti parametar modula.

Image
Image

moduli

Moduli su noviji i predstavljaju put naprijed. Može se pisati pomoću programa PowerShell i kodiran na jeziku kao što je C #. Većina ugrađenih naredbi također se organiziraju u module. Da biste vidjeli popis modula na vašem sustavu, možete koristiti sljedeću naredbu:

Get-Module –ListAvailable

Kako se proizvodi ažuriraju, njihovi kolege PowerShell migriraju se u module. Na primjer, SQL je imao snapin, ali sada se sastoji od modula.
Kako se proizvodi ažuriraju, njihovi kolege PowerShell migriraju se u module. Na primjer, SQL je imao snapin, ali sada se sastoji od modula.
Da biste koristili modul, najprije ga morate uvesti.
Da biste koristili modul, najprije ga morate uvesti.

Import-Module -Name SQLASCMDLETS

Možete upotrijebiti isti trik koji smo koristili sa snapinsima kako bismo vidjeli sve naredbe koje je modul dodao u ljusku.

Na taj način ostavlja se pitanje: kako PowerShell zna što ima snapins i modula na vašem sustavu? Pa, snapins su malo boli i moraju biti instalirani. Dio procesa instalacije uključuje stvaranje nekoliko unosa registra koje PowerShell gleda kako bi pronašao informacije o snapin. S druge strane, moduli se mogu registrirati s ljuskom jednostavnim postavljanjem na jednu od lokacija u varijabli okruženja PSModulePath. Alternativno, možete dodati put do modula na varijablu okruženja.
Na taj način ostavlja se pitanje: kako PowerShell zna što ima snapins i modula na vašem sustavu? Pa, snapins su malo boli i moraju biti instalirani. Dio procesa instalacije uključuje stvaranje nekoliko unosa registra koje PowerShell gleda kako bi pronašao informacije o snapin. S druge strane, moduli se mogu registrirati s ljuskom jednostavnim postavljanjem na jednu od lokacija u varijabli okruženja PSModulePath. Alternativno, možete dodati put do modula na varijablu okruženja.

($env:PSModulePath).Split(“;”)

To će ispljunuti sadržaj varijable. Imajte na umu da ako imate instaliran modul kao što je SQL, kako je promijenio varijablu kako bi uključila lokaciju SQL modula.

Image
Image

Učitavanje automatskog modula

PowerShell 3 predstavio je nevjerojatnu novu značajku koja ide po nekoliko imena. Nitko od njih nije službeni, ali najbolji je opis "Automatsko učitavanje modula". Uglavnom, omogućuje vam upotrebu cmdleta koji pripadaju vanjskom modulu bez izričitog uvoza modula pomoću cmdleta Import-Module. Da biste to vidjeli, prvo uklonite sve module iz ljuske pomoću sljedeće naredbe:

Get-Module | Remove-Module

Nakon toga možete provjeriti nemate li učitati module pomoću sljedećeg:

Get-Module

Sada koristite cmdlet koji nije u jezgri knjižnice. Test-veza je dobra:
Sada koristite cmdlet koji nije u jezgri knjižnice. Test-veza je dobra:

Test-Connection localhost

Preporučeni: