Geek Škola Saznajte kako proširiti PowerShell
PowerShell nudi dva načina za proširenje ljuske. Možete upotrijebiti dodatke koji su samo binarni i razvijeni u potpuno razvijenom programskom jeziku kao što je C #, ili možete koristiti module koji mogu biti binarni kao i skripti.
Svakako pročitajte prethodne članke iz serije:
- Saznajte kako automatizirati sustav Windows pomoću programa PowerShell
- Učenje korištenja Cmdletova u PowerShell-u
- Učenje korištenja objekata u programu PowerShell
- Učenje oblikovanja, filtriranja i uspoređivanja u programu PowerShell
- Naučite kako koristiti daljinski rad u programu PowerShell
- Upotreba PowerShell-a za dobivanje informacija o računalu
- Rad s zbirkama u programu PowerShell
Ostanite u tijeku cijeli tjedan.
Snapins
Snapinsi su tako prošle godine. Bez obzira na sve viceve, alati nikad nisu bili uhvaćeni među zajednicom PowerShell jer većina skriptara nisu programeri i možete pisati dodatke samo na jeziku kao što je C #. Ipak, još uvijek postoje neki proizvodi koji koriste dodatke, na primjer Web Deploy. Da biste vidjeli koji su dodaci dostupni za korištenje u ljusci, koristite sljedeću naredbu:
Get-PSSnapin -Prijavljen
Da biste koristili naredbe koje je dodao snapin, prvo ih morate uvesti u svoju sesiju, a to možete učiniti na sljedeći način:
Add-PSSnapin -Name WDeploySnapin3.0
U ovom trenutku pojavit će se pogreška ako nemate instaliran snapin. Ako ga imate instaliran, kao i ja, bit će uvezen u vašu sesiju. Da biste dobili popis naredbi dostupnih u snapin-u, možete jednostavno koristiti cmdlet Get-Command:
Get-Command -Module WDeploy *
Napomena: Tehnički to nije modul, ali iz nekog razloga još uvijek morate koristiti parametar Module.
moduli
Moduli su noviji i napreduju. Mogu biti i skriptirani pomoću PowerShell-a, kao i kodirani na jeziku kao što je C #. Većina ugrađenih naredbi također je organizirana 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 na module. Primjerice, SQL je imao snapin, ali sada se sastoji od modula.
Da biste koristili modul, prvo ga morate uvesti.
Uvozni modul - Ime SQLASCMDLETS
Možete koristiti isti trik koji smo koristili s dodatcima za pregled svih naredbi koje je modul dodao ljusci.
Dakle, ostaje pitanje: kako PowerShell zna što moduli i moduli imate na vašem sustavu? Pa, snapinsi su malo bolni i moraju biti instalirani. Dio instalacijskog procesa uključuje stvaranje nekoliko stavki registra na koje PowerShell gleda kako bi pronašle informacije o povezivanju. Moduli, s druge strane, mogu se registrirati u ljusci tako da ih jednostavno smjestite u jednu od lokacija u PSModulePath varijabli okoline. Alternativno, možete samo dodati put do modula varijabli okruženja.
($ ENV: PSModulePath) .Split ( „”)
To će ispljunuti sadržaj varijable. Primijetite da, ako imate instaliran modul kao što je SQL, kako je promijenio varijablu tako da uključuje lokaciju SQL modula.
Automatsko učitavanje modula
PowerShell 3 predstavio je nevjerojatnu novu značajku koja nosi nekoliko imena. Nitko od njih nije službeno, ali "Modul Auto Loading" je najbolji opis. U osnovi, omogućuje vam korištenje cmdleta koji pripadaju vanjskom modulu bez izričitog uvoza modula pomoću cmdleta Import-Module. Da biste to vidjeli, prvo uklonite sve module iz vaše ljuske pomoću sljedeće naredbe:
Uzmi modul | Uklonite-modul
Nakon toga možete provjeriti da nemate učitane module pomoću sljedećeg:
Get-modul
Sada koristite cmdlet koji nije u jezgri knjižnice. Test-veza je dobra:
Testiranje veze localhost
Ako ponovno provjerite učitane module, vidjet ćete da je uistinu učitao modul.
To je sve za danas, pridružite nam se sutra za još.