Bruker Statement i PowerShell

Bruker Statement I Powershell



PowerShell er et robust kommandolinjeskall og skriptspråk som for det meste brukes til å kontrollere datasystemer og automatisere administrative oppgaver. Bruken av utsagn er en av de mest avgjørende PowerShell-grunnlagene. Spesielt ' ved hjelp av ” uttalelse spiller en avgjørende rolle i å administrere ressurser og sikre effektiv kodeutførelse.

Denne artikkelen vil utforske ulike aspekter av 'bruker'-setningen i PowerShell, inkludert syntaks, formål og praktiske applikasjoner.







Formålet med 'bruke'-erklæringen

'using'-setningen lar deg spesifisere hvilke navneområder som brukes i økten. Ved å legge til navneområder kan du importere klasser fra skriptmoduler og sammenstillinger og forenkle bruken av .NET-klasser og -medlemmer.



MUST for å 'bruke' erklæring

  • 'Using'-setningen må vises før alle andre script- eller modulsetninger. Det kan ikke innledes med ukommenterte utsagn, inkludert parametere.
  • Eventuelle variabler må ikke være til stede i 'bruker'-setningen.
  • 'using'-setningen må ikke forveksles med 'using:' omfangsmodifikator for variabler. De er begge forskjellige i sin hensikt og betydning.

Syntaks for 'bruker'-erklæringen



Syntaksen for 'bruker'-setningen er:





ved hjelp av navneområde < .NET-navneområde >

La oss se på følgende eksempel:



bruker navneområdet System.IO

$Bytes = [ Fil ] ::ReadAllBytes ( 'D:\c sharp\Linuxhint1.txt' )
[ FileInfo ] ::ny ( 'D:\c sharp\Linuxhint1.txt' )

I koden ovenfor utpekte vi først navneområdet 'System.IO'. Den andre linjen i programmet, [File]::ReadAllBytes(‘D:c sharpLinuxhint1.txt’), leser hver byte fra den medfølgende filen og plasserer dem i $Bytes-variabelen. I den tredje linjen oppretter [FileInfo]::new(‘D:c sharpLinuxhint1.txt’) en ny forekomst av FileInfo-klassen og returnerer FileInfo-objektet.

'bruker' erklæring for moduler

Vi kan også bruke 'bruker'-setningen for å laste klasser til en modul.

Syntaks

bruker modulen < modulnavn >

I denne syntaksen kan '', en komplett modulspesifikasjon eller en bane til en modulfil brukes som verdien for 'modulnavn'.

Du kan bruke enten en fullt kvalifisert eller relativ bane når 'modulnavn>' er en bane. Når en 'bruker'-setning er til stede i et skript, blir en relativ bane løst i det skriptet.

PowerShell ser etter den medfølgende modulen i PSModulePath når '' er et navn eller modulspesifikasjon. Følgende nøkler utgjør hashtabellen som er en modulspesifikasjon:

Modulnavn – Påkrevd. Navngir den aktuelle modulen.

Valgfri GUID – spesifiserer modulens GUID.

I tillegg må du spesifisere en av de tre nøklene som er oppført nedenfor.

Modulversjon – En minimum tillatt versjon av modulen er spesifisert via egenskapen 'ModuleVersion'.

MaximumVersion – Definerer modulens høyeste tillatte versjon.

Påkrevd versjon – Bestemmer den nøyaktige, nødvendige versjonen av modulen ved å bruke 'RequiredVersion'. De andre versjonsnøklene kan ikke brukes med denne.

Rotmodulen (ModuleToProcess) til en binær modul eller skriptmodul importeres av 'bruker' modulerklæringen. Klassene som er spesifisert i nestede moduler eller skript som er dot-sourced inn i modulen, importeres ikke pålitelig. Eventuelle klasser som du ønsker skal være tilgjengelige for brukere utenfor modulen bør spesifiseres i rotmodulen.

Her er et eksempel:

ved hjelp av modulen PSReadline

'bruker' erklæring for montering

'using'-setningen kan også brukes til å forhåndsinnlaste typer fra en .NET-montering.

Syntaks

ved hjelp av montering < .NET-monteringsbane >

I denne syntaksen, når en sammenstilling er lastet, blir .NET-typene fra den sammenstillingen forhåndslastet inn i skriptet før den analyseres. Som et resultat er det mulig å utvikle ferske PowerShell-klasser som benytter seg av de forhåndslastede monteringstypene.

Se på et eksempel på bruk av 'bruker'-setningen med en 'sammenstilling':

ved hjelp av montering System.Windows.Forms

I denne kommandoen har vi lastet inn sammenstillingen ' System.Windows.Forms” i PowerShell ved å bruke 'using'-setningen.

'bruker' uttalelse for hashable nøkler

' Hash-tabeller ” er tilpasningsdyktige datastrukturer som brukes i PowerShell for en rekke formål, inkludert lagring av konfigurasjonsdata, gi argumenter til cmdlets og lagring av data i skript.

Den kryptografiske hashen for strengen ' LinuxHint! ' er hentet via følgende skript:

bruker navneområdet System.Text
bruker navneområdet System.IO [ streng ] $string = 'LinuxHint!'
[ streng ] $algoritme = 'SHA1'

[ byte [ ] ] $stringbytes = [ UnicodeEncoding ] :: Unicode.GetBytes ( $string )

[ Strøm ] $minnestrøm = [ MemoryStream ] ::ny ( $stringbytes )
$hashfromstream = Get-FileHash -InputStream $minnestrøm `
- Algoritme $algoritme
$hashfromstream .Hash.ToString ( )

PowerShell-koden ovenfor begynner med å importere navneområdene som kreves for filoperasjoner og koding. Inndatastrengen og hashing-algoritmen (i dette tilfellet ' SHA1 ”), blir deretter definert. Inndatastrengen blir deretter kodet med ' Unicode ' for å lage en rekke byte.

Innholdet i byte-matrisen brukes deretter til å bygge en ' minnestrøm '. Hash-verdien fra minnestrømmen beregnes ved å bruke den medfølgende 'SHA1'-algoritmen av ' Get-FileHash ' cmdlet. Skriptet avsluttes med å skrive ut den oppnådde hash-verdien som en streng til utdataene.

Produksjon

Konklusjon

« ved hjelp av ”-setning i PowerShell er et kraftig verktøy for å spesifisere navneområder, moduler eller sammenstillinger. Dens syntaks og formål gir en standardisert og sikker tilnærming for håndtering av ressurser, tilrettelegging for riktig avhending og reduksjon av kodeduplisering.