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

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

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

Разумеется Windows PowerShell — это в первую очередь командная оболочка с языком сценариев, изначально созданная на основе платформы .NET Framework, а позднее — на .NET Core. В отличие от принимающих и возвращающих текстовые данные оболочек, Windows PowerShell работает с классами .NET, у которых есть свойства и методы. PowerShell позволяет выполнять обычные команды, а также дает доступ к объектам COM, WMI и ADSI. В ней используются различные хранилища, вроде файловой системы или реестра Windows, для доступа к которым созданы т.н. поставщики (providers). Стоит отметить возможность встраивания исполняемых компонентов PowerShell в другие приложения для реализации различных операций, в т.ч. через графический интерфейс. Верно и обратное: многие приложения для Windows предоставляют доступ к своим интерфейсам управления через PowerShell. 

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

  • Менять настройки операционной системы;
  • Управлять службами и процессами;
  • Настраивать роли и компоненты сервера;
  • Устанавливать программное обеспечение;
  • Управлять установленным ПО через специальные интерфейсы;
  • Встраивать исполняемые компоненты в сторонние программы;
  • Создавать сценарии для автоматизации задач администрирования;
  • Работать с файловой системой, реестром Windows, хранилищем сертификатов и т.д.

Написание и запуск скриптов

Скрипты сохраняются в виде файлов с расширением .ps1. Несмотря на то, что PowerShell уже давно является нативной частью ОС Windows, вы не сможете запустить его скрипты простым двойным щелчком. Для этого надо кликнуть правой кнопкой по скрипту и выбрать «Запустить в PowerShell».

Также существуют системные политики, ограничивающие выполнение скриптов. Можно проверить текущие параметры политики, введя команду Get-ExecutionPolicy. Результатом будет одно из следующих значений:

  • Restricted — выполнение скриптов запрещено. Стандартная конфигурация;
  • AllSigned — можно запускать скрипты, подписанные доверенным разработчиком; перед запуском скрипта PowerShell запросит у вас подтверждение;
  • RemoteSigned — можно запускать собственные скрипты или те, что подписаны доверенным разработчиком;
  • Unrestricted — можно запускать любые скрипты.

Для начала работы необходимо изменить настройку политики запуска на RemoteSigned, используя команду Set-ExecutionPolicy:

Команда Set-ExecutionPolicy в PowerShell

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

Windows powershell – что это за программа?

Программа windows powershell, это расширенная версия командной строки. Такое простое объяснение не совсем точное по факту, но онтологически истинное.

Если рядовой пользователь ПК не пользовался командной строкой (CMD), то понять назначение windows powershell, и вообще начать ей пользоваться ему будет не легко.

Но самое важное – что для среднестатистического владельца компьютера, даже если он активный пользователь соцсетей и продвинутый блогер, windows powershell вообще не нужна!

Широчайшие возможности для:

· оптимизации работы сетей;

· удалённого управления серверами;

· настройки операционной системы;

· контроля пакетов;

востребованы только пользователями уровня «сисадмин».

Но в отличии от простой «командной строки», windows powershell может сохранять скрипты, которые созданы самой программой.

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

Для простого пользователя тоже есть развлечение, windows powershell можно использовать для выполнения арифметических действий:

· Сложение;

· Вычитание;

· Умножение;

· Деление.

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

Виндовс повершел.jpg

Это командлет для сложения 5 и 7. Писать программу надо вручную.

А можно выполнить это же сложение на калькуляторе, или на листочке (в столбик).

Если вам сложно так считать, а легче пользоваться калькулятором, то можно со 100% уверенность сказать: windows powershell вам не пригодится.

Виндовс Повер Шелл — что это

Их достаточно много. Выделяют лишь несколько основных возможностей Windows PowerShell:

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

Интерфейс утилиты Windows PowerShell, что это такое, знает далеко не каждый пользователь

Краткий обзор программы

По сути, это усовершенствованная версия MS-DOS – старейшей дисковой операционной системы от компании Microsoft, выпущенной еще в середине 80-х гг. прошлого века. Она содержала в себе приложения, с функцией интерпретаторов, далеких от совершенства, умевших задавать несколько простых команд.

Разработчики неоднократно пытались компенсировать недостатки MS-DOS дополнительными компонентами для запуска сценария, такими как MS Script Host, с языками вроде Jscript, но это решало проблему лишь частично. В 2003 г. началась разработка программы способной заменить старую оболочку, получившую название Monad, известную сейчас как PowerShell. Хотя его впервые запустили в конце 2006 года и включили в ОС Windows XP, в завершенном виде он вышел только спустя 10 лет непрерывных доработок, в 2016 г. когда получил открытый исходный код. PowerShell широко используется в Windows 7, 8 и 10.Открываем через поиск

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

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

dsgltei5iog1igfonvgmqrprvpg.png

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

  • Стрелки вверх и вниз прокручивают историю для повтора ранее набранных команд;
  • Стрелка вправо в конце строки перенабирает предыдущую команду посимвольно;
  • Ctrl+Home удаляет набранный текст от позиции курсора до начала строки;
  • Ctrl+End удаляет текст от курсора до конца строки.

F7 показывает окно с набранными командами и позволяет выбрать одну из них. В консоли также работает выделение текста мышью, копипаст, позиционирование курсора, удаление, backspace — все как мы любим.

4zdz8ycsabniuypzx-tloxc9vk4.png

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

yp4owoc2brcx0vrosfgjkkb_vz4.png

Оценка производительности компьютера

Чтобы узнать производительность компьютера на Windows 10 по шкале от 1 (min) до 9,9 (max), сделайте следующее:

  1. Запустите PowerShell: [WIN + R] ► PowerShell ► Ввод
  2. Введите команду [winsat formal] и дождитесь окончания процесса
  3. Затем введите команду [Get-CimInstance Win32_WinSAT] и посмотрите результат.
zen.yandex.ru

Общая производительность будет представлена в виде таблички с оценкой производительности отдельно для каждого показателя:

  • CPUScore — оценка работы процессора
  • D3DScore — оценка работы видеокарты в играх
  • DiskScore — оценка работы жесткого диска: для HDD максимум 5,9, для SSD — 9,9
  • GraphicsScore — оценка работы видеокарты в видео и на рабочем столе
  • MemoryScore — оценка работы ОЗУ (RAM)

Дальнейшие действия

Начало работы

Не знакомы с PowerShell и не знаете, с чего начать? Просмотрите следующие ресурсы:

  • Installing Windows PowerShell (Установка Windows PowerShell)
  • Основы PowerShell
  • Краткие руководства по PowerShell
  • Модули Learn по PowerShell

Использование PowerShell

Узнайте, как PowerShell используется в разных сценариях и на разных платформах.

  • Удаленное взаимодействие с PowerShell через SSH
  • Начало работы с Azure PowerShell
  • Создание конвейера CI/CD с помощью DSC
  • Управление Microsoft Exchange

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

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

Start-Job

— запуск фоновой задачи;

Stop-Job

— остановка фоновой задачи;

Get-Job

— просмотр списка фоновых задач;

Receive-Job

— просмотр результата выполнения фоновой задачи;

Remove-Job

— удаление фоновой задачи;

Wait-Job

— перевод фоновой задачи обратно в консоль.

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

Start-Job {Get-Service}

_lv731nqaggn7kyk7thfu1g4gzy.png

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

Get-Job

tur4halfauj3kro8ajjersimf8o.png

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

Receive-Job Job1 | more

znodyzk81wsadjjacvg9tmeis9g.png

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

Версии PowerShell

С момента первого релиза в 2006 году PowerShell серьезно изменился. Инструмент доступен для множества систем, работающих на разных аппаратных платформах (x86, x86-64, Itanium, ARM): Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008/2008 R2, Windows 7, Windows 8, Windows 8.1, Windows RT, Windows RT 8.1, Windows Server 2012/2012 R2, Windows 10, Windows Server 2016, GNU/Linux и OS X. Последний релиз 6.2 выпущен 10 января 2018 года. Написанные для более ранних версий скрипты с высокой вероятностью будут работать в более поздних, а вот с обратным переносом могут возникнуть проблемы, поскольку за годы развития в PowerShell появилось большое количество новых командлетов. Узнать версию установленной на компьютере командной оболочки можно с помощью свойства PSVersion встроенной переменной $PSVersionTable:

$PSVersionTable.PSVersion

ib0o8zeqxrn7ye3ddykovsckmis.png

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

Get-Variable -Name PSVersionTable –ValueOnly

3mzcr4i_lettn4s_ulrqo_jpm8g.png

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

следующей статье

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: