PowerShell: что это и что умеет

Теги: IT
Когда обычный человек работает с операционной системой Windows, он видит лишь GUI — графический интерфейс пользователя, первый слой ОС. Это то, что позволило Windows захватить первенство среди всех ОС — пользователю просто не нужно задумываться о том, как все работает, достаточно нажать пару кнопок и кликнуть на несколько иконок. Но если заглянуть чуть глубже, выйти за рамки GUI, то откроется огромный пласт всевозможных скриптов и команд, которые выполняются в момент работы с компьютером. И один из способов управления этим пластом — PowerShell.

Что такое PowerShell

Немного углубимся в тему с операционными системами. Существует понятие оболочка — это пользовательский интерфейс, с помощью которого можно управлять ОС. Компания Microsoft внедрился в массы GUI, графический интерфейс пользователя, который предоставляет человеку возможность управления через кнопки, иконки и тому подобное.
Но до начала 21 века в ходу была единственная оболочка — командная строка. В 99% случаев это было просто черное окно, в которое можно было вводить различные команды. PowerShell — духовный наследник стандартной консоли, созданный Майкрософт для автоматизации задач и управления конфигурацией. Причем в отличие от многих продуктов компании, например Windows и Microsoft Office, PowerShell полностью бесплатный и открытый, его можно установить на любые платформы. Оболочка основана на .NET Framework и состоит из командной строки и языка сценариев.

How To Install Kubernetes Via Minikube Using Windows 10 PowerShell


Принцип работы

Базовая единица PowerShell — командлет — встроенная программа, которая позволяет выполнить какую-либо функцию или задачу. За командлетом Microsoft прячет всю сервисную работу: классы, методы, объекты, вызовы API и прочие действия. Вся прелесть PowerShell в том, что работать в оболочке можно исходя из общих знаний о том, что делает каждый командлет. Разбираться и понимать все внутренние процессы просто не нужно.
Для стандартизации все командлеты создаются по шаблону глагол-существительное. Например, в командах можно найти New, Set, Get, Add и Copy. В технической документации Майкрософт указала полный список утвержденных команд и их способ предполагаемого использования.
Отдельно важно разобрать интегрированную среду сценариев Windows PowerShell. Суть в том, что это объединение графического интерфейса и командной оболочки, с помощью которого можно одной командой запускать, создавать, изменять и тестировать сценарии. Грубо говоря инструмент позволяет в один скрипт загрузить набор команд со сложной логикой. Благодаря подобной особенности PowerShell отлично подходит администраторам систем Windows, ведь им часто требуется последовательный запуск нескольких команд, контролирующих систему.

Для чего нужен

Как уже было указано, PowerShell работает и как интерактивный язык, и как инструмент сценариев. Оба варианта в основном используются для администрирования систем, но их гибкость пригодится для большинства IT-специалистов.
Например, использование PowerShell в качестве командной строки позволит удаленно подключиться к другой системе. За счет этой функции системный администратор сможет удаленно вводить команды со своего компьютера на другой, тем самым выполняя свою работу. В глобальном смысле это позволит автоматизировать работу любой операционной системы, в локальном позволяет решать проблемы сразу после их появления. Итог всегда один — экономия времени IT-специалистов.
Если говорить о создании сценариев, то здесь важно именно последовательное выполнение нескольких команд. Этим также пользуются IT-администраторы, так как им требуется запуск нескольких командлетов, регулирующих работу ОС. Соответственно, если сделать это нужно несколько раз, то можно просто запустить командлет в PowerShell — это сильно ускорит работу.
Для обычного пользователя также найдется ряд полезных функций, например удаление ненужных элементов системы, установка системных приложений и компонентов без использования Microsoft Store, контроль за выполнением задач в системе и множество других вещей. Плюс PowerShell автоматизирует многие задачи: полное развертывание нового сервера в виртуальной среде, конфигурация новых почтовых ящиков, множество дополнительных функций.

How to Use PowerShell to Manage Folder Permissions | Petri IT Knowledgebase

О чем нужно знать перед началом работы с PowerShell

Главное — внедрение PowerShell в систему будет продолжаться и дальше. Конечно, уже 20 лет Microsoft пытается продвигать только графический интерфейс пользователя. Однако сами команды никуда не уходят, их просто прячут за сотнями иконок и кнопок. Причем для нормального функционирования GUI эти кнопки и иконки обязательно должны быть связаны с командами, а вот при работе с командной строкой ничего дополнительного не требуется.
Соответственно, с помощью PowerShell можно не развертывая GUI работать с операционной системой, развертывать изменения и обновления. А единственным ограничением станет фантазия пользователя и уровень знаний. Конечно, рано говорить даже о частичном отказе от GUI, но чем больше пользователей узнают о существовании PowerShell и его возможностей, тем быстрее Microsoft внедрит его обязательное использования.

Уже сейчас PowerShell внедрен практически во все продукты Microsoft, даже в их новые офисные и серверные продукты. И все дело в простой необходимости — в GUI этих программ есть команды, которые нельзя выполнить через графическую оболочку, и команды, которые можно выполнить только с помощью PowerShell.
Но не стоит забывать о явной опасности. PowerShell крайне мощный инструмент и в правильных руках способен полностью изменить систему. Соответственно в неправильных руках этот же инструмент систему полностью разрушит. Например, можно запросто отформатировать системный диск, что полностью убьет операционную систему — потребуется ее переустановка. Поэтому нельзя бездумно подходить к использованию этого мощного инструмента.
15 февраля 2023