Avalduse kasutamine PowerShellis

Avalduse Kasutamine Powershellis



PowerShell on jõuline käsurea kest ja skriptikeel, mida kasutatakse enamasti arvutisüsteemide juhtimiseks ja haldustööde automatiseerimiseks. Avalduste kasutamine on üks olulisemaid PowerShelli põhialuseid. Eelkõige ' kasutades ” avaldus mängib ressursside haldamisel ja tõhusa koodi täitmise tagamisel üliolulist rolli.

See artikkel uurib PowerShelli „kasutamise” avalduse erinevaid aspekte, sealhulgas selle süntaksit, eesmärki ja praktilisi rakendusi.







Avalduse 'kasutamise' eesmärk

Avaldis 'using' võimaldab teil määrata, milliseid nimeruume seansil kasutatakse. Nimeruumide lisamisega saate importida klasse skriptimoodulitest ja koostudest ning lihtsustada .NET klasside ja liikmete kasutamist.



Avalduse 'kasutamise' tingimused

  • Avaldus 'using' peab ilmuma enne mis tahes muid skripti või mooduli avaldusi. Sellele ei saa eelneda ühtegi kommenteerimata väidet, sealhulgas parameetreid.
  • Avalduses 'using' ei tohi esineda muutujaid.
  • Lauset „using” ei tohiks segi ajada muutujate ulatuse modifikaatoriga „using:”. Mõlemad erinevad oma eesmärgi ja tähenduse poolest.

'Kasutamise' avalduse süntaks



Lause „using” süntaks on:





kasutades nimeruumi < .NET-nimeruum >

Teeme ülevaate järgmisest näitest:



kasutades nimeruumi System.IO

$ baiti = [ Fail ] ::ReadAll Bytes ( 'D:\c sharp\Linuxhint1.txt' )
[ FileInfo ] ::uus ( 'D:\c sharp\Linuxhint1.txt' )

Ülaltoodud koodis määrasime esmalt nimeruumi 'System.IO'. Programmi teine ​​rida [File]::ReadAllBytes('D:c sharpLinuxhint1.txt') loeb kaasasolevast failist iga baidi ja asetab need muutujasse $Bytes. Kolmandal real loob [FileInfo]::new('D:c sharpLinuxhint1.txt') FileInfo klassi uue eksemplari ja tagastab FileInfo objekti.

'kasutades' avaldust moodulite jaoks

Mooduli klasside laadimiseks saame kasutada ka käsku “using”.

Süntaks

moodulit kasutades < mooduli nimi >

Selles süntaksis saab 'mooduli nime' väärtusena kasutada '', täielikku mooduli spetsifikatsiooni või mooduli faili teed.

Kui tee on 'mooduli nimi>', võite kasutada kas täielikult kvalifitseeritud või suhtelist teed. Kui skriptis on käsk 'kasutamine', lahendatakse selles skriptis suhteline tee.

PowerShell otsib PSModulePathist kaasasolevat moodulit, kui „” on nimi või mooduli spetsifikatsioon. Järgmised võtmed moodustavad räsitabeli, mis on mooduli spetsifikatsioon:

Mooduli nimi - Nõutud. Nimetab kõnealust moodulit.

Valikuline GUID – määrab mooduli GUID.

Lisaks peate määrama ühe kolmest allpool loetletud võtmest.

Mooduli versioon – Mooduli minimaalne lubatud versioon määratakse atribuudi „ModuleVersion” kaudu.

Maksimaalne versioon – Määrab mooduli kõrgeima lubatud versiooni.

Nõutav versioon – Määrab mooduli täpse, vajaliku versiooni, kasutades “RequiredVersion”. Sellega ei saa kasutada teisi versiooni võtmeid.

Binaarmooduli või skriptimooduli juurmoodul (ModuleToProcess) imporditakse mooduli 'kasutamise' deklaratsiooniga. Pesastatud moodulites või moodulisse punktallikaga skriptides määratud klasse ei impordita usaldusväärselt. Kõik klassid, mida soovite väljaspool moodulit kasutajatele kättesaadavaks teha, tuleb määrata juurmoodulis.

Siin on näide:

kasutades moodulit PSReadline

'kasutades' koostamise avaldust

Lauset 'using' saab kasutada ka tüüpide eellaadimiseks .NET-koostutest.

Süntaks

montaaži kasutades < .NET-assembly-path >

Selles süntaksis laaditakse koostu laadimisel selle koostu .NET-tüübid skripti enne selle sõelumist. Selle tulemusena on võimalik välja töötada värskeid PowerShelli klasse, mis kasutavad eellaaditud koostutüüpe.

Vaadake näidet lause „kasutamine” koos „koostu” rakendamisest:

kasutades montaaži System.Windows.Forms

Selle käsuga oleme laadinud komplekti ' System.Windows.Forms” PowerShellis, kasutades lauset 'using'.

Hashtable Keysi lause 'kasutamine'.

Räsi tabelid ” on kohandatavad andmestruktuurid, mida PowerShellis kasutatakse erinevatel eesmärkidel, sealhulgas konfiguratsiooniandmete salvestamiseks, cmdlet-käskudele argumentide esitamiseks ja andmete salvestamiseks skriptides.

Stringi krüptograafiline räsi ' LinuxHint! ” saadakse järgmise skripti kaudu:

kasutades nimeruumi System.Text
kasutades nimeruumi System.IO [ string ] $string = 'LinuxHint!'
[ string ] $algoritm = 'SHA1'

[ bait [ ] ] $stringbaiti = [ UnicodeEncoding ] ::Unicode.GetBytes ( $string )

[ Voog ] $mäluvoog = [ MemoryStream ] ::uus ( $stringbaiti )
$hash voost = Get-FileHash -InputStream $mäluvoog `
- Algoritm $algoritm
$hash voost .Hash.ToString ( )

Ülaltoodud PowerShelli kood algab failitoiminguteks ja kodeerimiseks vajalike nimeruumide importimisega. Sisendstring ja räsimisalgoritm (antud juhul SHA1 ”), määratletakse seejärel. Seejärel kodeeritakse sisendstring, kasutades ' Unicode ', et luua baitide massiiv.

Seejärel kasutatakse baidimassiivi sisu ' mäluvoog ”. Mäluvoo räsiväärtus arvutatakse kaasasoleva 'SHA1' algoritmi abil ' Get-FileHash ” cmdlet. Skript lõpeb saadud räsiväärtuse trükkimisega stringina väljundisse.

Väljund

Järeldus

' kasutades ” lause PowerShellis on võimas tööriist nimeruumide, moodulite või koostude määramiseks. Selle süntaks ja eesmärk pakuvad standardiseeritud ja ohutut lähenemisviisi ressursside käitlemiseks, hõlbustades nõuetekohast kõrvaldamist ja vähendades koodi dubleerimist.