Kas yra automatiniai kintamieji „PowerShell“.

Kas Yra Automatiniai Kintamieji Powershell



„PowerShell“ Automatiniai kintamieji “ yra būtini sistemos valdymo, automatizavimo ir scenarijų kūrimo veiklai. Šiuos kintamuosius įtaiso PowerShell vykdymo laikas ir jie naudojami kaip vietos žymekliai, skirti saugoti ir nurodyti konkrečią informaciją vykdant scenarijų arba komandą. Veiksmingas šių automatinių kintamųjų supratimas ir naudojimas gali labai padidinti „PowerShell“ scenarijų efektyvumą ir funkcionalumą.

Šiuo straipsniu siekiama ištirti „PowerShell“ automatinių kintamųjų sampratą, jų reikšmę ir tai, kaip juos galima panaudoti įvairiuose scenarijuose.







Kas yra „PowerShell“ automatiniai kintamieji?

Norėdami pradėti, įsigilinkime į „“ apibrėžimą Automatiniai kintamieji “. Šie kintamieji yra iš anksto nustatyti ir automatiškai sukuriami PowerShell scenarijaus vykdymo metu. Jie naudojami įvairiems tikslams, įskaitant informacijos apie sistemą teikimą, komandinės eilutės argumentus, su scenarijumi susijusią informaciją ir daug daugiau.



„PowerShell“ siūlo keletą „automatinių kintamųjų“ ir kiekvienas iš jų tarnauja tam tikram scenarijaus vykdymo tikslui. Šie kintamieji yra tokie:



1. $PSVersionTable

Vienas iš pagrindinių automatinių „PowerShell“ kintamųjų yra „ $PSVersionTable “. Šis kintamasis leidžia scenarijų kūrėjams išsiaiškinti, kokia PowerShell versija naudojama, o tai gali būti labai svarbu svarstant tam tikrų funkcijų ir funkcijų suderinamumą ir prieinamumą.





Su šiuo kintamuoju yra susietos šios savybės:

PSVversija: Grąžina PowerShell versijos numerį.



PSE leidimas: „PowerShell 4“ ir senesnėse versijose, taip pat „PowerShell 5.1“ visose „Windows“ versijose šios ypatybės reikšmė yra „Desktop“. Šios charakteristikos vertė yra Core, skirta „PowerShell 6“ ir naujesnėms versijoms, taip pat „Windows PowerShell 5.1“, skirta mažai aprėpti leidimams, pvz., „Windows Nano Server“ arba „Windows IoT“.

GitCommitId: Gauna šaltinio failų „GitHub“ įsipareigojimo ID.

TU: Registruoja informaciją apie kompiuterio sistemą, kurią naudoja PowerShell.

Platforma: Grąžina operacinės sistemos palaikymo platformą. „Unix“ turi vertę „Linux“ ir „MacOS“. Patikrinkite $IsMacOs ir $IsLinux.

PSCompatibleVersions: Grąžinamos su dabartine versija suderinamos „PowerShell“ versijos.

PSRemotingProtocolVersion: Grąžina PowerShell nuotolinio valdymo protokolo versijos numerį.

Serializacijos versija: Grąžina serializavimo metodo versiją.

WSManStackVersion: Grąžina WS-Management dėklo versijos numerį.

$ PSVersionTable

2. $Args

Kitas svarbus automatinis „PowerShell“ kintamasis yra „ $Args “, kuriame yra komandinės eilutės argumentų, perduodamų scenarijui arba funkcijai, masyvas. Šis kintamasis suteikia kūrėjams galimybę dinamiškai apdoroti ir manipuliuoti pateiktais argumentais savo scenarijuose.

Apibrėždami funkciją, parametrams deklaruoti galite naudoti raktinį žodį „param“ arba skliausteliuose po funkcijos pavadinimo galite pridėti kableliais atskirtą parametrų sąrašą. Įvykio veiksmo kintamajame „$Args“ saugomi objektai, kurie naudojami kaip apdorojamo įvykio įvykio parametrų rezervuotos vietos:

kiekvienam ( $arg in $Args ) {
Rašymo priegloba $arg
}

3. $MyInvocation

$MyInvocation “ kintamasis suteikia esminius foninius duomenis apie šiuo metu vykdomą scenarijų arba procedūrą. Ji siūlo tokias ypatybes kaip scenarijaus pavadinimas, scenarijaus eilutės numeris ir tai, ar scenarijus vykdomas interaktyviai, ar neinteraktyviai. Šios ypatybės padeda scenarijų kūrėjams įgyvendinti šakojimo logiką, apibrėžti klaidų valdymo mechanizmus arba generuoti prasmingą registravimą ir ataskaitų teikimą:

$ MyInvocation

4. $Error

Mažiau žinomas automatinis kintamasis “ $Klaida “, efektyviai užfiksuoja visus klaidų pranešimus ar išimtis, atsirandančias vykdant scenarijų. „$Error“ galima pasiekti norint gauti konkrečią klaidų informaciją, pvz., išimčių pranešimus, krūvos pėdsakus arba klaidų kodus, kad būtų galima atlikti išsamią analizę ir derinti.

Paskutinę klaidą žymi pirmasis klaidos objektas masyve ' $Error[0] “. Galite naudoti bendrąją ErrorAction parinktį su reikšme „Ignore“, kad klaidos nebūtų įtrauktos į „$Error“ masyvą.

Tarkime, kad įvedėme tikslią komandą:

ip [ onfig

Dabar, jei įvesime cmdlet „$ Error“:

$ Klaida

5. $PSCmdlet

Kai dirbate su PowerShell moduliais, automatinis kintamasis ' $PSCmdlet “ įsigalioja. Šis kintamasis suteikia prieigą prie dabartinio iškviečiamo cmdlet arba funkcijos egzemplioriaus, palengvindamas tiesioginę sąveiką su jo savybėmis ir metodais.

Naudodami „$PSCmdlet“, pažangūs scenarijų kūrėjai gali tiksliai sureguliuoti ir pagerinti modulių veikimą išplėsdami arba modifikuodami integruotas funkcijas. Galite naudoti objekto atributus ir metodus savo cmdlet arba funkcijos kode, atsižvelgdami į naudojimo kriterijus:

funkcija typeof-psCmdlet {
[ cmdletBinding ( ) ] param ( )
aidas 'tipas ' $psCmdlet yra $($psCmdlet.GetType() .Pilnas vardas)'
}

typeof-psCmdlet

Be pirmiau minėtų kintamųjų, „PowerShell“ apima automatinius kintamuosius, tokius kaip $HOME, $PROFILE, $PWD ir daug daugiau, kurie naudojami įvairiems tikslams, pavyzdžiui, prieigai prie įvesties, sekimo klaidų, aplinkos informacijos gavimo, parametrų valdymo ir daug daugiau. Šie kintamieji išvardyti toliau:

Automatiniai kintamieji apibūdinimas
$$ Laiko paskutinį prieigos raktą ankstesnėje eilutėje, gautą PowerShell seanso.
$? Išsaugo paskutinės komandos vykdymo būseną.
$^ Yra pirmasis paskutinės seanso gautos eilutės prieigos raktas.
$_ Atstovauja esamą objektą dujotiekyje.
$ConsoleFileName Yra konsolės failo (.psc1) kelias, kuris buvo neseniai naudotas seanso metu.
$EnabledExperimentalFeatures Pateikiamas įgalintų eksperimentinių funkcijų sąrašas.
$Įvykis Yra „PSEventArgs“ objektas, vaizduojantis apdorojamą įvykį.
$EventArgs Jame yra pirmasis apdorojamo įvykio įvykio argumentas.
$EventSubscriber Atstovauja apdorojamo įvykio prenumeratorių.
$ExecutionContext Atstoja „PowerShell“ pagrindinio kompiuterio vykdymo kontekstą.
$false Reiškia Būlio reikšmę „False“.
$foreach Jame yra „kiekvienam“ ciklo skaitiklis.
$HOME Jame yra visas vartotojo namų katalogo kelias.
$Host Atstovauja dabartinei „PowerShell“ prieglobos programai.
$ įvestis Naudojamas kaip visų įvesčių, perduodamų funkcijai ar scenarijui, skaitiklis.
$IsCoreCLR Nurodo, ar seansas vykdomas naudojant .NET Core Runtime (CoreCLR).
$IsLinux Nurodo, ar sesija vykdoma Linux operacinėje sistemoje.
$IsMacOS Nurodo, ar sesija vykdoma MacOS operacinėje sistemoje.
$IsWindows Nurodo, ar seansas vykdomas „Windows“ operacinėje sistemoje.
$LASTEXITCODE Saugo paskutinės vietinės programos arba PowerShell scenarijaus išėjimo kodą.
$ Matches Sudėtyje yra suderintų eilučių iš operatorių „-match“ ir „-notmatch“.
$NestedPromptLevel Stebi esamą raginimo lygį įdėtose komandose arba derinimo scenarijuose.
$null Nurodo nulinę arba tuščią reikšmę.
$PID Jame yra PowerShell seanso proceso identifikatorius (PID).
$PROFILIS Jame yra visas dabartinio vartotojo ir pagrindinio kompiuterio programos „PowerShell“ profilio kelias.
$PSBoundParameters Saugo scenarijui ar funkcijai perduodamų parametrų ir jų reikšmių žodyną.
$PSCommandPath Jame yra visas vykdomo scenarijaus kelias ir failo pavadinimas.
$PSCulture Atspindi dabartinės „PowerShell“ veikimo erdvės kultūrą.
$PSEdition Yra PowerShell leidimo informacija.
$PSHOME Jame yra visas „PowerShell“ diegimo katalogo kelias.
$PSItem Tas pats kaip $_, reiškia dabartinį objektą konvejeryje.
$PSScriptRoot Jame yra visas vykdomojo scenarijaus pirminio katalogo kelias.
$PSSenderInfo Pateikiama informacija apie vartotoją, kuris pradėjo PSS sesiją.
$PSUICulture Atspindi vartotojo sąsajos (UI) kultūrą, sukonfigūruotą operacinėje sistemoje.
$ PWD Nurodo dabartinį PowerShell seanso darbo katalogą.
$Siuntėjas Apima objektą, kuris sugeneravo įvykį.
$ShellId Jame yra dabartinio apvalkalo identifikatorius.
$StackTrace Išsaugo naujausios klaidos dėklo pėdsaką.
$jungiklis Jame yra teiginio „Perjungti“ skaitiklis.
$tai Nurodo klasės egzempliorių scenarijų blokuose, kurie praplečia klases.
$tiesa Reiškia Būlio reikšmę „True“.

Visus „automatinius kintamuosius“ programoje „PowerShell“ galima rasti vykdant toliau pateiktą komandą:

Gauti kintamąjį

Išvada

Automatiniai kintamieji “ sudaro PowerShell scenarijų pagrindą, leidžiantį kūrėjams gauti informacijos apie sistemą, komandinės eilutės argumentus, scenarijaus vykdymo kontekstą ir kt. Naudodami automatinius kintamuosius, tokius kaip „$PSVersionTable“, „$Args“, „$MyInvocation“, „$Error“ ir kitus, „PowerShell“ scenarijų kūrėjai gali sukurti supaprastintą sistemos administravimo praktiką.