పవర్‌షెల్‌లో ఆటోమేటిక్ వేరియబుల్స్ అంటే ఏమిటి

Pavar Sel Lo Atometik Veriyabuls Ante Emiti



పవర్‌షెల్” ఆటోమేటిక్ వేరియబుల్స్ ” సిస్టమ్ నిర్వహణ, ఆటోమేషన్ మరియు స్క్రిప్టింగ్ కార్యకలాపాలకు అవసరం. ఈ వేరియబుల్స్ పవర్‌షెల్ రన్‌టైమ్ ద్వారా అంతర్నిర్మితంగా ఉంటాయి మరియు స్క్రిప్ట్ లేదా కమాండ్ అమలు సమయంలో నిర్దిష్ట సమాచారాన్ని నిల్వ చేయడానికి మరియు సూచించడానికి ప్లేస్‌హోల్డర్‌లుగా పనిచేస్తాయి. ఈ ఆటోమేటిక్ వేరియబుల్స్‌ని అర్థం చేసుకోవడం మరియు ఉపయోగించడం వల్ల పవర్‌షెల్ స్క్రిప్ట్‌ల సామర్థ్యాన్ని మరియు కార్యాచరణను బాగా పెంచవచ్చు.

పవర్‌షెల్‌లోని “ఆటోమేటిక్ వేరియబుల్స్” భావన, వాటి ప్రాముఖ్యత మరియు వివిధ దృశ్యాలలో వాటిని ఎలా ఉపయోగించవచ్చో అన్వేషించడం ఈ కథనం లక్ష్యం.







పవర్‌షెల్‌లో ఆటోమేటిక్ వేరియబుల్స్ అంటే ఏమిటి?

ప్రారంభించడానికి, '' యొక్క నిర్వచనాన్ని పరిశీలిద్దాం ఆటోమేటిక్ వేరియబుల్స్ ”. ఈ వేరియబుల్స్ ముందే నిర్వచించబడ్డాయి మరియు స్క్రిప్ట్ అమలు సమయంలో PowerShell ద్వారా స్వయంచాలకంగా సృష్టించబడతాయి. ఇవి సిస్టమ్, కమాండ్-లైన్ ఆర్గ్యుమెంట్‌లు, స్క్రిప్ట్-సంబంధిత వివరాలు మరియు మరిన్నింటి గురించి సమాచారాన్ని అందించడంతో పాటు వివిధ ప్రయోజనాలను అందిస్తాయి.



PowerShell అనేక 'ఆటోమేటిక్ వేరియబుల్స్' అందిస్తుంది మరియు వాటిలో ప్రతి ఒక్కటి స్క్రిప్ట్ అమలులో ఒక ప్రత్యేక ప్రయోజనాన్ని అందిస్తాయి. ఈ వేరియబుల్స్ క్రింది విధంగా ఉన్నాయి:



1. $PSVersionTable

పవర్‌షెల్‌లోని ప్రాథమిక ఆటోమేటిక్ వేరియబుల్స్‌లో ఒకటి “ $PSVersionTable ”. ఈ వేరియబుల్ స్క్రిప్ట్ డెవలపర్‌లను పవర్‌షెల్ యొక్క సంస్కరణను ఉపయోగించడాన్ని నిర్ధారించడానికి అనుమతిస్తుంది, ఇది నిర్దిష్ట లక్షణాలు మరియు కార్యాచరణల అనుకూలత మరియు లభ్యతను పరిగణనలోకి తీసుకునేటప్పుడు కీలకమైనది.





కింది లక్షణాలు ఈ వేరియబుల్‌తో అనుబంధించబడ్డాయి:

PS వెర్షన్: PowerShell సంస్కరణ సంఖ్యను అందిస్తుంది.



PSE ఎడిషన్: పవర్‌షెల్ 4 మరియు అంతకు ముందు, అలాగే పూర్తి ఫీచర్ చేసిన విండోస్ వెర్షన్‌లలో పవర్‌షెల్ 5.1 కోసం, ఈ ప్రాపర్టీ 'డెస్క్‌టాప్' విలువను కలిగి ఉంది. ఈ లక్షణం PowerShell 6 మరియు తదుపరి వాటి కోసం కోర్ విలువను కలిగి ఉంది, అలాగే Windows Nano Server లేదా Windows IoT వంటి తక్కువ ఫుట్‌ప్రింట్ ఎడిషన్‌ల కోసం Windows PowerShell 5.1.

GitCommitId: సోర్స్ ఫైల్స్ యొక్క GitHub కమిట్ IDని పొందుతుంది.

మీరు: PowerShell ఉపయోగిస్తున్న కంప్యూటర్ సిస్టమ్ గురించిన సమాచారాన్ని లాగ్ చేస్తుంది.

వేదిక: ఆపరేటింగ్ సిస్టమ్ సపోర్టింగ్ ప్లాట్‌ఫారమ్‌ను అందిస్తుంది. Unix Linux మరియు macOSలో విలువను కలిగి ఉంది. $IsMacOs మరియు $IsLinuxని తనిఖీ చేయండి.

PSC అనుకూల సంస్కరణలు: ప్రస్తుత సంస్కరణకు అనుకూలమైన PowerShell సంస్కరణలు తిరిగి ఇవ్వబడ్డాయి.

PSRemotingProtocolVersion: PowerShell రిమోట్ మేనేజ్‌మెంట్ ప్రోటోకాల్ కోసం సంస్కరణ సంఖ్యను అందిస్తుంది.

సీరియలైజేషన్ వెర్షన్: సీరియలైజేషన్ పద్ధతి యొక్క సంస్కరణను అందిస్తుంది.

WSManStackVersion: WS-మేనేజ్‌మెంట్ స్టాక్ వెర్షన్ నంబర్‌ను అందిస్తుంది.

$ PSVersionTable

2. $Args

పవర్‌షెల్‌లో మరొక ముఖ్యమైన ఆటోమేటిక్ వేరియబుల్ “ $Args ”, ఇది స్క్రిప్ట్ లేదా ఫంక్షన్‌కు పంపబడిన కమాండ్-లైన్ ఆర్గ్యుమెంట్‌ల శ్రేణిని కలిగి ఉంటుంది. ఈ వేరియబుల్ డెవలపర్‌లకు అందించిన ఆర్గ్యుమెంట్‌లను వారి స్క్రిప్ట్‌లలో డైనమిక్‌గా ప్రాసెస్ చేయడానికి మరియు మార్చడానికి అధికారం ఇస్తుంది.

ఫంక్షన్‌ను నిర్వచించేటప్పుడు, మీరు పారామితులను ప్రకటించడానికి “పారమ్” కీవర్డ్‌ని ఉపయోగించవచ్చు లేదా మీరు ఫంక్షన్ పేరును అనుసరించి కుండలీకరణాల్లో కామాతో వేరు చేయబడిన పారామితుల జాబితాను జోడించవచ్చు. ఈవెంట్ చర్య యొక్క “$Args” వేరియబుల్ నిర్వహించబడుతున్న ఈవెంట్ యొక్క ఈవెంట్ పారామితుల కోసం ప్లేస్‌హోల్డర్‌లుగా పనిచేసే వస్తువులను నిల్వ చేస్తుంది:

ప్రతి ( $arg లో $Args ) {
వ్రాయండి-హోస్ట్ $arg
}

3. $MyInvocation

ది ' $MyInvocation ” వేరియబుల్ ప్రస్తుతం అమలవుతున్న స్క్రిప్ట్ లేదా ప్రొసీజర్ గురించి కీలకమైన నేపథ్య డేటాను అందిస్తుంది. ఇది స్క్రిప్ట్ పేరు, స్క్రిప్ట్ లైన్ నంబర్ మరియు స్క్రిప్ట్ ఇంటరాక్టివ్‌గా లేదా నాన్-ఇంటరాక్టివ్‌గా అమలు చేయబడుతుందా అనే లక్షణాలను అందిస్తుంది. ఈ లక్షణాలు స్క్రిప్ట్ డెవలపర్‌లు బ్రాంచ్ లాజిక్‌ను అమలు చేయడంలో, ఎర్రర్-హ్యాండ్లింగ్ మెకానిజమ్‌లను నిర్వచించడంలో లేదా అర్థవంతమైన లాగింగ్ మరియు రిపోర్టింగ్‌ను రూపొందించడంలో సహాయపడతాయి:

$ నా ఆహ్వానం

4. $ఎర్రర్

అంతగా తెలియని ఆటోమేటిక్ వేరియబుల్ ' $ఎర్రర్ ”, స్క్రిప్ట్ అమలు సమయంలో సంభవించే ఏవైనా దోష సందేశాలు లేదా మినహాయింపులను సమర్థవంతంగా క్యాప్చర్ చేస్తుంది. వివరణాత్మక విశ్లేషణ మరియు డీబగ్గింగ్‌ని ప్రారంభించడం ద్వారా మినహాయింపు సందేశాలు, స్టాక్ ట్రేస్‌లు లేదా ఎర్రర్ కోడ్‌లు వంటి నిర్దిష్ట ఎర్రర్ వివరాలను తిరిగి పొందడానికి “$Error”ని యాక్సెస్ చేయవచ్చు.

శ్రేణిలోని మొదటి ఎర్రర్ ఆబ్జెక్ట్ ద్వారా అత్యంత ఇటీవలి లోపం సూచించబడుతుంది “ $Error[0] '. '$Error' శ్రేణికి లోపాలను జోడించకుండా ఆపడానికి మీరు 'విస్మరించు' విలువతో ErrorAction సాధారణ ఎంపికను ఉపయోగించవచ్చు.

మేము ఖచ్చితమైన ఆదేశాన్ని టైప్ చేసాము అనుకుందాం:

ip [ onfig

ఇప్పుడు, మనం “$Error” cmdletని నమోదు చేస్తే:

$ లోపం

5. $PSCmdlet

PowerShell మాడ్యూళ్ళతో పని చేస్తున్నప్పుడు, ఆటోమేటిక్ వేరియబుల్ ' $PSCmdlet ” అమలులోకి వస్తుంది. ఈ వేరియబుల్ దాని లక్షణాలు మరియు పద్ధతులతో ప్రత్యక్ష పరస్పర చర్యను సులభతరం చేయడం ద్వారా cmdlet లేదా ఫంక్షన్‌ని అమలు చేయడం యొక్క ప్రస్తుత సందర్భానికి ప్రాప్యతను అందిస్తుంది.

“$PSCmdlet”ని ఉపయోగించి, అధునాతన స్క్రిప్ట్ డెవలపర్‌లు అంతర్నిర్మిత కార్యాచరణలను పొడిగించడం లేదా సవరించడం ద్వారా మాడ్యూళ్ల ప్రవర్తనను చక్కగా ట్యూన్ చేయవచ్చు మరియు మెరుగుపరచవచ్చు. మీరు ఉపయోగ ప్రమాణాలకు ప్రతిస్పందనగా మీ cmdlet లేదా ఫంక్షన్ కోడ్‌లో వస్తువు యొక్క లక్షణాలు మరియు పద్ధతులను ఉపయోగించవచ్చు:

ఫంక్షన్ typeof-psCmdlet {
[ cmdlet బైండింగ్ ( ) ] పరమం ( )
ప్రతిధ్వని 'రకం` $psCmdlet ఉంది $($psCmdlet.GetType() .పూర్తి పేరు)'
}

typeof-psCmdlet

పైన పేర్కొన్న వేరియబుల్స్‌తో పాటు, పవర్‌షెల్ $HOME, $PROFILE, $PWD మరియు మరెన్నో ఆటోమేటిక్ వేరియబుల్స్‌ను కలిగి ఉంటుంది, ఇవి ఇన్‌పుట్ యాక్సెస్ చేయడం, ట్రాకింగ్ ఎర్రర్‌లు, ఎన్విరాన్‌మెంట్ సమాచారాన్ని తిరిగి పొందడం, పారామితులను నిర్వహించడం మరియు మరెన్నో వంటి విభిన్న ప్రయోజనాలను అందిస్తాయి. ఈ వేరియబుల్స్ క్రింద ఇవ్వబడ్డాయి:

ఆటోమేటిక్ వేరియబుల్స్ వివరణ
$$ పవర్‌షెల్ సెషన్ అందుకున్న మునుపటి లైన్‌లోని చివరి టోకెన్‌ను కలిగి ఉంటుంది.
$? చివరి కమాండ్ యొక్క అమలు స్థితిని నిల్వ చేస్తుంది.
$^ సెషన్ అందుకున్న చివరి పంక్తి యొక్క మొదటి టోకెన్‌ను కలిగి ఉంటుంది.
$_ పైప్‌లైన్‌లోని ప్రస్తుత వస్తువును సూచిస్తుంది.
$ConsoleFileName సెషన్‌లో ఇటీవల ఉపయోగించిన కన్సోల్ ఫైల్ (.psc1) పాత్‌ను కలిగి ఉంది.
$EnabledExperimentalFeatures ప్రారంభించబడిన ప్రయోగాత్మక లక్షణాల జాబితాను కలిగి ఉంది.
$ఈవెంట్ ప్రాసెస్ చేయబడుతున్న ఈవెంట్‌ను సూచించే “PSEventArgs” ఆబ్జెక్ట్‌ని కలిగి ఉంది.
$EventArgs ప్రాసెస్ చేయబడిన ఈవెంట్ యొక్క మొదటి ఈవెంట్ ఆర్గ్యుమెంట్‌ను కలిగి ఉంది.
$EventSubscriber ప్రాసెస్ చేయబడుతున్న ఈవెంట్ యొక్క ఈవెంట్ సబ్‌స్క్రైబర్‌ని సూచిస్తుంది.
$ExecutionContext PowerShell హోస్ట్ యొక్క అమలు సందర్భాన్ని సూచిస్తుంది.
$తప్పుడు బూలియన్ విలువ 'ఫాల్స్'ని సూచిస్తుంది.
$foreach 'ప్రతి కోసం' లూప్ యొక్క ఎన్యుమరేటర్‌ను కలిగి ఉంటుంది.
$హోమ్ వినియోగదారు హోమ్ డైరెక్టరీ యొక్క పూర్తి పాత్‌ను కలిగి ఉంటుంది.
$హోస్ట్ PowerShell కోసం ప్రస్తుత హోస్ట్ అప్లికేషన్‌ను సూచిస్తుంది.
$ఇన్‌పుట్ ఫంక్షన్ లేదా స్క్రిప్ట్‌కి పంపబడిన అన్ని ఇన్‌పుట్‌ల కోసం ఎన్యూమరేటర్‌గా పనిచేస్తుంది.
$IsCoreCLR .NET కోర్ రన్‌టైమ్ (CoreCLR)లో సెషన్ నడుస్తోందో లేదో సూచిస్తుంది.
$IsLinux సెషన్ Linux ఆపరేటింగ్ సిస్టమ్‌లో నడుస్తోందో లేదో సూచిస్తుంది.
$IsMacOS సెషన్ MacOS ఆపరేటింగ్ సిస్టమ్‌లో నడుస్తోందో లేదో సూచిస్తుంది.
$IsWindows విండోస్ ఆపరేటింగ్ సిస్టమ్‌లో సెషన్ రన్ అవుతుందో లేదో గుర్తిస్తుంది.
$LASTEXITCODE చివరి స్థానిక ప్రోగ్రామ్ లేదా PowerShell స్క్రిప్ట్ యొక్క నిష్క్రమణ కోడ్‌ను నిల్వ చేస్తుంది.
$మ్యాచ్‌లు “-మ్యాచ్” మరియు “-నాట్‌మ్యాచ్” ఆపరేటర్‌ల నుండి సరిపోలిన స్ట్రింగ్‌లను కలిగి ఉంటుంది.
$NestedPromptLevel సమూహ ఆదేశాలు లేదా డీబగ్గింగ్ దృశ్యాలలో ప్రస్తుత ప్రాంప్ట్ స్థాయిని ట్రాక్ చేస్తుంది.
$శూన్య శూన్య లేదా ఖాళీ విలువను సూచిస్తుంది.
$PID PowerShell సెషన్ యొక్క ప్రాసెస్ ఐడెంటిఫైయర్ (PID)ని కలిగి ఉంటుంది.
$PROFILE ప్రస్తుత వినియోగదారు మరియు హోస్ట్ అప్లికేషన్ కోసం PowerShell ప్రొఫైల్ యొక్క పూర్తి పాత్‌ను కలిగి ఉంటుంది.
$PSBoundParameters స్క్రిప్ట్ లేదా ఫంక్షన్‌కు పంపబడిన పారామీటర్‌ల నిఘంటువు మరియు వాటి విలువలను కలిగి ఉంటుంది.
$PSCommandPath అమలు చేయబడుతున్న స్క్రిప్ట్ యొక్క పూర్తి పాత్ మరియు ఫైల్ పేరును కలిగి ఉంటుంది.
$PSCulture ప్రస్తుత PowerShell రన్ స్పేస్ సంస్కృతిని ప్రతిబింబిస్తుంది.
$PSEdition PowerShell ఎడిషన్ సమాచారాన్ని కలిగి ఉంది.
$PSHOME PowerShell ఇన్‌స్టాలేషన్ డైరెక్టరీ యొక్క పూర్తి పాత్‌ను కలిగి ఉంది.
$PSItem అదే $_, పైప్‌లైన్‌లోని ప్రస్తుత వస్తువును సూచిస్తుంది.
$PSScriptRoot అమలు చేస్తున్న స్క్రిప్ట్ యొక్క పేరెంట్ డైరెక్టరీ యొక్క పూర్తి పాత్‌ను కలిగి ఉంటుంది.
$PSSenderInfo PSSessionను ప్రారంభించిన వినియోగదారు గురించిన సమాచారాన్ని కలిగి ఉంటుంది.
$PSUICulture ఆపరేటింగ్ సిస్టమ్‌లో కాన్ఫిగర్ చేయబడిన వినియోగదారు ఇంటర్‌ఫేస్ (UI) సంస్కృతిని ప్రతిబింబిస్తుంది.
$PWD PowerShell సెషన్ యొక్క ప్రస్తుత వర్కింగ్ డైరెక్టరీని సూచిస్తుంది.
$పంపినవారు ఈవెంట్‌ను రూపొందించిన వస్తువును కలిగి ఉంటుంది.
$ShellId ప్రస్తుత షెల్ యొక్క ఐడెంటిఫైయర్‌ను కలిగి ఉంటుంది.
$StackTrace అత్యంత ఇటీవలి లోపం కోసం స్టాక్ ట్రేస్‌ను నిల్వ చేస్తుంది.
$స్విచ్ 'స్విచ్' స్టేట్‌మెంట్ యొక్క ఎన్యుమరేటర్‌ను కలిగి ఉంటుంది.
$ఇది తరగతులను విస్తరించే స్క్రిప్ట్ బ్లాక్‌లలోని తరగతి ఉదాహరణను సూచిస్తుంది.
$ నిజం బూలియన్ విలువ 'ట్రూ'ని సూచిస్తుంది.

పవర్‌షెల్‌లోని అన్ని “ఆటోమేటిక్ వేరియబుల్స్” కింది ఆదేశాన్ని అమలు చేయడం ద్వారా కనుగొనవచ్చు:

పొందండి-వేరియబుల్

ముగింపు

' ఆటోమేటిక్ వేరియబుల్స్ ” పవర్‌షెల్ స్క్రిప్టింగ్ యొక్క వెన్నెముకను ఏర్పరుస్తుంది, డెవలపర్‌లు సిస్టమ్, కమాండ్-లైన్ ఆర్గ్యుమెంట్‌లు, స్క్రిప్ట్ అమలు సందర్భం మరియు మరిన్నింటి గురించి సమాచారాన్ని పొందేందుకు అనుమతిస్తుంది. “$PSVersionTable”, “$Args”, “$MyInvocation”, “$Error” మరియు ఇతర ఆటోమేటిక్ వేరియబుల్‌లను ఉపయోగించడం ద్వారా, PowerShell స్క్రిప్ట్ డెవలపర్‌లు స్ట్రీమ్‌లైన్డ్ సిస్టమ్ అడ్మినిస్ట్రేషన్ ప్రాక్టీస్‌లను సృష్టించగలరు.