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

Что если бы вы могли довести производительность Linux до Windows? Одно из главных отличий между Windows и Linux

является то, что большинство дистрибутивов Linux поставляются с мощной оболочкой Bash

; для сравнения, командная строка в Windows пустая. Что если бы у Windows был такой же мощный терминал?

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

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

Что такое PowerShell?

PowerShell можно рассматривать как масштабное обновление командной строки Windows

, Он может выполнять множество одних и тех же задач (например, навигацию в системе, взаимодействие с файлами, изменение свойств), но для максимальной мощности открывает всю платформу .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» с большим количеством полезной информации, которая существует почти целое десятилетие. Новые сообщения публикуются каждый день, и они классифицируются по тегам для удобного просмотра. Если вы не знаете, с чего начать, начните с просмотра тега «Начало работы».

PowerShell для вас?

Как вы думаете? Поможет ли PowerShell вашей производительности в Windows?

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

Ссылка на основную публикацию
Adblock
detector