Používanie príkazu v prostredí PowerShell

Pouzivanie Prikazu V Prostredi Powershell



PowerShell je robustný shell príkazového riadka a skriptovací jazyk, ktorý sa väčšinou používa na ovládanie počítačových systémov a automatizáciu administratívnych prác. Používanie príkazov je jedným z najdôležitejších základov PowerShell. Najmä „ použitím ” zohráva kľúčovú úlohu pri riadení zdrojov a zabezpečení efektívneho vykonávania kódu.

Tento článok preskúma rôzne aspekty príkazu „using“ v prostredí PowerShell vrátane jeho syntaxe, účelu a praktických aplikácií.







Účel vyhlásenia o „používaní“.

Príkaz „using“ vám umožňuje určiť, ktoré menné priestory sa v relácii používajú. Pridaním menných priestorov môžete importovať triedy z modulov skriptov a zostáv a zjednodušiť používanie tried a členov .NET.



Vyhlásenie MUSÍ „používať“.

  • Príkaz „using“ sa musí objaviť pred akýmikoľvek inými príkazmi skriptu alebo modulu. Nemôžu mu predchádzať žiadne nekomentované vyhlásenia vrátane parametrov.
  • V príkaze „using“ nesmú byť prítomné žiadne premenné.
  • Príkaz „using“ by sa nemal zamieňať s modifikátorom rozsahu „using:“ pre premenné. Obe sa líšia svojim účelom a významom.

Syntax príkazu „používanie“.



Syntax pre príkaz „using“ je:





pomocou menného priestoru < .NET-namespace >

Pozrime sa na nasledujúci príklad:



pomocou menného priestoru System.IO

$Bytes = [ Súbor ] ::ReadAllBytes ( 'D:\c sharp\Linuxhint1.txt' )
[ FileInfo ] ::Nový ( 'D:\c sharp\Linuxhint1.txt' )

Vo vyššie uvedenom kóde sme najprv označili menný priestor „System.IO“. Druhý riadok programu, [File]::ReadAllBytes(‘D:c sharpLinuxhint1.txt’), načíta každý bajt z dodaného súboru a umiestni ho do premennej $Bytes. V treťom riadku [FileInfo]::new(‘D:c sharpLinuxhint1.txt’) vytvorí novú inštanciu triedy FileInfo a vráti objekt FileInfo.

Vyhlásenie o „používaní“ pre moduly

Na načítanie tried modulu môžeme použiť aj príkaz „using“.

Syntax

pomocou modulu < názov-modulu >

V tejto syntaxi možno ako hodnotu pre „názov modulu“ použiť „“, úplnú špecifikáciu modulu alebo cestu k súboru modulu.

Ak je „názov-modulu>“ cestou, môžete použiť buď plne kvalifikovanú alebo relatívnu cestu. Keď je v skripte prítomný príkaz „using“, v tomto skripte sa rieši relatívna cesta.

PowerShell hľadá dodaný modul v PSModulePath, keď „“ je názov alebo špecifikácia modulu. Nasledujúce kľúče tvoria hashovaciu tabuľku, ktorá je špecifikáciou modulu:

ModuleName - Požadovaný. Pomenuje príslušný modul.

Voliteľné GUID – určuje GUID modulu.

Okrem toho musíte zadať jeden z troch kľúčov uvedených nižšie.

ModuleVersion – Minimálna povolená verzia modulu je špecifikovaná prostredníctvom vlastnosti „ModuleVersion“.

MaximumVersion – Definuje najvyššiu povolenú verziu modulu.

Požadovaná verzia – Určuje presnú, potrebnú verziu modulu pomocou „RequiredVersion“. Ostatné kľúče verzie s tým nemožno použiť.

Koreňový modul (ModuleToProcess) binárneho modulu alebo modulu skriptu sa importuje deklaráciou modulu „using“. Triedy špecifikované vo vnorených moduloch alebo skriptoch, ktoré sú do modulu s bodkovým zdrojom, nie sú spoľahlivo importované. Všetky triedy, ktoré chcete mať k dispozícii používateľom mimo modulu, by mali byť špecifikované v koreňovom module.

Tu je príklad:

pomocou modulu PSReadline

„použitie“ vyhlásenie pre zhromaždenie

Príkaz „using“ možno použiť aj na predbežné načítanie typov zo zostavy .NET.

Syntax

pomocou montáže < .NET-assembly-path >

V tejto syntaxi, keď sa načíta zostava, typy .NET z tejto zostavy sa vopred nahrajú do skriptu pred tým, ako sa analyzuje. Výsledkom je, že je možné vyvinúť nové triedy PowerShell, ktoré využívajú predinštalované typy zostáv.

Pozrite si príklad použitia príkazu „použitie“ so „zostava“:

pomocou zostavy System.Windows.Forms

V tomto príkaze sme načítali zostavu “ System.Windows.Forms” v prostredí PowerShell pomocou príkazu „using“.

príkaz „using“ pre hashtable Keys

Hash tabuľky ” sú prispôsobiteľné dátové štruktúry používané v PowerShell na rôzne účely vrátane ukladania konfiguračných údajov, poskytovania argumentov cmdlet a ukladania údajov v skriptoch.

Kryptografický hash pre reťazec „ LinuxHint! “ sa získa pomocou nasledujúceho skriptu:

pomocou menného priestoru System.Text
pomocou menného priestoru System.IO [ reťazec ] $string = 'LinuxHint!'
[ reťazec ] $algoritmus = 'SHA1'

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

[ Prúd ] $memorystream = [ MemoryStream ] ::Nový ( $stringbytes )
$hashfromstream = Get-FileHash -InputStream $memorystream `
-Algoritmus $algoritmus
$hashfromstream .Hash.ToString ( )

Vyššie uvedený kód PowerShell začína importovaním priestorov názvov potrebných na operácie so súbormi a kódovanie. Vstupný reťazec a hašovací algoritmus (v tomto prípade „ SHA1 “), sú potom definované. Vstupný reťazec sa potom zakóduje pomocou „ Unicode ” na vytvorenie poľa bajtov.

Obsah bajtového poľa sa potom použije na zostavenie „ pamäťový prúd “. Hodnota hash z toku pamäte sa vypočíta pomocou poskytnutého algoritmu „SHA1“ pomocou „ Get-FileHash cmdlet. Skript končí vytlačením získanej hash hodnoty ako reťazca na výstup.

Výkon

Záver

' použitím “ v PowerShell je výkonný nástroj na špecifikovanie menných priestorov, modulov alebo zostáv. Jeho syntax a účel poskytuje štandardizovaný a bezpečný prístup k manipulácii so zdrojmi, uľahčuje správnu likvidáciu a znižuje duplicitu kódu.