WindowsПрограммирование

5 причин, по которым вы должны использовать PowerShell вместо пакетных сценариев

5 причин, по которым вы должны использовать PowerShell вместо пакетных сценариев

Большинство пользователей никогда не слышали о PowerShell, не говоря уже о том, чтобы потрогать его и попробовать. Возможно, это из-за названия, которое звучит как нечто, используемое только хардкорными фанатами ИТ. Или, возможно, потому что преимущества PowerShell неясны. Может быть, это из-за начальной кривой обучения.

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

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

1. Улучшен сценарий PowerShell

Как и пакетные сценарии, сценарии PowerShell — это просто строки инструкций, записанных в текстовый файл, за исключением того, что файл использует расширение .PS1 вместо расширения .BAT или .CMD. Но на этом сходство заканчивается.

Пакетные сценарии имеют одно огромное ограничение: единственные доступные вам команды — это команды, которые вы можете использовать в командной строке. Иными словами, пакетный сценарий — это просто серия команд командной строки ( с некоторой условной логикой, приведенной в разделе ). Это хорошо для простых задач и простой автоматизации, но реальное препятствие, когда вы хотите сделать что-то сложное.

5 причин, по которым вам следует использовать PowerShell вместо пакетных сценариев Пакет PowerShell слишком сложен

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

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

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

2. PowerShell поддерживает полный .NET API

Большая часть возможностей и гибкости PowerShell обеспечивается его интеграцией с .NET Framework. Каждая команда PowerShell (называемая командлетом ) на самом деле является классом .NET, который вызывается во время выполнения, что означает, что командлеты могут быть написаны на любом языке .NET (который на момент написания этой статьи включает Visual Basic, Visual C ++ и C #). ).

Так в чем преимущество поддержки .NET API?

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

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

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

3. PowerShell может запускать пакетные сценарии

Если вышеупомянутые причины не убедили вас, то я верю, что одна из них убедит вас.

PowerShell не построен поверх командной строки. Эти две оболочки совершенно разные с отдельными базовыми архитектурами, поэтому технически неправильно думать о PowerShell как «Командная строка 2.0» или что-то еще. Тем не менее, PowerShell разработан для обратной совместимости.

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

5 причин, по которым вам следует использовать PowerShell вместо пакетных сценариев PowerShell, обратно совместимых

Например, когда вы запускаете cd в PowerShell, вы фактически запускаете командлет Set-Location . В этом случае «cd» — это просто псевдоним «Set-Location», и это облегчает вам жизнь. Точно так же, когда вы используете переименование в PowerShell, он тайно запускает командлет Rename-Item .

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

4. PowerShell — предполагаемое будущее Microsoft

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

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

Но самое главное, Microsoft увеличивает количество вопросов, связанных с PowerShell, которые задаются на некоторых сертификационных экзаменах. Фактически, согласно интервью, опубликованному в 2009 году в журнале TechNet Magazine, Microsoft заявила, что «единственным наиболее важным навыком, который понадобится администратору Windows в ближайшие годы, является знание Windows PowerShell».

Итак, являетесь ли вы опытным домашним пользователем или ИТ-специалистом, который управляет системами Windows, пришло время признать, что пакетные сценарии устарели, а PowerShell — это будущее.

5. PowerShell можно использовать в Linux

За последние несколько лет Microsoft сделала несколько удивительных шагов, связанных с областью программного обеспечения с открытым исходным кодом. В 2014 году они открыли .NET Framework и сделайте его доступным на нескольких платформах. Затем, в 2016 году, они встроили оболочку Bash в Windows 10.

5 причин, по которым вы должны использовать PowerShell вместо пакетных скриптов в Windows PowerShell

А в 2017 году PowerShell стал проще, чем когда-либо, для установки в Linux. На момент написания этой статьи у Microsoft теперь есть репозитории пакетов, которые можно использовать для установки PowerShell Core в большинстве основных версий Linux. Если ваша система поддерживает apt-get или yum , то, скорее всего, вы можете установить ее без проблем. Если нет, вы все равно можете использовать старые инструкции по установке.

Почему это хорошие новости? Потому что ваши знания PowerShell больше не будут ограничиваться одной операционной системой. Пакетные сценарии могут выполняться только в Windows (или через Wine в Linux, что мы не рекомендуем), поэтому это ограничительно, в то время как PowerShell теперь может помочь в расширении ваших знаний.

Начало работы с Windows PowerShell

Убеждены еще? Если нет, то все в порядке. Как я уже говорил выше, PowerShell не для всех, и если вы достаточно счастливы, используя пакетные сценарии для личного использования, не стесняйтесь продолжать их использовать. Но если вы хотите идти в ногу с развивающимися технологиями и хотите стать сертифицированным ИТ-специалистом, изучение PowerShell — это скорее вопрос времени, а не того .

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

Для каких вещей вы используете пакетные скрипты? Будете ли вы переходить на PowerShell? Если нет, что бы вы поменяли? Поделитесь своими мыслями с нами ниже!

Похожие посты
Windows

Драйверы для Windows 10

Windows

Лучшие приложения для фотографии на вашем Windows Phone

Windows

Команды командной строки для панели управления апплетами

Windows

Официальное приложение SmugMug теперь доступно для Windows Phone