PowerShell on vankka komentorivin kuori ja komentosarjakieli, jota käytetään enimmäkseen tietokonejärjestelmien ohjaamiseen ja hallinnollisten töiden automatisointiin. Lausuntojen käyttö on yksi tärkeimmistä PowerShellin perusteista. Erityisesti ' käyttämällä ”-lauseella on keskeinen rooli resurssien hallinnassa ja tehokkaan koodin suorittamisen varmistamisessa.
Tässä artikkelissa tarkastellaan PowerShellin 'using'-käskyn eri näkökohtia, mukaan lukien sen syntaksi, tarkoitus ja käytännön sovellukset.
Lausunnon 'käyttämisen' tarkoitus
'using'-käskyllä voit määrittää, mitä nimiavaruuksia istunnossa käytetään. Lisäämällä nimiavaruuksia voit tuoda luokkia komentosarjamoduuleista ja -kokoonpanoista ja yksinkertaistaa .NET-luokkien ja -jäsenten käyttöä.
Lausunnon 'käytön' TÄYTYY
- 'using'-käskyn on oltava ennen muita komentosarja- tai moduulikäskyjä. Sitä ei voi edeltää mitään kommentoimattomia lauseita, mukaan lukien parametrit.
- Mitään muuttujia ei saa olla 'using'-käskyssä.
- 'using'-käskyä ei pidä sekoittaa muuttujien 'using:'-laajuusmuuttajaan. Molemmat eroavat tarkoitukseltaan ja merkitykseltään.
'Käyttäjä' -lausekkeen syntaksi
'using'-lauseen syntaksi on:
nimiavaruuden avulla < .NET-nimiavaruus >
Katsotaanpa seuraavaa esimerkkiä:
käyttäen nimiavaruutta System.IO
$tavua = [ Tiedosto ] ::ReadAll Bytes ( 'D:\c sharp\Linuxhint1.txt' )
[ FileInfo ] ::Uusi ( 'D:\c sharp\Linuxhint1.txt' )
Yllä olevassa koodissa määritimme ensin nimitilan 'System.IO'. Ohjelman toinen rivi [File]::ReadAllBytes('D:c sharpLinuxhint1.txt') lukee jokaisen tavun toimitetusta tiedostosta ja sijoittaa ne $Bytes-muuttujaan. Kolmannella rivillä [FileInfo]::new('D:c sharpLinuxhint1.txt') luo uuden FileInfo-luokan esiintymän ja palauttaa FileInfo-objektin.
Moduulien lausunnon 'käyttäminen'.
Voimme myös käyttää 'using'-käskyä moduulin luokkien lataamiseen.
Syntaksi
moduulia käyttämällä < moduulin nimi >
Tässä syntaksissa '
Voit käyttää joko täydellistä tai suhteellista polkua, kun 'moduulin nimi>' on polku. Kun komentosarjassa on 'using'-käsky, suhteellinen polku ratkaistaan kyseisessä skriptissä.
PowerShell etsii toimitettua moduulia PSModulePathista, kun '
Moduulin nimi - Edellytetään. Nimeää kyseessä olevan moduulin.
Valinnainen GUID – määrittää moduulin GUID:n.
Lisäksi sinun on määritettävä yksi kolmesta alla luetellusta avaimesta.
Moduuliversio – Moduulin pienin sallittu versio määritetään 'ModuleVersion'-ominaisuuden kautta.
Maksimiversio – Määrittää moduulin korkeimman sallitun version.
Pakollinen versio – Määrittää moduulin tarkan, tarpeellisen version käyttämällä 'RequiredVersion' -toimintoa. Muita versioavaimia ei voi käyttää tämän kanssa.
Binäärimoduulin tai komentosarjamoduulin juurimoduuli (ModuleToProcess) tuodaan 'using' -moduulin määrittelyllä. Sisäkkäisissä moduuleissa tai komentosarjoissa määritettyjä luokkia, jotka on pistelähdelähde moduuliin, ei tuoda luotettavasti. Kaikki luokat, jotka haluat olla moduulin ulkopuolisten käyttäjien saatavilla, tulee määrittää juurimoduulissa.
Tässä on esimerkki:
käyttämällä moduulia PSReadline
'käytetään' lausuntoa kokoonpanoa varten
'using'-käskyä voidaan käyttää myös tyyppien esilataamiseen .NET-kokoonpanosta.
Syntaksi
kokoonpanoa käyttämällä < .NET-assembly-path >
Tässä syntaksissa, kun kokoonpano ladataan, kyseisen kokoonpanon .NET-tyypit esiladataan komentosarjaan ennen sen jäsentämistä. Tämän seurauksena on mahdollista kehittää uusia PowerShell-luokkia, jotka käyttävät esiladattuja kokoonpanotyyppejä.
Katso esimerkki 'using'-käskyn soveltamisesta 'kokoonpanon' kanssa:
käyttämällä kokoonpanoa System.Windows.Forms
Tässä komennossa olemme ladanneet kokoonpanon ' System.Windows.Forms” PowerShellissä käyttämällä 'using' -käskyä.
'using' lauseke Hashtable Keysille
' Hash-taulukot ” ovat mukautettavia tietorakenteita, joita käytetään PowerShellissä useisiin tarkoituksiin, mukaan lukien määritystietojen tallentamiseen, argumenttien tarjoamiseen cmdlet-komentoille ja tietojen tallentamiseen komentosarjoihin.
Merkkijonon kryptografinen hajautus LinuxHint! ' saadaan seuraavan skriptin kautta:
käyttäen nimiavaruutta System.Textkäyttäen nimiavaruutta System.IO [ merkkijono ] $string = 'LinuxHint!'
[ merkkijono ] $algoritmi = 'SHA1'
[ tavu [ ] ] $merkkijonotavua = [ Unicode-koodaus ] ::Unicode.GetBytes ( $string )
[ Striimaa ] $muistivirta = [ MemoryStream ] ::Uusi ( $merkkijonotavua )
$hashstreamistä = Hanki-FileHash -InputStream $muistivirta `
-Algoritmi $algoritmi
$hashstreamistä .Hash.ToString ( )
Yllä oleva PowerShell-koodi alkaa tuomalla tiedostotoimintoihin ja koodaukseen tarvittavat nimitilat. Syöttömerkkijono ja hajautusalgoritmi (tässä tapauksessa ' SHA1 ”) määritellään sitten. Syöttömerkkijono koodataan sitten käyttämällä ' Unicode ' luodaksesi tavujoukon.
Tavutaulukon sisältöä käytetään sitten ' muistivirta ”. Hajautusarvo muistivirrasta lasketaan käyttämällä toimitettua 'SHA1'-algoritmia ' Hanki-FileHash ” cmdlet. Skripti päättyy tulostamalla saatu hash-arvo merkkijonona ulostuloon.
Lähtö
Johtopäätös
' käyttämällä ”-lause PowerShellissä on tehokas työkalu nimitilojen, moduulien tai kokoonpanojen määrittämiseen. Sen syntaksi ja tarkoitus tarjoavat standardoidun ja turvallisen tavan käsitellä resursseja, helpottaa asianmukaista hävittämistä ja vähentää koodin päällekkäisyyttä.