Lausunnon käyttäminen PowerShellissä

Lausunnon Kayttaminen Powershellissa



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 '', täydellistä moduulimäärittelyä tai polkua moduulitiedostoon voidaan käyttää 'moduulin nimen' arvona.

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 '' on nimi tai moduulin määrittely. Seuraavat avaimet muodostavat hash-taulukon, joka on moduulin määrittely:

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.Text
kä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ä.