Повер шелл для виндовс 10 что это

Для чего нужен Windows PowerShell – как его использовать

Повер шелл для виндовс 10 что это. Смотреть фото Повер шелл для виндовс 10 что это. Смотреть картинку Повер шелл для виндовс 10 что это. Картинка про Повер шелл для виндовс 10 что это. Фото Повер шелл для виндовс 10 что это

Чтобы понять, что такое Windows PowerShell, мы должны сначала объяснить, что такое оболочка. Оболочка или интерпретатор команд – это программа, которая позволяет взаимодействовать с операционной системой через терминал и в командной строке. Используя оболочку можно давать команды системе и открывать программы.

Windows PowerShell – это усовершенствованная оболочка, интегрированная во все операционные системы Microsoft, начиная с Windows 7. Она включает в себя интерактивные подсказки и среду сценариев, которую можно использовать по отдельности или в комбинации.

Что такое Windows PowerShell

Как следует из названия, Windows PowerShell – это оболочка командной строки. Она была разработана специально для использования системными администраторами и может использоваться для выполнения всех команд cmd.exe.

PowerShell позволяет вам взаимодействовать с операционной системой, используя преимущества инструментов, доступных из командной строки, и используя возможности программирования сценариев для автоматизации рутинной работы.

Давайте подробно рассмотрим, какие функции и преимущества предлагает эта оболочка от Microsoft:

Как запустить Windows PowerShell

После объяснения, что такое Windows PowerShell, давайте посмотрим, как его запустить.

Более современный способ – доступный в Windows 10 – щелкнуть правой кнопкой мыши по меню «Пуск» и выбрать соответствующий пункт из меню «Опытного пользователя»

Как взаимодействовать с Windows PowerShell

Все команды, доступные в командной строке Windows, доступны и могут также использоваться в PowerShell.

Мы можем использовать символы переправления > для отправки вывода в файл или >> для добавления в файл. PowerShell использует псевдонимы для связи команд cmd.exe со своими командлетами. Например, команда cd является псевдонимом для командлета set-location, точно так же, как dir является псевдонимом для командлета get-children.

PowerShell можно использовать для запуска исполняемых команд или для работы непосредственно с реестром Windows без запуска его редактора.

Одна из сильных сторон этой оболочки – её командлеты. Каждый командлет представлен «глаголом», за которым следует тире и существительное.

Чтобы просмотреть полный список всех доступных командлетов, введите get-command. Чтобы получить информацию о конкретном командлете, введите get-help и имя командлета.

Что такое Windows PowerShell ISE

Windows PowerShell ISE (интегрированная среда сценариев) – это приложение, появившееся в PowerShell 2.0. Она позволяет запускать команды и писать, тестировать и отлаживать сценарии в едином графическом интерфейсе пользователя на базе Windows.

Этот ISE включает командную панель, одну для сценариев и одну для вывода. Панель вывода отображает результаты команд, запущенных в двух других панелях. Кроме того, графическое окружение можно изменить, выбрав расположение блоков.

PowerShell ISE поддерживает многострочное редактирование, окрашивание синтаксиса, завершение с помощью клавиши TAB и выборочное выполнение и использует собственный профиль, отличный от того, который используется для настройки PowerShell.

Источник

Что такое Windows PowerShell и с чем его едят? Часть 1: основные возможности

Исторически утилиты командной строки в Unix-системах развиты лучше чем в Windows, однако с появлением нового решения ситуация изменилась.

Windows PowerShell позволяет системным администраторам автоматизировать большинство рутинных задач. С ее помощью можно менять настройки, останавливать и запускать сервисы, а также производить обслуживание большинства установленных приложений. Воспринимать синее окошко как еще один интерпретатор команд было бы неправильно. Такой подход не отражает сути предложенных корпорацией Microsoft инноваций. На самом деле возможности Windows PowerShell гораздо шире: в небольшом цикле статей мы попробуем разобраться, чем решение Microsoft отличается от более привычных нам средств.

Повер шелл для виндовс 10 что это. Смотреть фото Повер шелл для виндовс 10 что это. Смотреть картинку Повер шелл для виндовс 10 что это. Картинка про Повер шелл для виндовс 10 что это. Фото Повер шелл для виндовс 10 что это

Основные возможности

Windows PowerShell позволяет:

Оболочка и среда разработки

Существует Windows PowerShell в двух ипостасях: помимо эмулятора консоли с командной оболочкой есть интегрированная среда сценариев (Integrated Scripting Environment — ISE). Чтобы получить доступ к интерфейсу командной строки достаточно выбрать соответствующий ярлык в меню Windows или запустить powershell.exe из меню «Выполнить». На экране появится синее окошко, заметно отличающееся по возможностям от допотопного cmd.exe. Там есть автодополнение и другие фишки, привычные пользователям командных оболочек для Unix-систем.

Повер шелл для виндовс 10 что это. Смотреть фото Повер шелл для виндовс 10 что это. Смотреть картинку Повер шелл для виндовс 10 что это. Картинка про Повер шелл для виндовс 10 что это. Фото Повер шелл для виндовс 10 что это

Для работы с оболочкой нужно запомнить некоторые сочетания клавиш:

Повер шелл для виндовс 10 что это. Смотреть фото Повер шелл для виндовс 10 что это. Смотреть картинку Повер шелл для виндовс 10 что это. Картинка про Повер шелл для виндовс 10 что это. Фото Повер шелл для виндовс 10 что это

Windows PowerShell ISE является полноценной средой разработки с поддерживающим вкладки и подсветку синтаксиса редактором кода, конструктором команд, встроенным отладчиком и другими программистскими радостями. Если в редакторе среды разработки после имени команды написать знак дефис, вы получите в выпадающем списке все доступные параметры с указанием типа. Запустить PowerShell ISE можно либо через ярлык из системного меню, либо с помощью исполняемого файла powershell_ise.exe.

Повер шелл для виндовс 10 что это. Смотреть фото Повер шелл для виндовс 10 что это. Смотреть картинку Повер шелл для виндовс 10 что это. Картинка про Повер шелл для виндовс 10 что это. Фото Повер шелл для виндовс 10 что это

Командлеты

Помимо Get в командлетах для обозначения действий используются и другие глаголы (и не только глаголы, строго говоря). В списке ниже мы приведем несколько примеров:

Add — добавить;
Clear — очистить;
Enable — включить;
Disable — выключить;
New — создать;
Remove — удалить;
Set — задать;
Start — запустить;
Stop — остановить;
Export — экспортировать;
Import — импортировать.

Есть системные, пользовательские и опциональные командлеты: в результате выполнения все они возвращают объект или массив объектов. К регистру они не чувствительны, т.е. с точки зрения интерпретатора команд нет разницы между Get-Help и get-help. Для разделения используется символ ‘;’, но ставить его обязательно только если в одной строке выполняется несколько командлетов.

Командлеты Windows PowerShell группируются в модули (NetTCPIP, Hyper-V и т.д.), а для поиска по объекту и действию существует командлет Get-Command. Показать справку по нему можно так:

Повер шелл для виндовс 10 что это. Смотреть фото Повер шелл для виндовс 10 что это. Смотреть картинку Повер шелл для виндовс 10 что это. Картинка про Повер шелл для виндовс 10 что это. Фото Повер шелл для виндовс 10 что это

Справка в Windows PowerShell обновляется командлетом Update-Help. Если строка команд получается слишком длинной, аргументы командлета можно перенести на следующую, написав служебный символ ‘`’ и нажав Enter — просто закончить писать команду на одной строке и продолжить на другой не получится.

Ниже приведем несколько примеров распространенных командлетов:

Get-Process — показать запущенные в системе процессы;
Get-Service — показать службы и их статус;
Get-Content — вывести содержимое файла.

Для часто используемых командлетов и внешних утилит в Windows PowerShell есть короткие синонимы — алиасы (от англ. Alias). Например, dir — алиас Get-ChildItem. Есть в списке синонимов и аналоги команд из Unix-систем (ls, ps и т.д.), а командлет Get-Help вызывается командой help. Полный список синонимов можно посмотреть с помощью командлета Get-Alias:

Повер шелл для виндовс 10 что это. Смотреть фото Повер шелл для виндовс 10 что это. Смотреть картинку Повер шелл для виндовс 10 что это. Картинка про Повер шелл для виндовс 10 что это. Фото Повер шелл для виндовс 10 что это

Сценарии, функции, модули и язык PowerShell

Restricted — запуск сценариев запрещен (по умолчанию);
AllSigned — разрешен только запуск подписанных доверенным разработчиком сценариев;
RemoteSigned — разрешен запуск подписанных и собственных сценариев;
Unrestricted — разрешен запуск любых сценариев.

У администратора есть два варианта действий. Наиболее безопасный предполагает подписание скриптов, но это довольно серьезное колдунство — мы будем разбираться с ним в следующих статьях. Сейчас пойдем по пути наименьшего сопротивления и поменяем политику:

Повер шелл для виндовс 10 что это. Смотреть фото Повер шелл для виндовс 10 что это. Смотреть картинку Повер шелл для виндовс 10 что это. Картинка про Повер шелл для виндовс 10 что это. Фото Повер шелл для виндовс 10 что это

PowerShell для этого придется запустить от имени администратора, хотя с помощью специального параметра можно изменить политику и для текущего пользователя.

Пишутся скрипты на объектно-ориентированном языке программирования, команды которого именуются по тому же принципу, что и рассмотренные ранее командлеты: «Действие-Объект» («Глагол-Существительное»). Основное его предназначение — автоматизация задач администрирования, но это полноценный интерпретируемый язык, в котором есть все необходимые конструкции: условный переход, циклы, переменные, массивы, объекты, обработка ошибок и т.д. Для написания сценариев годится любой текстовый редактор, но удобнее всего запустить Windows PowerShell ISE.

Конвейеры

В последнем примере мы применили знакомую пользователям оболочек для Unix-систем конструкцию. В Windows PowerShell вертикальная черта также позволяет передать выход одной команды на вход другой, но в реализации конвейера есть и существенная разница: речь здесь идет уже не о наборе символов или каком-то тексте. Встроенные командлеты или пользовательские функции возвращают объекты или массивы объектов, а также могут получать их на входе. Как в Bourne shell и его многочисленных последователях, в PowerShell с помощью конвейера упрощается выполнение сложных задач.

Простейший пример конвейера выглядит так:

Повер шелл для виндовс 10 что это. Смотреть фото Повер шелл для виндовс 10 что это. Смотреть картинку Повер шелл для виндовс 10 что это. Картинка про Повер шелл для виндовс 10 что это. Фото Повер шелл для виндовс 10 что это

Сначала выполняется командлет Get-Service, а потом все полученные им службы передаются на сортировку по свойству Status командлету Sort-Object. В какой именно аргумент передается результат работы предыдущего участка конвейера, зависит от его типа — обычно это InputObject. Подробнее этот вопрос будет рассматриваться в посвященной языку программирования PowerShell статье.

При желании цепочку можно продолжить и передать результат работы Sort-Object еще одному командлету (выполняться они будут слева направо). Кстати, пользователям Windows доступна и привычная всем юниксоидам конструкция для постраничного вывода:

Запуск задач в фоновом режиме

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

Start-Job — запуск фоновой задачи;
Stop-Job — остановка фоновой задачи;
Get-Job — просмотр списка фоновых задач;
Receive-Job — просмотр результата выполнения фоновой задачи;
Remove-Job — удаление фоновой задачи;
Wait-Job — перевод фоновой задачи обратно в консоль.

Для запуска фоновой задачи мы используем командлет Start-Job и в фигурных скобках указываем команду или набор команд:

Повер шелл для виндовс 10 что это. Смотреть фото Повер шелл для виндовс 10 что это. Смотреть картинку Повер шелл для виндовс 10 что это. Картинка про Повер шелл для виндовс 10 что это. Фото Повер шелл для виндовс 10 что это

Фоновыми задачами в Windows PowerShell можно манипулировать, зная их имена. Для начала научимся их отображать:

Повер шелл для виндовс 10 что это. Смотреть фото Повер шелл для виндовс 10 что это. Смотреть картинку Повер шелл для виндовс 10 что это. Картинка про Повер шелл для виндовс 10 что это. Фото Повер шелл для виндовс 10 что это

Теперь покажем результат работы задания Job1:

Повер шелл для виндовс 10 что это. Смотреть фото Повер шелл для виндовс 10 что это. Смотреть картинку Повер шелл для виндовс 10 что это. Картинка про Повер шелл для виндовс 10 что это. Фото Повер шелл для виндовс 10 что это

Всё довольно просто.

Удаленное выполнение команд

Windows PowerShell позволяет выполнять команды и сценарии не только на локальном, но и на удаленном компьютере и даже на целой группе машин. Для этого существует несколько способов:

Версии PowerShell

Повер шелл для виндовс 10 что это. Смотреть фото Повер шелл для виндовс 10 что это. Смотреть картинку Повер шелл для виндовс 10 что это. Картинка про Повер шелл для виндовс 10 что это. Фото Повер шелл для виндовс 10 что это

Также можно воспользоваться командлетом:

Повер шелл для виндовс 10 что это. Смотреть фото Повер шелл для виндовс 10 что это. Смотреть картинку Повер шелл для виндовс 10 что это. Картинка про Повер шелл для виндовс 10 что это. Фото Повер шелл для виндовс 10 что это

То же самое делается и с помощью командлета Get-Host. На самом деле вариантов множество, но для их применения нужно изучить язык программирования PowerShell, чем мы и займемся в следующей статье.

Итоги

Источник

Глава 1. Начало работы с PowerShell

Я часто вижу, что выступающие на конференциях и собраниях групп пользователей уже работают с PowerShell, когда демонстрируют презентации начального уровня. Эта книга начинается с ответов на вопросы, которые задавали участники мероприятий, ранее не использовавшие PowerShell.

В частности, эта глава посвящена поиску и запуску PowerShell, а также решению некоторых первоначальных проблем, с которыми сталкиваются новые пользователи при работе с PowerShell. Обязательно ознакомьтесь с примерами, приведенными в этой главе, и выполните их на компьютере Windows 10 с лабораторной средой.

Что нужно, чтобы начать работу с PowerShell?

Все современные версии операционных систем Windows поставляются с установленной оболочкой PowerShell. Если вы используете версию, предшествующую 5.1, следует установить последнюю версию.

Где найти PowerShell?

Самый простой способ найти PowerShell в Windows 10 — ввести PowerShell в строке поиска, как показано на рис. 1-1.

Повер шелл для виндовс 10 что это. Смотреть фото Повер шелл для виндовс 10 что это. Смотреть картинку Повер шелл для виндовс 10 что это. Картинка про Повер шелл для виндовс 10 что это. Фото Повер шелл для виндовс 10 что это

Обратите внимание, что на рис. 1-1 показаны четыре разных ярлыка для PowerShell. Компьютер, используемый в демонстрационных целях в этой книге, работает под управлением 64-разрядной версии Windows 10, поэтому существует 64-разрядная версия консоли PowerShell и PowerShell ISE (интегрированной среды сценариев) и 32-разрядная версия каждой из них (обозначена суффиксом (x86) на ярлыках). Если вы работаете с 32-разрядной версией Windows 10, у вас будет только два ярлыка. У этих элементов нет суффикса (x86), но они являются 32-разрядными версиями. Если у вас установлена 64-разрядная операционная система, рекомендуется запускать 64-разрядную версию PowerShell, только если вас нет особой причины для запуска 32-разрядной версии.

Сведения о запуске PowerShell в других версиях Windows см. в статье Запуск Windows PowerShell.

Как запустить PowerShell?

В производственной среде предприятия, которую я поддерживаю, я работаю с тремя разными учетными записями пользователей Active Directory. В лабораторной среде в этой книге используются зеркальные экземпляры этих учетных записей. Я вошел на компьютер с Windows 10 в качестве пользователя домена, который не является администратором домена или локальным администратором.

Я запустил консоль PowerShell, щелкнув ярлык Windows PowerShell, как показано на рис. 1-1.

Повер шелл для виндовс 10 что это. Смотреть фото Повер шелл для виндовс 10 что это. Смотреть картинку Повер шелл для виндовс 10 что это. Картинка про Повер шелл для виндовс 10 что это. Фото Повер шелл для виндовс 10 что это

Обратите внимание, что в строке заголовка консоли PowerShell указано «Windows PowerShell», как показано на рис. 1-4. Некоторые команды выполняются нормально, но PowerShell не поддерживает управление доступом пользователей (UAC). Это означает, что оболочка не может запрашивать повышение прав для задач, требующих утверждения администратором. Выдается следующее сообщение об ошибке.

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

Закройте PowerShell. Перезапустите консоль PowerShell, только на этот раз щелкните правой кнопкой мыши ярлык Windows PowerShell и выберите пункт Запуск от имени администратора, как показано на рис. 1-5.

Повер шелл для виндовс 10 что это. Смотреть фото Повер шелл для виндовс 10 что это. Смотреть картинку Повер шелл для виндовс 10 что это. Картинка про Повер шелл для виндовс 10 что это. Фото Повер шелл для виндовс 10 что это

Если вы выполнили вход в Windows в качестве обычного пользователя, вам будет предложено ввести учетные данные. Я буду вводить учетные данные учетной записи пользователя, которая является пользователем домена и локальным администратором, как показано на рис. 1-6.

Повер шелл для виндовс 10 что это. Смотреть фото Повер шелл для виндовс 10 что это. Смотреть картинку Повер шелл для виндовс 10 что это. Картинка про Повер шелл для виндовс 10 что это. Фото Повер шелл для виндовс 10 что это

После повторного запуска PowerShell с правами администратора в строке заголовка должно быть указано «Администратор: Windows PowerShell», как показано на рис. 1-7.

Повер шелл для виндовс 10 что это. Смотреть фото Повер шелл для виндовс 10 что это. Смотреть картинку Повер шелл для виндовс 10 что это. Картинка про Повер шелл для виндовс 10 что это. Фото Повер шелл для виндовс 10 что это

Теперь, когда PowerShell работает с повышенными привилегиями локального администратора, управление доступом пользователей больше не будет проблемой в случае запуска на локальном компьютере команды, для выполнения которой обычно требуется запрос на повышение прав. Следует иметь в виду, что любая команда, выполняемая из этого экземпляра консоли PowerShell с повышенными привилегиями, также запускается с повышенными привилегиями.

Чтобы упростить поиск PowerShell и запускать оболочку от имени администратора, рекомендуется закрепить ее на панели задач и настроить автоматический запуск от имени администратора при каждом запуске.

Еще раз выполните поиск PowerShell, только на этот раз щелкните ее правой кнопкой мыши и выберите пункт «Закрепить на панели задач», как показано на рис. 1-8.

Повер шелл для виндовс 10 что это. Смотреть фото Повер шелл для виндовс 10 что это. Смотреть картинку Повер шелл для виндовс 10 что это. Картинка про Повер шелл для виндовс 10 что это. Фото Повер шелл для виндовс 10 что это

Щелкните правой кнопкой мыши ярлык PowerShell, который теперь закреплен на панели задач, и выберите пункт «Свойства», как показано на рис. 1-9.

Повер шелл для виндовс 10 что это. Смотреть фото Повер шелл для виндовс 10 что это. Смотреть картинку Повер шелл для виндовс 10 что это. Картинка про Повер шелл для виндовс 10 что это. Фото Повер шелл для виндовс 10 что это

Щелкните «Дополнительно», как показано в первой части рис. 1-10, установите флажок «Запуск от имени администратора», как показано во второй части рис. 1-10, а затем дважды нажмите кнопку OK, чтобы принять изменения и выйти из обоих диалоговых окон.

Повер шелл для виндовс 10 что это. Смотреть фото Повер шелл для виндовс 10 что это. Смотреть картинку Повер шелл для виндовс 10 что это. Картинка про Повер шелл для виндовс 10 что это. Фото Повер шелл для виндовс 10 что это

Вам больше никогда не придется беспокоиться о поиске PowerShell или о том, запущена ли оболочка от имени администратора или нет.

Запуск PowerShell с повышенными привилегиями для предотвращения проблем, связанных с управлением доступом пользователей, влияет только на команды, выполняемые на локальном компьютере. Он не влияет на команды, предназначенные для запуска на удаленных компьютерах.

Какую версию PowerShell я использую?

Политика выполнения

Вопреки распространенному мнению, политика выполнения в PowerShell не является средством обеспечения безопасности. Она предназначена для предотвращения непреднамеренного выполнения сценария пользователем. Определенный пользователь может без труда обойти политику выполнения в PowerShell. В таблице 1-2 показана политика выполнения по умолчанию для текущих операционных систем Windows.

Версия операционной системы WindowsПолитика выполнения по умолчанию
Server 2019Удаленно подписанная
Server 2016Удаленно подписанная
Windows 10С ограниченным доступом

Любая команда PowerShell может выполняться в интерактивном режиме, независимо от настройки политики выполнения. Политика выполнения влияет только на команды, выполняемые в сценарии. Командлет Get-ExecutionPolicy используется для определения текущего параметра политики выполнения, а командлет Set-ExecutionPolicy используется для изменения политики выполнения. Рекомендуется использовать политику RemoteSigned, которая требует, чтобы предназначенные для выполнения скачиваемые сценарии были подписаны доверенным издателем.

Проверка текущей политики выполнения

Эта команда выполняется в интерактивном режиме без ошибок при условии, что PowerShell запущена с повышенными правами администратора. Но при сохранении в виде файла сценария и попытке выполнить сценарий выдается ошибка.

Обратите внимание, что в сообщении об ошибке, приведенном в предыдущем наборе результатов, указывается точная проблема (в этой системе отключено выполнение сценариев). При выполнении в PowerShell команды, которая создает сообщение об ошибке, обязательно следует прочесть сообщение об ошибке, а не просто перезапустить команду и надеяться на ее успешное завершение.

Измените политику выполнения PowerShell на удаленно подписанную.

Обязательно прочтите предупреждение, которое отображается при изменении политики выполнения. Кроме того, рекомендуется ознакомиться с разделом справки about_Execution_Policies, чтобы знать о влиянии изменения политики выполнения на безопасность.

Теперь, когда для политики выполнения задано значение Удаленно подписанная, сценарий Stop-TimeService.ps1 будет выполняться без ошибок.

Прежде чем продолжить, запустите службу времени Windows. В противном случае могут возникнуть непредвиденные проблемы.

Сводка

В этой главе вы узнали, как найти и запустить PowerShell, а также как создать ярлык для запуска PowerShell от имени администратора. Вы также ознакомились с политикой выполнения по умолчанию и поняли, как ее изменять.

Просмотр

Рекомендуем прочесть

Тем, кто хочет более подробно изучить темы, описанные в этой главе, рекомендуется ознакомиться со следующими разделами справки по PowerShell.

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

Источник

Что такое Windows PowerShell и с чем его едят? Часть 2: введение в язык программирования

Исторически утилиты командной строки в Unix-системах развиты лучше чем в Windows, однако с появлением нового решения ситуация изменилась.

Повер шелл для виндовс 10 что это. Смотреть фото Повер шелл для виндовс 10 что это. Смотреть картинку Повер шелл для виндовс 10 что это. Картинка про Повер шелл для виндовс 10 что это. Фото Повер шелл для виндовс 10 что это

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

Оглавление:

Писать код можно в любом текстовом редакторе или с использованием интегрированной среды разработки — проще всего взять Windows PowerShell ISE из комплекта поставки серверных операционных систем Microsoft. Нужно это только для достаточно сложных скриптов: короткие наборы команд проще выполнять в интерактивном режиме.

Комментарии

Использование комментариев считается частью хорошего стиля программирования наряду с правильными отступами и пробелами:

Переменные и их типы

Повер шелл для виндовс 10 что это. Смотреть фото Повер шелл для виндовс 10 что это. Смотреть картинку Повер шелл для виндовс 10 что это. Картинка про Повер шелл для виндовс 10 что это. Фото Повер шелл для виндовс 10 что это

Для инициализации переменной (присвоения ей значения) применяется оператор присваивания (символ =):

Объявить переменную можно с указанием ее типа в квадратных скобках (оператор приведения типов) перед именем или значением:

PowerShell поддерживает неявное преобразование типов, кроме того тип переменной может меняться на ходу (например, при помощи оператора присваивания), если он не указан принудительно — в этом случае интерпретатор выдаст ошибку. Определить тип переменной из предыдущего примера можно при помощи вызова метода GetType():

Повер шелл для виндовс 10 что это. Смотреть фото Повер шелл для виндовс 10 что это. Смотреть картинку Повер шелл для виндовс 10 что это. Картинка про Повер шелл для виндовс 10 что это. Фото Повер шелл для виндовс 10 что это

Существует некоторое количество командлетов для управления переменными. Их список в удобной форме выводится с помощью команды:

Повер шелл для виндовс 10 что это. Смотреть фото Повер шелл для виндовс 10 что это. Смотреть картинку Повер шелл для виндовс 10 что это. Картинка про Повер шелл для виндовс 10 что это. Фото Повер шелл для виндовс 10 что это

Для просмотра объявленных переменных и их значений можно использовать специальный командлет:

Такой способ кажется чрезмерно громоздким, с переменными намного удобнее работать через операторы или обращаясь к их свойствам и методам напрямую. Тем не менее командлеты имеют право на существование, поскольку позволяют задать некоторые дополнительные параметры. Важно понимать, что пользовательские переменные определены только в рамках текущего сеанса. После закрытия консоли или завершения сценария они удаляются.

Системные переменные

Повер шелл для виндовс 10 что это. Смотреть фото Повер шелл для виндовс 10 что это. Смотреть картинку Повер шелл для виндовс 10 что это. Картинка про Повер шелл для виндовс 10 что это. Фото Повер шелл для виндовс 10 что это

Вдобавок к операторам и командлетам для обращения к объявленным переменным существует псевдонакопитель Variable:. Работать с ним можно по аналогии с другими накопителями, а переменные в этом случае напоминают объекты файловой системы:

Повер шелл для виндовс 10 что это. Смотреть фото Повер шелл для виндовс 10 что это. Смотреть картинку Повер шелл для виндовс 10 что это. Картинка про Повер шелл для виндовс 10 что это. Фото Повер шелл для виндовс 10 что это

Области видимости

Переменные окружения (среды)

Из PowerShell доступен еще один псевдонакопитель Env:, с помощью которого можно обратиться к переменным среды. При запуске оболочки они копируются из родительского процесса (т.е. из инициировавшей текущий сеанс программы) и обычно их первоначальные значения совпадают со значениями в панели управления. Для просмотра переменных окружения используется командлет Get-ChildItem или его псевдонимы (алиасы): ls и dir.

Повер шелл для виндовс 10 что это. Смотреть фото Повер шелл для виндовс 10 что это. Смотреть картинку Повер шелл для виндовс 10 что это. Картинка про Повер шелл для виндовс 10 что это. Фото Повер шелл для виндовс 10 что это

Эти переменные представляют собой последовательности байтов (или символов, если угодно), интерпретация которых зависит только от использующей их программы. Командлеты *-Variable с переменными среды не работают. Чтобы обратиться к ним, придется использовать префикс диска:

Повер шелл для виндовс 10 что это. Смотреть фото Повер шелл для виндовс 10 что это. Смотреть картинку Повер шелл для виндовс 10 что это. Картинка про Повер шелл для виндовс 10 что это. Фото Повер шелл для виндовс 10 что это

Арифметические операторы и операторы сравнения

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

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

Условный переход

Операторы ветвления в PowerShell стандартные: IF(IF…ELSE, IF…ELSEIF…ELSE) и SWITCH. Рассмотрим их использование на примерах:

Циклы

В языке PowerShell есть несколько разновидностей циклов: WHILE, DO WHILE, DO UNTIL, FOR и FOREACH.

Цикл с предусловием работает, если/пока оно выполняется:

Циклы с постусловием отработают хотя бы один раз, потому что проверка условия производится после выполнения итерации. При этом DO WHILE работает, пока условие истинно, а DO UNTIL — пока оно ложно:

Количество итераций цикла FOR известно заранее:

В цикле FOREACH осуществляет перебор элементов массива или коллекции (хэш-таблицы):

Массивы

В переменных PowerShell хранятся не только единичные объекты (число, строка и т.д.), но и множественные. Самая простая разновидность таких переменных — массивы. Массив может состоять из нескольких элементов, из одного элемента или быть пустым, т.е. не содержать элементов. Для его объявления используется оператор @(), который понадобится нам в следующей статье — он очень важен для добавления в массив других массивов (создания многомерных массивов), передачи массивов в функции в качестве аргумента и тому подобных задач:

В большинстве случаев оператор @() можно опустить:

В этом случае массив из одного элемента инициализируется следующим образом

Для обращения к элементам массива используется начинающийся с нуля целочисленный индекс и оператор индекса (квадратные скобки):

Можно указать несколько индексов через запятую, в т.ч. повторяющихся:

Повер шелл для виндовс 10 что это. Смотреть фото Повер шелл для виндовс 10 что это. Смотреть картинку Повер шелл для виндовс 10 что это. Картинка про Повер шелл для виндовс 10 что это. Фото Повер шелл для виндовс 10 что это

Повер шелл для виндовс 10 что это. Смотреть фото Повер шелл для виндовс 10 что это. Смотреть картинку Повер шелл для виндовс 10 что это. Картинка про Повер шелл для виндовс 10 что это. Фото Повер шелл для виндовс 10 что это

Обратите внимание, что значения целочисленного массива могут быть больше максимального значения индекса массива с данными. В этом случае возвращаются все значения до последнего:

Повер шелл для виндовс 10 что это. Смотреть фото Повер шелл для виндовс 10 что это. Смотреть картинку Повер шелл для виндовс 10 что это. Картинка про Повер шелл для виндовс 10 что это. Фото Повер шелл для виндовс 10 что это

В PowerShell массивы могут содержать элементы разных типов или быть строго типизированными:

Пример создания строго типизированного массива:

Хэш-таблицы

Еще один базовый тип переменных в языке PowerShell — хэш-таблицы, которые также называют ассоциативными массивами. Hashtable похожи на JSON object и строятся по принципу ключ-значение. В отличие от обычных массивов, доступ к их элементам осуществляется по именованным ключам, которые являются свойствами объекта (также можно использовать оператор индекса — квадратные скобки).

Пустая хэш-таблица объявляется с помощью служебного символа @ и операторных скобок:

При объявлении можно сразу создать ключи и присвоить им значения:

Для добавления элемента в хэш-таблицу нужно присвоить ей еще несуществующий ключ или воспользоваться методом Add(). Если присваивание делается с существующим ключом, его значение изменится. Для удаления элемента из хэш-таблицы используется метод Remove().

Повер шелл для виндовс 10 что это. Смотреть фото Повер шелл для виндовс 10 что это. Смотреть картинку Повер шелл для виндовс 10 что это. Картинка про Повер шелл для виндовс 10 что это. Фото Повер шелл для виндовс 10 что это

Переменные этого типа можно передавать в качестве аргументов функциям и командлетам — в следующей статье мы изучим как это делается, а также рассмотрим еще один сходный тип — PSCustomObject.

Функции

В языке PowerShell есть все необходимые для процедурного программирования элементы, включая функции. Для их описания используется служебное слово Function, после которого требуется указать имя функции и заключенное в операторные скобки тело. При необходимости передать в функцию аргументы их можно указать сразу после имени в круглых скобках.

Для примера создадим функцию возведения числа в квадрат:

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

Из-за способа передачи аргументов саму функцию иногда приходится заключать в скобки:

Повер шелл для виндовс 10 что это. Смотреть фото Повер шелл для виндовс 10 что это. Смотреть картинку Повер шелл для виндовс 10 что это. Картинка про Повер шелл для виндовс 10 что это. Фото Повер шелл для виндовс 10 что это

При описании функции можно присвоить аргументам значения по умолчанию:

Существует и другой синтаксис для описания аргументов функции, кроме того параметры могут считываться из конвейера — все это пригодится в следующей статье, когда мы будем рассматривать экспортируемые модули и создание собственных командлетов.

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

В PowerShell существует механизм Try…Catch…Finally, позволяющий обрабатывать исключительные ситуации. В блок Try помещается код, в котором может возникнуть ошибка, а в блок Catch — ее обработчик. Если ошибки не было, он не выполняется. Блок Finally выполняется после блока Try вне зависимости от возникновения ошибки, а блоков Catch может быть несколько для исключений различных типов. Само исключение записывается в не требующую объявления переменную по умолчанию ($_) и может быть легко извлечено. В примере ниже мы реализуем защиту от ввода некорректного значения:

Повер шелл для виндовс 10 что это. Смотреть фото Повер шелл для виндовс 10 что это. Смотреть картинку Повер шелл для виндовс 10 что это. Картинка про Повер шелл для виндовс 10 что это. Фото Повер шелл для виндовс 10 что это

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *