„PowerShell“ pareiškimo naudojimas

Powershell Pareiskimo Naudojimas



„PowerShell“ yra tvirtas komandų eilutės apvalkalas ir scenarijų kalba, dažniausiai naudojama kompiuterinėms sistemoms valdyti ir administraciniams darbams automatizuoti. Teiginių naudojimas yra vienas iš svarbiausių „PowerShell“ pagrindų. Visų pirma, „ naudojant “ teiginys vaidina lemiamą vaidmenį valdant išteklius ir užtikrinant efektyvų kodo vykdymą.

Šiame straipsnyje bus nagrinėjami įvairūs „PowerShell“ teiginio „naudojimo“ aspektai, įskaitant jo sintaksę, paskirtį ir praktines programas.







Pareiškimo „naudojimo“ tikslas

Teiginys „using“ leidžia nurodyti, kurios vardų erdvės naudojamos sesijoje. Pridėję vardų erdves galite importuoti klases iš scenarijaus modulių ir rinkinių bei supaprastinti .NET klasių ir narių naudojimą.



PRIVALO „naudoti“ pareiškimą

  • Teiginys „using“ turi būti rodomas prieš bet kokius kitus scenarijaus ar modulio teiginius. Prieš jį negali būti jokių nekomentuotų teiginių, įskaitant parametrus.
  • Teiginyje „using“ neturi būti jokių kintamųjų.
  • Teiginio „using“ nereikėtų painioti su kintamųjų apimties modifikatoriumi „using:“. Jie abu skiriasi savo paskirtimi ir reikšme.

Teiginio „naudojimas“ sintaksė



Teiginio „using“ sintaksė yra tokia:





naudojant vardų erdvę < .NET vardų erdvė >

Apžvelgsime šį pavyzdį:



naudojant vardų erdvę System.IO

$ baitai = [ Failas ] ::ReadAll Bytes ( „D:\c Sharp\Linuxhint1.txt“ )
[ FileInfo ] ::naujas ( „D:\c Sharp\Linuxhint1.txt“ )

Aukščiau pateiktame kode pirmiausia nurodėme vardų erdvę „System.IO“. Antroji programos eilutė [File]::ReadAllBytes('D:c sharpLinuxhint1.txt') nuskaito kiekvieną pateikto failo baitą ir įdeda juos į $Bytes kintamąjį. Trečioje eilutėje [FileInfo]::new('D:c sharpLinuxhint1.txt') sukuria naują FileInfo klasės egzempliorių ir grąžina FileInfo objektą.

„naudojant“ modulių pareiškimą

Modulio klasėms įkelti taip pat galime naudoti sakinį „using“.

Sintaksė

naudojant modulį < modulio pavadinimas >

Šioje sintaksėje kaip „modulio pavadinimo“ reikšmė gali būti naudojama „“, visa modulio specifikacija arba kelias į modulio failą.

Galite naudoti visiškai apibrėžtą arba santykinį kelią, kai „modulio pavadinimas>“ yra kelias. Kai scenarijuje yra sakinys „naudojimas“, tame scenarijuje išsprendžiamas santykinis kelias.

„PowerShell“ ieško pateikto modulio PSModulePath, kai „“ yra pavadinimas arba modulio specifikacija. Šie klavišai sudaro maišos lentelę, kuri yra modulio specifikacija:

Modulio pavadinimas – Privaloma. Pavadina atitinkamą modulį.

Pasirenkamas GUID – nurodo modulio GUID.

Be to, turite nurodyti vieną iš trijų toliau išvardytų klavišų.

Modulio versija – Minimali leistina modulio versija nurodoma ypatybėje „ModuleVersion“.

Maksimali versija – Apibrėžia aukščiausią leistiną modulio versiją.

Reikalinga versija – Naudodamas „RequiredVersion“ nustato tikslią, būtiną modulio versiją. Su šiuo negalima naudoti kitų versijos raktų.

Dvejetainio modulio arba scenarijaus modulio šakninis modulis (ModuleToProcess) importuojamas naudojant modulio deklaraciją. Klasės, nurodytos įdėtuose moduliuose arba scenarijuose, kurie modulyje yra taško šaltinio, nėra patikimai importuojami. Visos klasės, kurias norite pasiekti vartotojams už modulio ribų, turėtų būti nurodytos šakniniame modulyje.

Štai pavyzdys:

naudojant modulį PSReadline

„naudojant“ pareiškimą surinkimui

Teiginys „using“ taip pat gali būti naudojamas tipams iš anksto įkelti iš .NET rinkinio.

Sintaksė

naudojant surinkimą < .NET-assembly-path >

Taikant šią sintaksę, kai įkeliamas mazgas, .NET tipai iš to rinkinio iš anksto įkeliami į scenarijų prieš jį analizuojant. Dėl to galima sukurti naujas „PowerShell“ klases, kuriose naudojami iš anksto įkelti surinkimo tipai.

Pažvelkite į teiginio „naudojimas“ su „surinkimu“ taikymo pavyzdį:

naudojant surinkimą System.Windows.Forms

Šioje komandoje mes įkėlėme rinkinį ' Sistema.Windows.Formos“ PowerShell naudodami teiginį „using“.

Teiginys „naudojimas“ Hashtable Keys

Maišos lentelės “ yra pritaikomos duomenų struktūros, naudojamos PowerShell įvairiems tikslams, įskaitant konfigūracijos duomenų saugojimą, argumentų teikimą cmdlet ir duomenų saugojimą scenarijuose.

Kriptografinė eilutės maiša Linux Patarimas! “ gaunamas naudojant šį scenarijų:

naudojant vardų erdvę System.Text
naudojant vardų erdvę System.IO [ styga ] $string = 'LinuxHint!'
[ styga ] $algoritmas = 'SHA1'

[ baitas [ ] ] $ stringbaitų = [ Unikodo kodavimas ] ::Unicode.GetBytes ( $string )

[ Srautas ] $memorystream = [ MemoryStream ] ::naujas ( $ stringbaitų )
$hashfromstream = Get-FileHash -InputStream $memorystream `
- Algoritmas $algoritmas
$hashfromstream .Hash.ToString ( )

Aukščiau pateiktas „PowerShell“ kodas pradedamas importuoti vardų sritis, reikalingas failų operacijoms ir kodavimui. Įvesties eilutė ir maišos algoritmas (šiuo atveju ' SHA1 “), tada apibrėžiami. Tada įvesties eilutė užkoduojama naudojant ' Unikodas “, kad sukurtumėte baitų masyvą.

Tada baitų masyvo turinys naudojamas kuriant „ atminties srautas “. Maišos vertė iš atminties srauto apskaičiuojama naudojant pateiktą „SHA1“ algoritmą pagal „ Get-FileHash “ cmdlet. Scenarijus baigiamas spausdinant gautą maišos reikšmę kaip eilutę į išvestį.

Išvestis

Išvada

naudojant ' PowerShell teiginys yra galingas įrankis, skirtas nurodyti vardų sritis, modulius ar mazgus. Jo sintaksė ir paskirtis suteikia standartizuotą ir saugų išteklių tvarkymo metodą, palengvina tinkamą šalinimą ir sumažina kodo dubliavimą.