Kas ir automātiskie mainīgie programmā PowerShell

Kas Ir Automatiskie Mainigie Programma Powershell



PowerShell “ Automātiskie mainīgie ” ir būtiski sistēmas pārvaldībai, automatizācijai un skriptu darbībām. Šie mainīgie ir iebūvēti PowerShell izpildlaikā un kalpo kā vietturi, lai saglabātu un atsauktos uz konkrētu informāciju skripta vai komandas izpildes laikā. Šo automātisko mainīgo efektīva izpratne un izmantošana var ievērojami uzlabot PowerShell skriptu efektivitāti un funkcionalitāti.

Šī raksta mērķis ir izpētīt jēdzienu “Automātiskie mainīgie” programmā PowerShell, to nozīmi un to, kā tos izmantot dažādos scenārijos.







Kas ir automātiskie mainīgie programmā PowerShell?

Lai sāktu, iedziļināsimies definīcijā ' Automātiskie mainīgie ”. Šie mainīgie ir iepriekš definēti, un tos automātiski izveido PowerShell skripta izpildes laikā. Tie kalpo dažādiem mērķiem, tostarp sniedzot informāciju par sistēmu, komandrindas argumentus, ar skriptu saistītu informāciju un daudz ko citu.



PowerShell piedāvā vairākus “automātiskos mainīgos”, un katrs no tiem kalpo noteiktam mērķim skripta izpildē. Šie mainīgie ir šādi:



1. $PSVersionTable

Viens no galvenajiem automātiskiem PowerShell mainīgajiem ir ' $PSVersionTable ”. Šis mainīgais ļauj skriptu izstrādātājiem noskaidrot izmantoto PowerShell versiju, kas var būt ļoti svarīgi, apsverot noteiktu līdzekļu un funkcionalitātes saderību un pieejamību.





Ar šo mainīgo ir saistītas šādas īpašības:

PSVversija: Atgriež PowerShell versijas numuru.



PSEizdevums: PowerShell 4 un vecākām versijām, kā arī PowerShell 5.1 pilnfunkciju Windows versijās šim rekvizītam ir vērtība “Desktop”. Šim raksturlielumam ir Core vērtība PowerShell 6 un jaunākām versijām, kā arī Windows PowerShell 5.1 zema apjoma izdevumiem, piemēram, Windows Nano Server vai Windows IoT.

GitCommitId: Ienes avota failu GitHub apstiprināšanas ID.

TU: Reģistrē informāciju par datorsistēmu, ko izmanto PowerShell.

Platforma: Atgriež operētājsistēmas atbalsta platformu. Unix ir vērtība operētājsistēmās Linux un macOS. Pārbaudiet $IsMacOs un $IsLinux.

PSCompatibleVersions: Tiek atgrieztas PowerShell versijas, kas ir saderīgas ar pašreizējo versiju.

PSRemotingProtocolVersion: Atgriež PowerShell attālās pārvaldības protokola versijas numuru.

Serializācijas versija: Atgriež serializācijas metodes versiju.

WSManStackVersion: Atgriež WS-Management steka versijas numuru.

$ PSVversionTable

2. $Args

Vēl viens būtisks automātiskais mainīgais programmā PowerShell ir “ $Args ”, kas satur komandrindas argumentu masīvu, kas tiek nodots skriptam vai funkcijai. Šis mainīgais dod iespēju izstrādātājiem dinamiski apstrādāt un manipulēt ar sniegtajiem argumentiem savos skriptos.

Definējot funkciju, varat izmantot atslēgvārdu “param”, lai deklarētu parametrus, vai arī iekavās aiz funkcijas nosaukuma varat pievienot ar komatu atdalītu parametru sarakstu. Notikuma darbības mainīgais “$Args” saglabā objektus, kas kalpo kā vietturi apstrādājamā notikuma notikumu parametriem:

katram ( $arg iekšā $Args ) {
Rakstīšanas saimniekdators $arg
}

3. $MyInvocation

' $MyInvocation ” mainīgais sniedz svarīgus fona datus par skriptu vai procedūru, kas pašlaik darbojas. Tas piedāvā tādus rekvizītus kā skripta nosaukums, skripta rindas numurs un tas, vai skripts tiek palaists interaktīvi vai neinteraktīvi. Šie rekvizīti palīdz skriptu izstrādātājiem ieviest sazarošanas loģiku, definēt kļūdu apstrādes mehānismus vai ģenerēt jēgpilnu reģistrēšanu un atskaites:

$ MyInvocation

4. $Error

Mazāk zināms automātiskais mainīgais ' $Kļūda ”, efektīvi tver visus kļūdu ziņojumus vai izņēmumus, kas rodas skripta izpildes laikā. “$Error” var piekļūt, lai izgūtu konkrētu kļūdu informāciju, piemēram, izņēmuma ziņojumus, steka izsekošanas vai kļūdu kodus, nodrošinot detalizētu analīzi un atkļūdošanu.

Jaunāko kļūdu attēlo pirmais kļūdas objekts masīvā “ $Error[0] “. Varat izmantot ErrorAction kopējo opciju ar vērtību “Ignore”, lai novērstu kļūdu pievienošanu masīvam “$Error”.

Pieņemsim, ka mēs ierakstījām precīzu komandu:

ip [ onfig

Tagad, ja ievadām cmdlet “$ Error”:

$ Kļūda

5. $PSCmdlet

Strādājot ar PowerShell moduļiem, automātiskais mainīgais ' $PSCmdlet ” stājas spēkā. Šis mainīgais nodrošina piekļuvi pašreizējam izsauktās cmdlet vai funkcijas gadījumam, atvieglojot tiešu mijiedarbību ar tā īpašībām un metodēm.

Izmantojot “$PSCmdlet”, uzlaboti skriptu izstrādātāji var precīzi noregulēt un uzlabot moduļu darbību, paplašinot vai modificējot iebūvētās funkcijas. Varat izmantot objekta atribūtus un metodes savā cmdlet vai funkcijas kodā, reaģējot uz lietošanas kritērijiem:

funkciju typeof-psCmdlet {
[ cmdlet Binding ( ) ] param ( )
atbalss 'tips'. $psCmdlet ir $($psCmdlet.GetType() .Pilnais vārds)'
}

typeof-psCmdlet

Papildus iepriekšminētajiem mainīgajiem, PowerShell ietver automātiskos mainīgos, piemēram, $HOME, $PROFILE, $PWD un daudz ko citu, kas kalpo dažādiem mērķiem, piemēram, piekļuvei ievadei, izsekošanas kļūdām, vides informācijas izgūšanai, parametru pārvaldīšanai un daudz ko citu. Šie mainīgie ir norādīti tālāk:

Automātiskie mainīgie Apraksts
$$ Satur pēdējo pilnvaru iepriekšējā rindā, ko saņēma PowerShell sesija.
$? Saglabā pēdējās komandas izpildes statusu.
$^ Satur sesijā saņemtās pēdējās rindas pirmo marķieri.
$_ Apzīmē pašreizējo objektu cauruļvadā.
$ConsoleFileName Satur sesijā nesen izmantotā konsoles faila (.psc1) ceļu.
$EnabledExperimentalFeatures Satur iespējoto eksperimentālo funkciju sarakstu.
$Event Satur objektu “PSEventArgs”, kas attēlo apstrādājamo notikumu.
$EventArgs Ietver apstrādājamā notikuma pirmo notikuma argumentu.
$EventSubscriber Apzīmē apstrādājamā notikuma notikuma abonentu.
$ExecutionContext Atspoguļo PowerShell resursdatora izpildes kontekstu.
$false Apzīmē Būla vērtību “False”.
$foreach Ietver cilpas “katram” skaitītāju.
$HOME Ietver pilnu lietotāja mājas direktorija ceļu.
$Host Apzīmē pašreizējo PowerShell resursdatora lietojumprogrammu.
$ievade Kalpo kā skaitītājs visai funkcijai vai skriptam nodotajai ievadei.
$IsCoreCLR Norāda, vai sesija darbojas .NET Core Runtime (CoreCLR).
$IsLinux Norāda, vai sesija darbojas operētājsistēmā Linux.
$IsMacOS Norāda, vai sesija darbojas MacOS operētājsistēmā.
$IsWindows Identificē, vai sesija darbojas operētājsistēmā Windows.
LASTEXITCODE $ Saglabā pēdējās vietējās programmas vai PowerShell skripta izejas kodu.
$ Matches Satur saskaņotas virknes no operatoriem “-match” un “-notmatch”.
$NestedPromptLevel Izseko pašreizējo uzvednes līmeni ligzdotajās komandās vai atkļūdošanas scenārijos.
$null Apzīmē nulles vai tukšu vērtību.
$PID Ietver PowerShell sesijas procesa identifikatoru (PID).
$PROFILS Ietver pilnu PowerShell profila ceļu pašreizējam lietotājam un resursdatora lietojumprogrammai.
$PSBoundParameters Saglabā skriptam vai funkcijai nodoto parametru un to vērtību vārdnīcu.
$PSCommandPath Satur pilnu izpildāmā skripta ceļu un faila nosaukumu.
$PSKultūra Atspoguļo pašreizējās PowerShell darbības vietas kultūru.
$PSEizdevums Ietver informāciju par PowerShell izdevumu.
$PSHOME Ietver pilnu PowerShell instalācijas direktorija ceļu.
$PSItem Tāpat kā $_, apzīmē pašreizējo objektu konveijerā.
$PSScriptRoot Ietver pilnu izpildes skripta vecākdirektorija ceļu.
$PSSenderInfo Satur informāciju par lietotāju, kurš uzsāka PSSsessiju.
$PSUICulture Atspoguļo operētājsistēmā konfigurēto lietotāja interfeisa (UI) kultūru.
$PWD Apzīmē pašreizējo PowerShell sesijas darba direktoriju.
$Sūtītājs Ietver objektu, kas ģenerēja notikumu.
$ShellId Satur pašreizējās čaulas identifikatoru.
$StackTrace Saglabā jaunākās kļūdas steka izsekošanu.
$slēdzis Satur priekšraksta “Switch” skaitītāju.
$this Attiecas uz klases gadījumu skriptu blokos, kas paplašina klases.
$true Apzīmē Būla vērtību “True”.

Visus PowerShell “automātiskos mainīgos” var atrast, izpildot tālāk norādīto komandu:

Get-Variable

Secinājums

' Automātiskie mainīgie ” veido PowerShell skriptēšanas mugurkaulu, ļaujot izstrādātājiem iegūt informāciju par sistēmu, komandrindas argumentiem, skripta izpildes kontekstu un daudz ko citu. Izmantojot automātiskos mainīgos, piemēram, “$PSVersionTable”, “$Args”, “$MyInvocation”, “$Error” un citus, PowerShell skriptu izstrādātāji var izveidot racionalizētas sistēmas administrēšanas metodes.