Domača » kako » Geek School Naučite se razširiti PowerShell

    Geek School Naučite se razširiti PowerShell

    PowerShell ponuja dva načina za razširitev lupine. Lahko uporabite dodatke, ki so samo binarni in razviti v polno razvitem programskem jeziku, kot je C #, ali pa uporabite module, ki so lahko binarni in skriptni..

    Preberite prejšnje članke v seriji:

    • Naučite se avtomatizirati Windows s PowerShell
    • Učenje uporabe ukaznih vrstic v PowerShell
    • Učenje uporabe objektov v programu PowerShell
    • Učenje oblikovanja, filtriranja in primerjave v programu PowerShell
    • Naučite se uporabljati možnost Remoting v PowerShell
    • Uporaba programa PowerShell za pridobivanje informacij o računalniku
    • Delo z zbirkami v programu PowerShell

    In ostanite z nami do konca tedna.

    Snapins

    Snapini so tako lani. Vse šale na stran, snapins nikoli zares ujeti v skupnost PowerShell, ker je večina skriptarjev niso razvijalci in lahko pišete le snapins v jeziku, kot C #. Kljub temu še vedno obstajajo nekateri izdelki, ki uporabljajo snapine, na primer Web Deploy. Če želite videti, kateri dodatki so na voljo za uporabo v lupini, uporabite naslednji ukaz:

    Get-PSSnapin -Prijavljen

    Če želite uporabiti ukaze, ki jih doda čepek, ga morate najprej uvoziti v sejo in to lahko storite tako:

    Add-PSSnapin -Name WDeploySnapin3.0

    Na tej točki boste dobili napako, če nimate nameščenega snapin-a Web Deploy. Če jo namestite, kot jaz, bo uvoženo v vašo sejo. Če želite dobiti seznam ukazov, ki so na voljo v snap-u, lahko preprosto uporabite ukazno vrstico Get-Command:

    Get-Command -Module WDeploy *

    Opomba: Tehnično to ni modul, vendar iz nekega razloga še vedno morate uporabiti parameter Module.

    Moduli

    Moduli so novejši in so pot naprej. Lahko jih skriptirate z uporabo PowerShell-a in jih kodirate v jeziku, kot je C #. Večina vgrajenih ukazov je organizirana tudi v module. Če želite videti seznam modulov v sistemu, lahko uporabite naslednji ukaz:

    Get-Module -ListAvailable

    Ko se izdelki posodabljajo, se njihovi partnerji PowerShell preselijo v module. Na primer, SQL je imel nekdaj zlom, vendar je zdaj sestavljen iz modulov.

    Če želite uporabiti modul, ga morate najprej uvoziti.

    Uvozni modul - Ime SQLASCMDLETS

    Lahko uporabite isti trik, ki smo ga uporabili z dodatki, da si ogledate vse ukaze, ki jih je modul dodal lupini.

    Torej ostaja vprašanje: kako PowerShell ve, kakšni dodatki in moduli imate v sistemu? No, snapins so malo bolečine in jih je treba namestiti. Del namestitvenega postopka vključuje ustvarjanje nekaj vnosov v register, ki jih pregleduje PowerShell, da bi našli informacije o pomikanju. Moduli so po drugi strani registrirani z ukazno lupino tako, da jih preprosto namestite na eno od mest v spremenljivki okolja PSModulePath. Druga možnost je, da dodate pot v modul spremenljivki okolja.

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

    To bo izpljunilo vsebino spremenljivke. Če imate nameščen modul, kot je SQL, je spremenil spremenljivko tako, da vključuje lokacijo modula SQL.

    Samodejno nalaganje modula

    PowerShell 3 je predstavil izjemno novo funkcijo, ki je podana z nekaj imeni. Nobeden od njih ni uraden, ampak "Modul Auto Loading" je najboljši opis. V bistvu vam omogoča uporabo ukazov »cmdlets«, ki pripadajo zunanjemu modulu, ne da bi izrecno uvažali modul z ukazom »cmdlet« uvoz-modul. Če želite to videti, najprej odstranite vse module iz lupine z naslednjim ukazom:

    Get-Module | Odstrani modul

    Nato lahko preverite, ali nimate naloženih modulov z naslednjim:

    Get-Module

    Zdaj uporabite ukaz »cmdlet«, ki ni v osrednji knjižnici. Testna povezava je dobra:

    Test-Connection localhost

    Če ponovno preverite naložene module, boste videli, da je modul dejansko naložil.

    To je vse za danes, pridružite se nam jutri za več.