Что если бы вы могли перенести производительность Linux в Windows? Большинство дистрибутивов Linux поставляются с мощной оболочкой Bash.PowerShell – не менее мощный терминал для Windows
Что если бы вы могли перенести производительность Linux в Windows? Одно из главных различий между Windows и Linux заключается в том, что большинство дистрибутивов Linux поставляются с мощной оболочкой Bash; для сравнения, командная строка в Windows – это голый терминал. Что если бы в Windows был такой же мощный терминал?
С PowerShell эта мечта может стать реальностью
Отказ от ответственности: PowerShell не является ‘Bash для Windows’ и не предназначен для этого. Да, обе эти среды командной строки могут значительно повысить вашу производительность, но на этом их сходство заканчивается. Вы должны рассматривать PowerShell как отдельный подход к созданию мощной среды командной строки
Что такое PowerShell?
PowerShell можно рассматривать как модернизацию командной строки Windows. Он может выполнять многие из тех же задач (например.навигация по системе, взаимодействие с файлами, изменение свойств), но открывает весь фреймворк.NET для максимальной мощности. Чтобы понять, какие преимущества это дает, продолжайте читать
Есть два основных преимущества, которые делают PowerShell лучше традиционного командного интерпретатора: расширяемость и возможность написания сценариев
Хотя PowerShell поставляется с начальным набором команд, вы можете добавлять свои собственные команды, создавая командлеты. Команды – это классы, которые создаются с помощью языка C# и при вызове выполняются в среде PowerShell. Поскольку они написаны на языке C#, команды имеют доступ ко всей системе.NET
Фреймворк.NET содержит огромную библиотеку кода, предоставленную компанией Microsoft. При написании собственной команды вы получаете доступ ко всему этому коду. Извлечение информации о процессе? Криптографические алгоритмы? Подключение к базе данных? Сетевые коммуникации? Все это – и даже больше – обеспечивается фреймворком.NET, а значит, большая часть работы сделана за вас. Вам нужно только собрать ее воедино, вызывая нужные функции
Компания Microsoft ясно дала понять, что PowerShell не собирается уходить – более того, будущий менеджер пакетов в Windows 10 будет основан на PowerShell – поэтому всем стоит задуматься о его изучении как можно скорее
Почему PowerShell – это здорово
PowerShell имеет множество продвинутых функций, большинство из которых могут быть актуальны только для программистов Windows и администраторов серверов, но есть несколько основных функций, которые просты для понимания, но чрезвычайно полезны для всех
Среда PowerShell достаточно проста, чтобы каждый мог освоить ее в течение нескольких часов после прочтения. Кривая обучения есть, но она относительно неглубокая, и вам не нужно изучать ее всю, чтобы пользоваться ею
Подробная информация о процессе. Одно дело – использовать альтернативный диспетчер задач, но PowerShell позволяет выполнять некоторые аккуратные трюки в отношении управления процессами. Начните с родных командлетов Get-Process и Stop-Process
Простая автоматизация и создание сценариев. Базовая Windows не предоставляет простого способа автоматизации задач. До появления PowerShell пакетные файлы могли выполнять только примитивные сценарии, а для автоматизации требовались сторонние решения (например.Perl, AutoHotkey). Но с помощью PowerShell можно запланировать выполнение задач в определенное время или с определенным интервалом
Например, с помощью модуля ScheduledTasks можно вызвать выполнение определенной программы или процесса в соответствии с триггером (например.в определенное время, при возникновении системного события и т.д.), и вы можете определить контекст для этой задачи (например.ограничения безопасности)
В Bash (Linux) команды можно объединять в трубопроводы таким образом, что вывод одной команды может быть использован в качестве ввода для другой команды. Например, базовая команда Get-Process выводит информацию обо всех запущенных процессах. Что если вам нужна информация только о подмножестве процессов? Вы можете передать ее с помощью команды Where-Object, которая действует как фильтр процессов, чтобы выполнить Get-Process только для процессов, возвращенных командой Where-Object
PowerShell также предоставляет несколько собственных команд для условной логики (например.If, Else, For, Switch), которые можно использовать для управления потоком выполнения команд. Например, можно создать сценарий PowerShell, который будет выполнять определенные команды только при выполнении определенных условий (например.очищать процессы, когда оперативная память близка к заполнению)
Удаленные и фоновые задания. Не только команды могут выполняться как фоновые процессы (так что вы можете запускать несколько задач одновременно асинхронно), но многие команды также могут выполняться на удаленных машинах в сети, если они настроены для этого. Команды с удаленными возможностями часто предоставляют параметр ComputerName, который можно указать при выполнении команды
Для получения дополнительной информации ознакомьтесь с этой страницей TechNet о выполнении удаленных команд с помощью PowerShell
Скачать сценарии сторонних разработчиков. На самом деле вам не обязательно расширять PowerShell самостоятельно. Несколько онлайн-репозиториев позволяют загружать и использовать общедоступные сценарии и команды, созданные другими
Где изучать PowerShell
Готовы испачкать руки в PowerShell? Вот несколько ресурсов, которые часто рекомендуют новичкам, желающим как можно скорее приступить к изучению:
PowerShell Tutorial by Don Jones. Эта серия видеороликов на YouTube посвящена PowerShell 2. 0 (версии, поставляемой в комплекте с Windows 7), которая уже немного устарела, но является хорошим введением для тех, кто не имеет абсолютно никакого опыта работы со сценариями. Каждое видео длится всего несколько минут, но их 99, поэтому оно довольно полное
Microsoft Virtual Academy. MVA предлагает множество бесплатных курсов, связанных с Microsoft, включая два по PowerShell 3. 0. Это курс ‘Начало работы’ и курс ‘Расширенные инструменты и сценарии’. Оба курса содержат 9 уроков, каждый из которых длится около 1 часа
TechNet Script Center. Раздел TechNet на сайте Microsoft содержит множество отличных ссылок на руководства и учебники по PowerShell. В качестве бонуса, если вы перейдете в раздел Repository, вы сможете просмотреть и загрузить различные сценарии PowerShell
Hey, Scripting Guy! Блог Broken URL Removed . Это блог ‘все о PowerShell’ с большим количеством отличной информации, которая появилась почти целое десятилетие назад. Новые сообщения публикуются каждый день, и для удобства просмотра они распределены по тегам. Если вы не знаете, с чего начать, начните с тега Getting Started Broken URL Removed
Подходит ли вам PowerShell?
Что вы думаете? Поможет ли PowerShell повысить вашу производительность в Windows? Или он слишком избыточен для ваших нужд?. Поделитесь с нами своими мыслями в комментариях!
Комментировать