Особенности WindowsPowerShell



При разработке PowerShell были решены след.задачи:

1) Обеспечение прямого доступа из командной строки и объектам COM,WME и .NET

2) Организация работы с произвольными источниками данных в командной строке по принципу файловой системы.

3) Разработка интуитивно понятной структуры встроенных команд, основанный на их функциональных назначениях.

4) Обеспечение возможности расширения встроенных набора команд.

5) Организация поддержки знакомых команд из других оболочек.

6) Разработка полноценной встроенной справочной системы для внутренних команд.

7) Реализация автоматического завершения при вводе с клавиатуры имен команд.

Единицей обработки и передачи информации в PowerShell является объект,а не строка текста.


Типы команд WindowsPowerShell

1) Командлета

2) Функции

3) Исполняемые формулы

4) Сценарии

Командлет – аналог внутренних команд традиционных оболочек и представляет собой класс .NET, порожденный от базового класса Cmdlet

Использование единого базового класса Cmdlet позволяет исполнять совместимый синтаксис всех командлетов.

Функция – блок кода на языке PS, имеющий заголовок.

<function><param1><param2>

Сценарий – блок кода на языке PS, хранящийся во внешнем файле с расширением ps1.

Исполняемые формулы выполняются обычным образом ОС.

 


Формат командлета WindowsPowerShell. «Глагольные» части командлетов.

Имена командлета нечувствительны к регистру символов и соответствуют шаблону «глагол – существительное», где глагол задает действие, а существительное определяет объект, над которым это действие будет совершено.

«Глагольные» части командлета:

1) Add – создает

2) Clear – удаляет

3) ConvertTo – преобразовывает элемент к заданному формату.

4) Disable/Enable – откл./включает ф-ции

5) New – создает экземпляр элемента, такого как переменная или событие.

6) Remote – удаляет экземпляр элемента

7) Set – изменяет заданный параметр объекта

8) Start/Stop – запускает/останавливает

9) Test – проверяет состояние или значения

10) Write – записывает

 

 


Windows PowerShell. Параметры командлетов.

Перед параметрами командлетов всегда стоит дефис.

Имена параметров можно не указывать, если они передаются в заданном порядке. Все командлеты поддерживают общий набор параметров.

Параметры:

-Confirm приостанавливает использование до получения подтверждения от пользователя.

Remove-itemE:\*.js –confirm

-Debugпредставляет отладочную информацию об операции на уровне программирования. Параметр работает только с командлетами, которые генерируют сообщения отладки.

-ErrorAction определяет реакцию команды на возникновение ошибки.

Допустимые значения:

1) SilentlyContinue (продолжить исполнение, игнорирую ошибку)

2) Continue (вывести сообщение об ошибке и продолжить; задано по умолч.)

3) Inquire (вывести сообщение об ошибке и продолжить после получения подтверждения пользователя)

4) Stop (вывести сообщение об ошибке и прервать исполнение)

-ErrorVariable задает имя переменной для хранения сведений об ошибках.

-OutBufferзадает буфер для выходных данных командлета.

-OutVariableзадает имя переменной для хранения выходных объектов команды. Для добавления новых данных перед именем переменной указывают знак «плюс» (+).

-Verboseпредоставляет подробные сведения о действиях выполняемой команды.

-WarningActionопределяет реакцию команды на предупреждение.

Допустимые значения:

1) SilentlyContinue

2) Continue

3) Inquire

4) Stop

-WarningVariable задает имя переменной для хранения предупреждений.

-WhatIf показывает пользователю, каков будет результат запуска командлета с заданным параметром.

 

 


WindowsPowerShell. Обработка ошибок. Справочная система. Конвейеризация команд.

Обработка ошибок

При работе с командлетом возникает 2 стандартных типа ошибок:

> возникает ошибка и сценарий прекращается.

>возник.ошибка, выводится сообщение и продолж. выполен-е сценария.

Справочная система

Стандартный справочный документ содержит полный синтаксис командлета.

Справочн. информацию можно получить след образом:

> параметр-?

>командлетGet-Helpспараметрами Detailed, Full, Examples.

Конвейеризация команд

Конвейер – последовательность команд, разделенных между собой знаком |

(вертикальная черта). Команда в конвейере получает объект от предыдущей команды, выполняет операции над ним и передает след.команде, т.к. используется ссылка на объект, а не текст, => на экране могут не отображаться некоторые слова и методы.

   Get-Member – список св-в и методов, указанного класса объекта.

Например: Get-ChildItem|Get-Member

Если необходимо знать, напр., только св-ва:

Get-ChildItem|GetMember- MemberTypePropererty.

Допускается фильтрация объектов в конвейере, удаление из конвейера объектов, не удовл. некот. условию.

   Пример. Вывести список запрещенных в системе процессов, упорядоченный по уменьшению затраченного процессорного времени. Get-Process|Sort-Objectcpu-Descending.

   Пример. Удалить зависшие процессы.

Get-Process|Where-Object{-not$_.Responding}||Stop-Process.

$_ - обращение к каждому переданному в конвейере объекту.

Условие проверки задается в виде блока сценария в {}.

Результатом должно быть true/false.


Дата добавления: 2018-05-31; просмотров: 275; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!