ПоверСхелл-ов „ Аутоматске варијабле ” су од суштинског значаја за управљање системом, аутоматизацију и активности скриптовања. Ове варијабле су уграђене у ПоверСхелл рунтиме и служе као чувари места за складиштење и упућивање на специфичне информације током извршавања скрипте или команде. Разумевање и ефикасно коришћење ових аутоматских променљивих може у великој мери побољшати ефикасност и функционалност ПоверСхелл скрипти.
Овај чланак има за циљ да истражи концепт „аутоматских променљивих“ у ПоверСхелл-у, њихов значај и како се оне могу искористити у различитим сценаријима.
Шта су аутоматске променљиве у ПоверСхелл-у?
За почетак, удубимо се у дефиницију „ Аутоматске варијабле ”. Ове променљиве су унапред дефинисане и ПоверСхелл их аутоматски креира током извршавања скрипте. Они служе различитим сврхама, укључујући пружање информација о систему, аргументима командне линије, детаљима у вези са скриптом и још много тога.
ПоверСхелл нуди неколико „аутоматских променљивих“ и свака од њих служи посебној сврси у извршавању скрипте. Ове варијабле су, као што следи:
1. $ПСВерсионТабле
Једна од основних аутоматских варијабли у ПоверСхелл-у је „ $ПСВерсионТабле ”. Ова варијабла омогућава програмерима скрипте да утврде верзију ПоверСхелл-а која се користи, што може бити кључно када се разматра компатибилност и доступност одређених функција и функционалности.
Следећа својства су повезана са овом променљивом:
ПСВверзија: Враћа број верзије ПоверСхелл-а.
ПСИздање: За ПоверСхелл 4 и старије верзије, као и за ПоверСхелл 5.1 на верзијама оперативног система Виндовс са пуним функцијама, ово својство има вредност „Десктоп“. Ова карактеристика има вредност Цоре за ПоверСхелл 6 и новије верзије, као и Виндовс ПоверСхелл 5.1 за издања са малим отиском као што су Виндовс Нано Сервер или Виндовс ИоТ.
ГитЦоммитИд: Дохвата ИД урезивања ГитХуб изворних датотека.
ТИ: Евидентира информације о рачунарском систему који ПоверСхелл користи.
Платформа: Враћа платформу за подршку оперативног система. Уник има вредност на Линук-у и мацОС-у. Погледајте $ИсМацОс и $ИсЛинук.
ПСЦомпатиблеВерсионс: Враћају се верзије ПоверСхелл-а које су компатибилне са тренутном верзијом.
ПСРемотингПротоцолВерсион: Враћа број верзије за ПоверСхелл протокол за даљинско управљање.
Верзија серијализације: Враћа верзију методе серијализације.
ВСМанСтацкВерсион: Враћа број верзије стека ВС-Манагемент.
$ ПСВерсионТабле
2. $Аргс
Још једна битна аутоматска променљива у ПоверСхелл-у је „ $Аргс ”, који садржи низ аргумената командне линије прослеђених скрипти или функцији. Ова променљива омогућава програмерима да обрађују и манипулишу датим аргументима динамички у оквиру својих скрипти.
Када дефинишете функцију, можете или користити кључну реч „парам“ за декларисање параметара или можете додати листу параметара раздвојених зарезима у заградама иза имена функције. Променљива „$Аргс“ радње догађаја чува објекте који служе као чувари места за параметре догађаја који се обрађује:
за сваки ( $арг ин $Аргс ) {Врите-Хост $арг
}
3. $МиИнвоцатион
„ $МиИнвоцатион ” променљива даје кључне позадинске податке о скрипти или процедури која је тренутно покренута. Нуди својства као што су име скрипте, број реда скрипте и да ли се скрипта покреће интерактивно или неинтерактивно. Ова својства помажу програмерима скрипти да имплементирају логику гранања, дефинишу механизме за руковање грешкама или генеришу смислено евидентирање и извештавање:
$ МиИнвоцатион
4. $Еррор
Мање позната аутоматска променљива “ $Еррор “, ефективно бележи све поруке о грешци или изузетке који се јављају током извршавања скрипте. „$Еррор“ се може приступити ради преузимања специфичних детаља о грешци као што су поруке о изузетку, трагови стека или кодови грешака, што омогућава детаљну анализу и отклањање грешака.
Најновија грешка је представљена првим објектом грешке у низу „ $Еррор[0] “. Можете да користите уобичајену опцију ЕррорАцтион са вредношћу „Игнорирај“ да бисте спречили додавање грешака у низ „$Еррор“.
Претпоставимо да смо откуцали тачну команду:
ип [ онфиг
Сада, ако унесемо „$Еррор“ цмдлет:
$ Грешка
5. $ПСЦмдлет
Када радите са ПоверСхелл модулима, аутоматска променљива “ $ПСЦмдлет ” ступа на снагу. Ова променљива обезбеђује приступ тренутној инстанци цмдлета или функције која се позива, олакшавајући директну интеракцију са њеним својствима и методама.
Користећи „$ПСЦмдлет“, напредни програмери скрипти могу фино подесити и побољшати понашање модула проширењем или модификацијом уграђених функционалности. Можете да користите атрибуте и методе објекта у свом цмдлет-у или коду функције као одговор на критеријуме коришћења:
функција типеоф-псЦмдлет {[ цмдлетБиндинг ( ) ] парам ( )
одјек „тип ` $псЦмдлет је $($псЦмдлет.ГетТипе() .Пуно име)'
}
типеоф-псЦмдлет
Поред горе поменутих варијабли, ПоверСхелл обухвата аутоматске варијабле као што су $ХОМЕ, $ПРОФИЛЕ, $ПВД и многе друге, које служе различитим сврхама, као што су приступ уносу, праћење грешака, преузимање информација о окружењу, управљање параметрима и још много тога. Ове варијабле су наведене у наставку:
Аутоматске варијабле | Опис |
$$ | Садржи последњи токен у претходном реду који је примила ПоверСхелл сесија. |
$? | Чува статус извршења последње команде. |
$^ | Садржи први токен последње линије коју је примила сесија. |
$_ | Представља тренутни објекат у цевоводу. |
$ЦонсолеФилеНаме | Садржи путању датотеке конзоле (.псц1) која је последња коришћена у сесији. |
$ЕнабледЕкперименталФеатурес | Садржи листу омогућених експерименталних функција. |
$Евент | Садржи објекат „ПСЕвентАргс“ који представља догађај који се обрађује. |
$ЕвентАргс | Садржи први аргумент догађаја догађаја који се обрађује. |
$ЕвентСубсцрибер | Представља претплатника догађаја на догађај који се обрађује. |
$ЕкецутионЦонтект | Представља контекст извршавања ПоверСхелл хоста. |
$фалсе | Представља логичку вредност „Фалсе“. |
$фореацх | Садржи пописивач петље „фор-Еацх“. |
$ХОМЕ | Садржи пуну путању корисничког кућног директоријума. |
$Хост | Представља тренутну хост апликацију за ПоверСхелл. |
$инпут | Служи као пописивач за све уносе прослеђене функцији или скрипти. |
$ИсЦореЦЛР | Означава да ли се сесија покреће на .НЕТ Цоре Рунтиме (ЦореЦЛР). |
$ИсЛинук | Означава да ли се сесија изводи на Линук оперативном систему. |
$ИсМацОС | Означава да ли се сесија изводи на МацОС оперативном систему. |
$ИсВиндовс | Идентификује да ли се сесија изводи на Виндовс оперативном систему. |
$ЛАСТЕКСИТЦОДЕ | Чува излазни код последњег изворног програма или ПоверСхелл скрипте. |
$Матцхес | Садржи подударне стрингове из „-матцх” и „-нотматцх” оператора. |
$НестедПромптЛевел | Прати тренутни ниво упита у угнежђеним командама или сценаријима за отклањање грешака. |
$нулл | Представља нулту или празну вредност. |
$ПИД | Садржи идентификатор процеса (ПИД) ПоверСхелл сесије. |
$ПРОФИЛЕ | Садржи пуну путању ПоверСхелл профила за тренутног корисника и хост апликацију. |
$ПСБоундПараметерс | Садржи речник параметара прослеђених скрипти или функцији и њихове вредности. |
$ПСЦоммандПатх | Садржи пуну путању и име датотеке скрипте која се извршава. |
$ПСЦултуре | Одражава културу тренутног простора за покретање ПоверСхелл-а. |
$ПСЕдитион | Садржи информације о издању ПоверСхелл-а. |
$ПСХОМЕ | Садржи пуну путању ПоверСхелл инсталационог директоријума. |
$ПСИтем | Исто као и $_, представља тренутни објекат у цевоводу. |
$ПССцриптРоот | Садржи пуну путању родитељског директорија извршне скрипте. |
$ПССендерИнфо | Садржи информације о кориснику који је покренуо ПССессион. |
$ПСУИЦултуре | Одражава културу корисничког интерфејса (УИ) конфигурисану у оперативном систему. |
$ПВД | Представља тренутни радни директоријум ПоверСхелл сесије. |
$Сендер | Садржи објекат који је генерисао догађај. |
$СхеллИд | Садржи идентификатор тренутне љуске. |
$СтацкТраце | Чува праћење стека за најновију грешку. |
$свитцх | Садржи пописивач наредбе „Свитцх“. |
$ово | Односи се на инстанцу класе у блоковима скрипте који проширују класе. |
$труе | Представља логичку вредност „Труе“. |
Све „аутоматске варијабле“ у ПоверСхелл-у могу се пронаћи покретањем доње команде:
Гет-Вариабле
Закључак
“ Аутоматске варијабле ” чине окосницу ПоверСхелл скриптовања, омогућавајући програмерима да добију информације о систему, аргументима командне линије, контексту извршавања скрипте и још много тога. Користећи аутоматске променљиве као што су „$ПСВерсионТабле“, „$Аргс“, „$МиИнвоцатион“, „$Еррор“ и друге, програмери ПоверСхелл скрипти могу да креирају поједностављене праксе администрације система.