„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 „
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 „
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.Textnaudojant 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ą.