Korištenje izjave u PowerShell-u

Koristenje Izjave U Powershell U



PowerShell je robusna ljuska naredbenog retka i skriptni jezik koji se uglavnom koristi za kontrolu računalnih sustava i automatizaciju administrativnih poslova. Korištenje izjava jedna je od najvažnijih osnova PowerShell-a. Konkretno, ' korištenjem ” izjava igra ključnu ulogu u upravljanju resursima i osiguravanju učinkovitog izvršavanja koda.

Ovaj će članak istražiti različite aspekte izjave 'using' u PowerShell-u, uključujući njezinu sintaksu, svrhu i praktične primjene.







Svrha 'korištenja' izjave

Izjava 'using' omogućuje vam da odredite koji se prostori imena koriste u sesiji. Dodavanjem prostora imena možete uvesti klase iz modula skripte i sklopova i pojednostaviti korištenje .NET klasa i članova.



Obaveze 'korištenja' izjave

  • Naredba 'using' mora se pojaviti prije bilo koje druge naredbe skripte ili modula. Ne mogu mu prethoditi nekomentirani iskazi, uključujući parametre.
  • Nijedna varijabla ne smije biti prisutna u izjavi 'using'.
  • Naredbu 'using' ne treba brkati s modifikatorom opsega 'using:' za varijable. Oba su različita u svojoj svrsi i značenju.

Sintaksa naredbe “using”.



Sintaksa za naredbu 'using' je:





koristeći imenski prostor < .NET-imenski prostor >

Pogledajmo sljedeći primjer:



koristeći prostor imena System.IO

$Bytes = [ Datoteka ] ::Pročitaj sve bajtove ( 'D:\c sharp\Linuxhint1.txt' )
[ FileInfo ] ::novi ( 'D:\c sharp\Linuxhint1.txt' )

U gornjem kodu prvo smo označili prostor naziva 'System.IO'. Drugi redak programa, [File]::ReadAllBytes(‘D:c sharpLinuxhint1.txt’), čita svaki bajt iz isporučene datoteke i smješta ga u varijablu $Bytes. U trećem retku [FileInfo]::new(‘D:c sharpLinuxhint1.txt’) stvara novu instancu klase FileInfo i vraća objekt FileInfo.

Izjava “using” za module

Također možemo upotrijebiti naredbu 'using' za učitavanje klasa modula.

Sintaksa

pomoću modula < naziv-modula >

U ovoj sintaksi, “”, kompletna specifikacija modula ili put do datoteke modula može se koristiti kao vrijednost za “naziv modula”.

Možete koristiti ili potpuno kvalificiranu ili relativnu stazu kada je “ime-modula>” staza. Kada je u skripti prisutna izjava 'upotreba', relativna staza se rješava u toj skripti.

PowerShell traži isporučeni modul u PSModulePath kada je “” naziv ili specifikacija modula. Sljedeći ključevi čine hash tablicu koja je specifikacija modula:

Naziv modula – Obavezno. Imenuje predmetni modul.

Izborni GUID – navodi GUID modula.

Osim toga, morate navesti jedan od tri ključa navedena u nastavku.

ModuleVersion – Minimalna dopuštena verzija modula određena je putem svojstva 'ModuleVersion'.

MaximumVersion – Definira najvišu dopuštenu verziju modula.

RequiredVersion – Određuje preciznu, potrebnu verziju modula pomoću 'RequiredVersion'. Drugi ključevi verzije ne mogu se koristiti s ovim.

Korijenski modul (ModuleToProcess) binarnog modula ili modula skripte uvozi se deklaracijom modula 'using'. Klase navedene u ugniježđenim modulima ili skriptama koje su izvorno unesene u modul nisu pouzdano uvezene. Sve klase za koje želite da budu dostupne korisnicima izvan modula trebaju biti navedene u korijenskom modulu.

Evo primjera:

pomoću modula PSReadline

'upotreba' Izjava za skupljanje

Naredba 'using' također se može koristiti za prethodno učitavanje tipova iz .NET sklopa.

Sintaksa

pomoću montaže < .NET-sklopna staza >

U ovoj sintaksi, kada se sklop učita, .NET tipovi iz tog sklopa unaprijed se učitavaju u skriptu prije nego što se analizira. Kao rezultat toga, moguće je razviti nove PowerShell klase koje koriste unaprijed učitane vrste sklopova.

Pogledajte primjer primjene izjave 'using' s 'assemblom':

pomoću sklopa System.Windows.Forms

U ovoj naredbi učitali smo sklop ' System.Windows.Forms” u PowerShell koristeći naredbu “using”.

“upotreba” izjave za ključeve tablice raspršivanja

Hash tablice ” su prilagodljive podatkovne strukture koje se koriste u PowerShell-u za različite svrhe, uključujući pohranjivanje konfiguracijskih podataka, davanje argumenata cmdletima i pohranjivanje podataka u skriptama.

Kriptografski hash za niz ' LinuxHint! ” dobiva se putem sljedeće skripte:

koristeći imenski prostor System.Text
koristeći prostor imena System.IO [ niz ] $string = 'LinuxHint!'
[ niz ] $algoritam = 'SHA1'

[ bajt [ ] ] $stringbajta = [ UnicodeEncoding ] ::Unicode.GetBytes ( $string )

[ Stream ] $memorystream = [ MemoryStream ] ::novi ( $stringbajta )
$hashfromstream = Get-FileHash -InputStream $memorystream `
-Algoritam $algoritam
$hashfromstream .Hash.ToString ( )

Gornji PowerShell kod počinje uvozom imenskih prostora potrebnih za rad s datotekama i kodiranje. Ulazni niz i algoritam raspršivanja (u ovom slučaju ' SHA1 “), zatim se definiraju. Ulazni niz se zatim kodira pomoću ' Unicode ” za stvaranje niza bajtova.

Sadržaj niza bajtova zatim se koristi za izradu ' memorijski tok ”. Raspršena vrijednost iz memorijskog toka izračunava se korištenjem ponuđenog algoritma 'SHA1' putem ' Get-FileHash ” cmdlet. Skripta završava ispisom dobivene hash vrijednosti kao niza na izlazu.

Izlaz

Zaključak

' korištenjem ” Izjava u PowerShell moćan je alat za određivanje prostora imena, modula ili sklopova. Njegova sintaksa i svrha pružaju standardiziran i siguran pristup za rukovanje resursima, olakšavajući pravilno odlaganje i smanjujući dupliciranje koda.