пользователей: 30398
предметов: 12406
вопросов: 234839
Конспект-online
РЕГИСТРАЦИЯ ЭКСКУРСИЯ

I семестр:
» СПО
» ОС
» МС

№22

1.

Типы команд PowerShell

В оболочке PowerShell поддерживаются команды четырех типов: командлеты, функции, сценарии и внешние исполняемые файлы.

 

Первый тип – так называемые командлеты (cmdlet). Этот термин используется пока только внутри PowerShell. Командлет представляет собой класс .NET, порожденный от базового класса Cmdlet ; разрабатываются командлеты с помощью пакета PowerShell Software Developers Kit (SDK). Единый базовый класс Cmdlet гарантирует совместимый синтаксис всех командлетов, а также автоматизирует анализ параметров командной строки и описание синтаксиса командлетов для встроенной справки.

 

Данный тип команд компилируется в динамическую библиотеку (DLL) и подгружается к процессу PowerShell во время запуска оболочки (то есть сами по себе командлеты не могут быть запущены как приложения, но в них содержатся исполняемые объекты). Так как компилированный код подгружается к процессу оболочки, данный тип команд выполняется наиболее эффективно. Командлеты – это аналог внутренних команд традиционных оболочек.

 

Следующий тип команд – функции. Функция – это блок кода на языке PowerShell, имеющий название и находящийся в памяти до завершения текущего сеанса командной оболочки. Функции, как и командлеты, поддерживают именованные параметры. Анализ синтаксиса функции производится один раз при ее объявлении.

 

Сценарий – это блок кода на языке PowerShell, хранящийся во внешнем файле с расширением ps1. Анализ синтаксиса сценария производится при каждом его запуске.

 

Последний тип команд – внешние исполняемые файлы, которые выполняются обычным образом операционной системой.

Имена и структура командлетов

Как уже было отмечено выше, в PowerShell аналогом внутренних команд являются командлеты. Командлеты могут быть очень простыми или очень сложными, но каждый из них разрабатывается для решения одной, узкой задачи. Работа с командлетами становится по-настоящему эффективной при использовании их композиции (конвейеризации объектов между командлетами). Подробнее об этом мы поговорим на следующей лекции.

 

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

 

Например, Get-Process (получить информацию о процессе), Stop-Service (остановить службу), Clear-Host (очистить экран консоли) и т.д. Чтобы просмотреть список командлетов, доступных в ходе текущего сеанса, нужно выполнить командлет Get-Command:

 
PS C:\> Get-Command

CommandType  Name            Definition
-----------  ----            ----------
Cmdlet       Add-Content     Add-Content [-Path] <String[]> [-Value] <Object[...
Cmdlet       Add-History     Add-History [[-InputObject] <PSObject[]>] [-Pass...
Cmdlet       Add-Member      Add-Member [-MemberType] <PSMemberTypes> [-Name]...
Cmdlet       Add-PSSnapin    Add-PSSnapin [-Name] <String[]> [-PassThru] [-Ve...
Cmdlet       Clear-Content   Clear-Content [-Path] <String[]> [-Filter <Strin...
Cmdlet       Clear-Item      Clear-Item [-Path] <String[]> [-Force] [-Filter ...
...
16.1.
 

По умолчанию командлет Get-Command выводит сведения в трех столбцах: CommandTypeName и Definition. При этом в столбце Definition отображается синтаксис командлетов (многоточие (  ) в столбце синтаксиса указывает на то, что данные обрезаны).

 

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

 

Замечание

 

Косые черты ( / и \ ) вместе с параметрами в оболочке Windows PowerShell не используются.

 

В общем случае синтаксис командлетов имеет следующую структуру:

 
имя_командлета –параметр1 -параметр2 аргумент1 аргумент2
 

Здесь параметр1 – параметр (переключатель), не имеющий значения; параметр2 – имя параметра, имеющего значениеаргумент1 ; аргумент2 – параметр, не имеющий имени. Например, командлет Get-Process имеет параметр Name, который определяет имя процесса, информацию о котором нужно вывести. Имя этого параметра указывать необязательно. Таким образом, для получения сведений о процессе Far можно ввести либо команду Get-Process -Name Far, либо команду Get-Process Far.

 

2.

Операторы сравнения в условных операциях

Как ни странно, но операторы сравнения в условных операциях в SharePointвыглядят совсем не так, как мы привыкли видеть на примере других языков программирования (таких, как php, C, Delphi, и пр.).
Дабы этот вопиющий факт сильно вас не смущал, опубликую здесь операторы сравнения, которые используются в условных операциях в PowerShell ‘е.
Итак:

Операторы сравнения:

  • -lt — Меньше, чем
  • -le — Меньше или равно
  • -gt — Больше, чем
  • -ge — Больше или равно
  • -eq — Равно
  • -ne — Не равно
  • -like — оператор подобия
  • -notlike — оператор не-подобия


В операциях подобия (таких, как -like и -notlike) фильтр устанавливается при помощи символа «*» (звездочки):

Например, все объекты, в имени которых не встречаестя число «11» :

($ItemSubSubSub.Name -notlike "*11*")

Ссылка на пример, в котором используются операторы сравнения: Скрипт переноса папок в SharePoint’e

Логическаие операторы:

  • -and — логическое «и»
  • -or — логическое «или»

 

 


22.06.2015; 02:04
хиты: 115
рейтинг:0
Точные науки
информатика
для добавления комментариев необходимо авторизироваться.
  Copyright © 2013-2024. All Rights Reserved. помощь