Windows

Повысьте производительность с помощью сценариев Windows PowerShell

Повысьте производительность с помощью сценариев Windows PowerShell

Что если бы вы могли довести производительность Linux до Windows? Одно из основных различий между Windows и Linux того, большинство дистрибутивов Linux поставляются в комплекте с мощной оболочкой Bash ; для сравнения, командная строка в Windows пустая. Что если бы у Windows был такой же мощный терминал?

С PowerShell эта мечта может стать реальностью.

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

Что такое PowerShell?

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

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

производительность-окна-обзор-PowerShell

Хотя PowerShell поставляется с начальным набором команд, вы можете добавлять свои собственные команды, создавая командлеты . Командлеты — это классы, созданные с использованием языка C #, и при вызове они выполняются в среде PowerShell. Поскольку они написаны с использованием C #, командлеты имеют доступ ко всей платформе .NET.

.NET Framework содержит огромную библиотеку кода, предоставленную Microsoft. При написании собственного командлета у вас есть доступ ко всему этому коду. Потянув информацию о процессе? Криптографические алгоритмы? Подключение к базе данных? Сетевые коммуникации? Все это и многое другое обеспечивается платформой .NET, что означает, что большая часть работы выполнена за вас. Вам просто нужно собрать его вместе, вызывая нужные функции.

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

Почему PowerShell — это круто

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

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

Подробная информация о процессе. Одно дело использовать альтернативный диспетчер задач , но PowerShell позволяет выполнять некоторые хитрые уловки в отношении управления процессами. Начните с собственных командлетов Get-Process и Stop-Process .

производительность-окна-процесс-PowerShell

Простая автоматизация и создание сценариев. Базовая 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 Дона Джонса . Эта серия видеороликов YouTube посвящена PowerShell 2.0 (версии, поставляемой в комплекте с Windows 7), которая сейчас немного устарела, но предлагает хорошее введение для тех, у кого совершенно нет опыта написания сценариев. Каждое видео длится всего несколько минут, но их 99, поэтому оно довольно полное.

Виртуальная академия Microsoft . MVA предлагает множество бесплатных курсов, связанных с Microsoft, в том числе два на PowerShell 3.0. Есть курс « Начало работы» и курс « Расширенные инструменты и сценарии» . Оба курса содержат 9 уроков, каждый продолжительностью около 1 часа.

производительность-окна-учебники-PowerShell

Центр сценариев TechNet . Раздел TechNet на веб-сайте Microsoft содержит множество замечательных ссылок на руководства и учебные пособия по PowerShell. В качестве бонуса, если вы перейдете в раздел «Репозиторий», вы можете просмотреть и загрузить различные скрипты PowerShell.

Эй, автор сценариев! Блог Это блог «Все о PowerShell» с большим количеством полезной информации, которая существует почти целое десятилетие. Новые сообщения публикуются каждый день, и они классифицируются по тегам для удобного просмотра. Если вы не знаете, с чего начать, начните с просмотра тега Getting Started .

PowerShell для вас?

Как вы думаете? Поможет ли PowerShell повысить производительность в Windows ? Или это слишком много для ваших нужд? Поделитесь своими мыслями с нами в комментариях!

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

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

Windows

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

Windows

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

Windows

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