Въведение в Power Shell

въведение

Първи стъпки

Windows PowerShell 2.0 беше издаден с Windows 7 и Windows Server 2008 R2 като неразделна част от системата. Освен това втората версия е достъпна и за други системи като Windows XP SP3, Windows Server 2003 SP2, Windows Vista SP1 и Windows Server 2008.

Windows PowerShell е изграден и интегриран с Microsoft NET Framework. Освен това PowerShell осигурява удобен достъп до COM, WMI и ADSI, както и ви позволява да изпълнявате редовни команди от командния ред, за да създадете единна среда, в която администраторите могат да изпълняват различни задачи на локални и отдалечени системи.

Работа с екипи

Разработчиците на PowerShell са оборудвали тази обвивка с персонализиран скриптов език, изграден съгласно стандарта .NET Framework. Командата в PowerShell се нарича cmdlet или cmdlet в оригинала. Командлетът е подобен на функция, тъй като изпълнява определена задача, като извличане на съдържанието на папка или актуализиране на запис в системния регистър, и има параметри, които могат да променят изхода на командата.

Повече от 100 команди са вградени в PowerShell. Можете също да създадете допълнителни команди, но трябва да използвате .NET език като Visual Basic .NET или C #.

Всяка разновидност на командата е глаголно-съществителна комбинация. Това е така, защото Microsoft искаше да използва последователна схема за именуване, за да улесни ученето и разширяването на PowerShell. Глаголът показва действието, което трябва да се извърши, а съществителното указва вида на обекта, над който ще се извърши това действие. Например командата Get-ChildItem чете списък с елементи в текущата работна директория или контейнер, като регистър. За да изпълните команда, въведете я в подканата на PowerShell и натиснете enter. Резултатът от командата ще се покаже непосредствено под въведената команда.

shell

Фигура: 1. Команда Get-ChildItem

Команди за получаване на помощ

PowerShell се доставя с набор от помощни файлове и първо трябва да се научите как да работите с тези помощни материали. За да разберете какви команди са налични в PowerShell, използвайте командата Get-Command. Фигура 2 показва изхода на тази команда, това е списък с команди. В този списък можете да видите имената на командите и техния синтаксис, но няма описание на това, което прави всяка команда.

въведение

Фигура 2. Get-Command

Можете да използвате командата Get-Help, за да получите тази информация. Ако въведем само Get-Help, тогава ще получим помощ за него самия.

power

Фигура: 3. Команда Get-Help

Както можете да видите от командата Get-Help, за да получите помощ за конкретна команда, трябва да въведете името на командата веднага след Get-Help. Нека видим помощта за командата Get-Command, която вече познаваме. За целта въвеждаме:

shell

Get-Command, в този случай, е параметър за командата Get-Help и подобно на командните параметри в командния ред cmd.exe, командните параметри PowerShell предоставят информацията, необходима на командите, за да си свършат работата.

shell
От тази книга може да се вземат много интересни материали за скриптове в Windows.

Препоръчвам да четете на хартиен носител.

power

Фигура: 5. Помощ за получаване на команди

Получихме списък с команди, започващи с Get. Нека използваме командата Get-Content за работа с файлове. Нека да разгледаме помощната информация за командата Get-Content. За целта въвеждаме:

въведение

Фигура: 6. Команда Get-Help Get-Content

Както е показано на Фигура 6, командата Get-Help Get-Content връща описание на командата Get-Content и информация за нейния синтаксис. От тази помощ научихме, че командата Get-Content връща съдържанието на елемент, който в този случай сочи към всеки тип файл в системата. В миналото администраторът можеше да е трябвало да използва командата For, за да работи с партидни файлове или File-SystemObject в скрипт на Windows Script Host (WSH), но в PowerShell просто трябва да стартирате командата Get-Content. За да получите по-подробна информация за синтаксиса, добавете параметъра -full към командата:

въведение

Фигура: 7. Команда Get-Help Get-Content -full

Обърнете внимание, че параметърът -full не е основен. Параметри от този тип се наричат ​​превключващи параметри, тъй като те някак превключват поведението на командата.

Необходим артикул? (Задължително) посочва дали този параметър е задължителен или не. Кога се изисква променлива? (Задължителен английски) е вярно, параметърът трябва да бъде включен в командата. Ако се изисква същата променлива? (Задължителен английски) е зададено на false, тогава този параметър не е задължителен и може да бъде пропуснат при използване на командата.

Стойностна позиция? (Position English) ви позволява да прецените дали трябва да присвоите име на параметъра или можете да се обърнете към него по неговата позиция. Кога е променлива на позицията? (Позиция на английски език) присвоява посочената стойност, от което следва, че при препратка към този параметър трябва да се посочи името му. Кога е стойността на променливата Position? (Position English) се изразява като число, параметърът може да се препраща към неговото име или просто да посочи стойността на параметъра в правилната му позиция.

Например, както е показано на Фигура 8, когато изпълнявате командата Get-Content, трябва да посочите параметъра -Path, разгледайте този параметър по-подробно.

power

Фигура: 8. Параметър -Път

В променлива Задължително? е зададено на true, което означава, че този параметър е необходим за командата Get-Content. В променливата Position? има стойност 1, това означава, че можете да пропуснете името на параметъра, когато го въвеждате, просто трябва да го въведете веднага след името на командата (1-ва позиция).

въведение

Фигура: 9. Команда Get-Content E: 01.txt

където E: 01.txt е параметърът -Path

въведение

Фигура: 10. Файл E: 01.txt.

Ако стойността на параметъра съдържа интервали, стойността трябва да бъде затворена в кавички.

В помощната тема за ПАРАМЕТРИ името на всеки параметър е последвано от информация, затворена в ъглови скоби (). Тази информация показва вида на данните, към които трябва да бъде стойността на параметъра. Както е показано на фигура 8, стойността на параметъра -Path трябва да бъде низ. Ако името на типа е последвано от квадратни скоби [] (низ []), това означава, че масив от низове може да се използва като стойност на параметъра. В случай на използване на параметри на превключвателя, като например параметъра -Full, които не приемат стойности, тогава типът данни ще бъде посочен като .

power

Фигура: 11. Параметър -Пълен

Друга характеристика, свързана с параметри PowerShell, която си струва да се отбележи, е комбинацията за автоматично попълване на име на параметър. Потребителят трябва само да въведе достатъчно букви, които съставляват името на параметъра, за да може да се различава от другите параметри. Например Get-Help Get-Content -full е еквивалентно на Get-Help Get-Content -ful. Разделът за помощ ЗА БЕЛЕЖКИ съдържа също примери за това как може да се използва команда. Фигура 12 показва 3 примера за използване на командата Get-Help.

power

Фигура: 12. Примери за използване на командата Get-Help

Получаване на помощ за концепции

power

въведение

Фигура: 14. Команда Get-Help about_aliases

Фигура 14 показва част от данните за помощ, които са резултат от командата Get-Help about_aliases. Както виждаме, помощният файл предоставя преглед на стъпките за създаване и управление на псевдоними в PowerShell.

Използване на псевдоними

Някои имена на команди могат да бъдат доста дълги, което може да бъде досадно, ако трябва да въвеждате команди отново и отново от клавиатурата. За щастие, дизайнерите на PowerShell са предоставили възможността да използват псевдоними, за да се позовават на команди. Псевдонимът е алтернативно име, което обикновено е много по-кратко от действителното име на команда. PowerShell включва разнообразни вградени псевдоними, в допълнение към които потребителите могат да създават свои собствени псевдоними.

power

Фигура: 15. Команда Get-Alias

Текущата сесия се отнася до текущата връзка с процесора PowerShell. Когато PowerShell стартира, потребителят започва нова сесия; тази сесия продължава, докато потребителят затвори PowerShell, като по този начин прекратява връзката. В допълнение към всички вградени псевдоними и свързаните с тях команди, Get-Alias ​​показва всички псевдоними, създадени по време на текущата сесия, както и псевдоними, зададени в профили, които са дефинирани от потребителя настройки за конфигурация, заредени в PowerShell всеки път, когато черупката стартира .

shell

Фигура: 16. Команда Get-Alis -definition Get-ChildItem

Както е показано на фигура 16, PowerShell включва три псевдонима за достъп до командата Get-ChildItem, gci, ls и dir. Всеки от тях може да се използва вместо името на командата. По този начин всяка от следните четири команди изброява съдържанието на директорията C:

въведение

Фигура: 17. Команди Get-ChildItem c: и директория c:

Ако искаме да създадем свой собствен псевдоним в PowerShell, командата Set-Alias ​​ще ни помогне. Нека създадем псевдоним за командата Get-Help. Използваме съкращението hlp. Командата, от която се нуждаем, ще изглежда така:

shell

Фигура: 18. Set-Alias ​​hlp Команда Get-Help и генериран hlp псевдоним

След това, когато имате нужда­етаж­прекарайте командата Get-Help, можете да използвате псевдонима hlp. Този псевдоним може да се използва до края на сесията (т.е. преди PowerShell да бъде затворен). Обмисли­тези, които при дефиниране на псевдоним не са снабдени с опции, можете да използвате само­към името на командата. Ако искате да дефинирате връзка към команда и нейните параметри, трябва да създадете специална функция.