/ / Geek škola: naučite kako proširiti PowerShell

Geek škola: naučite kako proširiti PowerShell

PowerShell nudi dva načina za proširenjeljuska. Možete upotrebljavati snapine, koji su samo binarni i razvijeni u potpuno razvijenom programskom jeziku poput C #, ili možete koristiti module koji mogu biti binarni i skripti.

Obavezno pročitajte prethodne članke u nizu:

  • Saznajte kako automatizirati Windows pomoću programa PowerShell
  • Učenje korištenja cmdleta u PowerShellu
  • Učenje kako koristiti objekte u PowerShellu
  • Učenje oblikovanja, filtriranja i usporedbe u PowerShell-u
  • Naučite koristiti uklanjanje u PowerShellu
  • Korištenje PowerShell-a za dobivanje informacija o računalu
  • Rad s kolekcijama u PowerShellu

I pratite ostatak serije cijeli tjedan.

Snapins

Snapins je tako prošle godine. Sve šale na stranu, snapini se nikad nisu uhvatili među PowerShell zajednicom jer većina skripti nije programer i možete pisati snapins samo na jeziku poput C #. Ipak, još uvijek postoje neki proizvodi koji upotrebljavaju snapins, primjerice, Web Deploy. Da biste vidjeli koje su snapins na raspolaganju za upotrebu u ljusci, koristite sljedeću naredbu:

Get-PSSnapin - Registrirani

slika

Da biste koristili naredbe koje je dodao snapin, prvo ih morate uvesti u sesiju, a to možete učiniti na sljedeći način:

Add-PSSnapin -Name WDeploySnapin3.0

U ovom trenutku dobit ćete pogrešku ako nemateinstalirajte snapin za web Deploy. Ako je instalirate, kao što sam i ja, onda će se ona uvesti u vašu sesiju. Da biste dobili popis naredbi dostupnih na snapinu, jednostavno možete koristiti cmdlet Get-Command:

Get-Command - modul WDeploy *

Napomena: Tehnički to nije modul, ali iz nekog razloga ipak morate koristiti parametar Module.

slika

moduli

Moduli su noviji i put su naprijed. Mogu se skriptirati i PowerShell-om, a kodirati ih na jeziku poput C #. Većina ugrađenih naredbi organizirana je i u module. Za prikaz popisa modula na vašem sustavu, možete koristiti sljedeću naredbu:

Get-modul - popis dostupan

slika

Kako se proizvodi ažuriraju, njihove PowerShell palete prelaze na module. Na primjer, SQL je nekada imao snapin, ali sad se sastoji od modula.

slika

Da biste koristili modul, prvo ga morate uvesti.

Uvoz-modul -Ime SQLASCMDLETS

Možete koristiti isti trik koji smo koristili sa snapins-om da biste pregledali sve naredbe koje je modul dodao ljusci.

slika

To ostavlja pitanje: kako PowerShell zna koje snapins i module imate na vašem sustavu? Pa, snapins je malo boli i moraju se instalirati. Dio instalacijskog postupka uključuje stvaranje nekoliko unosa u registar koje PowerShell razmatra kako bi pronašao snapin informacije. Moduli se, s druge strane, mogu registrirati pomoću ljuske jednostavnim postavljanjem na jedno od mjesta u varijabli okoline PSModulePath. Alternativno, samo možete dodati put do modula u varijablu okoline.

($ ENV: PSModulePath) .Split ( „”)

To će ispljunuti sadržaj varijable. Imajte na umu da ako imate instaliran modul poput SQL-a, kako je modificirao varijablu tako da uključuje lokaciju SQL modula.

slika

Automatsko učitavanje modula

PowerShell 3 predstavio je zadivljujuću novu značajkušto ide uz nekoliko imena. Nijedan od njih nije službeni, ali „Modul Automatsko Učitavanje“ je najbolji opis toga. U osnovi, omogućuje vam korištenje cmdleta koji pripadaju vanjskom modulu bez eksplicitnog uvoza modula pomoću cmdlet Import-Module. Da biste to vidjeli, prvo uklonite sve module iz vaše ljuske pomoću sljedeće naredbe:

Get-Modul | Uklonite-modul

Tada možete provjeriti da nema učitanih modula koristeći sljedeće:

Get-modul

slika

Sada koristite cmdlet koji nije u jezgri biblioteke. Test-Connection je dobar:

Lokalni domaćin za testiranje

slika

Ako ponovo provjerite učitane module, vidjet ćete da je doista učitao modul.

slika

To je sve za danas, pridružite nam se sutra za više.