Знакомство с утилитой PowerShell в системах Windows 7, 8 и 10

В этой статье:

Шаг 1: установка

Для начала нам необходима сама утилита PowerShell. Если вы работаете с Windows 10, у вас уже установлена версия PowerShell 5. Обновление Windows 10 Anniversary Update использует версию 5.1, но разница незаметна. В Windows 8 и 8.1 применяется PowerShell 4, чего тоже вполне достаточно. Установка PowerShell на Windows 7 не доставит проблем, но всё же пару лишних шагов придется сделать. В частности, нужно дополнительно установить .Net Framework. Можно установить Windows Management Framework, в состав которого входит PowerShell.

У PowerShell есть два интерфейса. Опытные пользователи могут выбрать полноценный графический интерфейс, известный как Integrated Scripting Environment (ISE). Новичкам лучше использовать консоль PowerShell, простой текстовый интерфейс в стиле командной строки Windows или даже DOS 3.2.

Для запуска PowerShell от имени администратора в Windows 10 нажмите на кнопку «Пуск» и прокрутите список приложений до Windows PowerShell. В Windows 8.1 ищите Windows PowerShell в папке System в Windows. В Windows 7 оболочка располагается в папке Accessories. В качестве обычного пользователя PowerShell можно запустить точно так же, используя левую кнопку мыши вместо правой.

В любой версии Windows можно применить поиск. Для удобства дальнейшего использования можно закрепить PowerShell на панели задач.

Распространенные сообщения об ошибках в powershell.exe

Наиболее распространенные ошибки powershell.exe, которые могут возникнуть:

• «Ошибка приложения powershell.exe».
• «Ошибка powershell.exe».
• «PowerShell.exe столкнулся с проблемой и будет закрыт. Приносим извинения за неудобства».
• «PowerShell.exe не является допустимым приложением Win32».
• «PowerShell.exe не запущен».
• «powershell.exe не найден».
• «Не удается найти powershell.exe».
• «Ошибка запуска программы: powershell.exe.»
• «Неверный путь к приложению: powershell.exe».

Эти сообщения об ошибках .exe могут появляться во время установки программы, во время выполнения связанной с ней программы Windows PowerShell V2 CTP, при запуске или завершении работы Windows, или даже при установке операционной системы Windows. Отслеживание момента появления ошибки powershell.exe является важной информацией при устранении неполадок.

Как запустить PowerShell в Windows 10

Достаточно нажать сочетание Win+X и в контекстном меню Пуск выбрать Windows PowerShell (администратор). В последних версиях операционной системы командная строка была заменена на Windows PowerShell. Можно в параметрах заменить командную строку оболочкой Windows PowerShell в меню, которое появляется при щелчке правой кнопкой мыши по кнопке Пуск.

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

windows powershell команды

А также можно запустить Windows PowerShell в определённой папке. Достаточно зажать клавишу Shift и в контекстном меню выбрать Открыть окно PowerShell здесь. В предыдущих версиях операционной системы вместо PowerShell был доступный пункт командной строки. Для перехода в командную строку в окне Windows PowerShell выполняем команду Cmd.

Как запустить PowerShell в Windows 10

Запуск PowerShell на Windows 8.1

Для открытия PowerShell в Windows 8.1 необходимо в поиске ввести ключевое слово «powershell», чтобы открыть поиск, нажмите Win+Q.

1212

Другой способ открытия – через окно «Выполнить». Нажимаем Win+R, открывается окно, в которое вы вводите powershell.

2355

Что можно сделать с помощью PowerShell?

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

Возможности PowerShell позволяют упростить и автоматизировать трудоемкие и повторяющиеся задачи путем создания сценариев и объединения нескольких команд вместе.

Если вы являетесь администратором сети, вы обнаружите, что PowerShell очень полезен при работе с Active Directory. Учитывая, что инструмент содержит сотни настраиваемых команд, которые называются командлеты, вероятность того, что PowerShell может помочь вам стать более продуктивным, очень высока.

Основные команды для PowerShell

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

  • Get-Help — отображение справочных сведений о командлетах и основных понятиях. В справке описываются командлеты, функции, сценарии и модули, а также объясняются основные понятия, в том числе элементы языка Windows PowerShell.
  • Update-Help — загрузка и установка файлов справки с общей папки или Интернета. После обновлений операционной системы может понадобиться обновление справки — обнаружение, скачивание и установка обновлений для модулей.
  • Get-Command — вывод всех доступных функций и командлетов, с авто заполнением строки. Выбрав интересующую команду, выполните её с Get-Help для быстрого получения справки. Например, ознакомится с Get-Help Remove-AppxPackage.

Что это Windows PowerShell в Windows 10

Заключение

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

Шаг 2: старые команды Windows

Синтаксис команд Windows в PowerShell работает привычным образом. Например, cd меняет папки, dir показывает список всех файлов и папок внутри текущей папки.

В зависимости от метода запуска консоли PowerShell можно начать в c:Windowssystem32 или в c:Users. В примере на скриншоте используется команда cd .. (с пробелом) для перехода на один уровень вверх за раз, затем запускается команда dir для отображения списка файлов и папок в директории C:.

PowerShell

Powershell.exe безопасно, или это вирус или вредоносная программа?

Первое, что поможет вам определить, является ли тот или иной файл законным процессом Windows или вирусом, это местоположение самого исполняемого файла. Например, такой процесс, как powershell.exe, должен запускаться, а не где-либо еще.

Для подтверждения откройте диспетчер задач, выберите «Просмотр» -> «Выбрать столбцы» и выберите «Имя пути к изображению», чтобы добавить столбец местоположения в диспетчер задач. Если вы обнаружите здесь подозрительный каталог, возможно, стоит дополнительно изучить этот процесс.

Еще один инструмент, который иногда может помочь вам обнаружить плохие процессы, – это Microsoft Process Explorer. Запустите программу (не требует установки) и активируйте «Проверить легенды» в разделе «Параметры». Теперь перейдите в View -> Select Columns и добавьте «Verified Signer» в качестве одного из столбцов.

Если статус процесса «Проверенная подписывающая сторона» указан как «Невозможно проверить», вам следует взглянуть на процесс. Не все хорошие процессы Windows имеют метку проверенной подписи, но ни один из плохих.

Наиболее важные факты о powershell.exe:

  • Находится в C: Windows System32 WindowsPowerShell v1.0 ан-нас вложенная;
  • Издатель: Корпорация Microsoft
  • Полный путь:
  • Файл справки: connect.microsoft.com
  • URL издателя: technet.microsoft.com/en-us/library/bb978526.aspx
  • Известно, что до 958 KB по размеру на большинстве окон;

Если у вас возникли какие-либо трудности с этим исполняемым файлом, перед удалением powershell.exe вам следует определить, заслуживает ли он доверия. Для этого найдите этот процесс в диспетчере задач.

Найдите его местоположение (оно должно быть в C: Windows System32 windowspowershell v1.0 en-us) и сравните размер и т. Д. С приведенными выше фактами.

Если вы подозреваете, что можете быть заражены вирусом, вы должны немедленно попытаться это исправить. Чтобы удалить вирус powershell.exe, необходимо Загрузите и установите приложение полной безопасности, например Malwarebytes. , Обратите внимание, что не все инструменты могут обнаружить все типы вредоносных программ, поэтому вам может потребоваться попробовать несколько вариантов, прежде чем вы добьетесь успеха.

Кроме того, функциональность вируса может сама влиять на удаление powershell.exe. В этом случае вы должны включить Безопасный режим с поддержкой сети – безопасная среда, которая отключает большинство процессов и загружает только самые необходимые службы и драйверы. Когда вы можете запустить программу безопасности и полный анализ системы .

Загрузите или переустановите powershell.exe

Вход в музей Мадам Тюссо не рекомендуется загружать заменяемые exe-файлы с любых сайтов загрузки, поскольку они могут содержать вирусы и т. д. Если вам нужно скачать или переустановить powershell.exe, мы рекомендуем переустановить основное приложение, связанное с ним. Windows PowerShell V2 CTP.

Информация об операционной системе

Ошибки powershell.exe могут появляться в любых из нижеперечисленных операционных систем Microsoft Windows:

  • Окна 10
  • Окна 8.1
  • Окна 7
  • Windows Vista
  • Windows XP
  • Windows ME
  • Окна 2000

 

Другие файлы в Windows PowerShell V2 CTP:

  1. gpowershell.exe

Другие названия программного обеспечения от Microsoft Corporation:

  1. Профиль клиента Microsoft .NET Framework 4
  2. Microsoft Help Viewer 1.1
  3. Центр мыши и клавиатуры Microsoft
  4. Microsoft Security Essentials
  5. Microsoft SQL Server 2012 64-бит
  6. Объектная модель 2010 для Microsoft Team Foundation Server – ENU
  7. Microsoft Windows SDK для Windows 7 7.0
  8. Службы Microsoft Sync Framework v1.0 SP1 x64
  9. Microsoft SQL Server 2012 Transact-SQL ScriptDom
  10. Инструмент веб-развертывания

Категории Корпорация Microsoft сообщение навигацииИскать:

Запуск и работа в Windows PowerShell

Разобрав, что за приложение Windows PowerShell, разберёмся с особенности его запуска. Есть несколько различных способов запустить программу Windows PowerShell в ОС. Для простоты поиска программ в операционной системе существуют окно поиска. Его можно найти, открыв ярлык «Мой компьютер» в верхней части экрана с правой стороны. Введите запрос «PowerShell» и в результатах поиска откройте программу. В Windows 10 программу можно запустить из любой рабочей папки, для этого нужно сделать клик по кнопке «Файл» в верхней части слева.

Иллюстрация запуска программы Windows Powershell

Для того, чтобы продемонстрировать как работает программа Windows PowerShell, испробуем ее некоторые возможности, например, давайте почистим корзину. Для этой функции есть специальный командлет – «Clear-RecycleBin». Он пригодится для написания скрипта при обслуживании компьютеров. При вводе такой команды, нужно указать локальный диск, на котором расположено приложение, с которым необходимо выполнить это действие: «Clear-RecycleBin C:». Далее появится строка с запросом на подтверждение, здесь необходимо нажать клавишу «Y» и «Enter».

Скрин работы PowerShell

Если к командлету «Clear-RecycleBin C:» добавить часть «-Force», корзина очиститься без подтверждения.

  1. Давайте распакуем архив при помощи программы PowerShell.
  2. Для этого существуют заданные команды «Expand-Archive» и «Compress-Archive».
  3. Для того, чтобы заархивировать папку «C:file» в «C:archivefile2.zip», следуйте указанной команде: «Compress-Archive –LiteralPath C:file -DestinationPath C:archivefile2.zip.
  4. В результате исполнения этой команды в указанной выше директории появится архив с именем «file2.zip», в котором будет заархивировано содержимое папки «C:file».

Как остановить утилиту?

Некоторые пользователи не в восторге от использования утилиты, так как она может находить ошибки в компонентах многих программ и затруднять работу с компьютером. Такие проблемы чаще всего встречаются у пользователей операционных систем Windows 8 и 10 версии. В этом случае необходимо получить дополнительные сведения о Windows PowerShell – как отключить эту утилиту. Есть несколько способов:

  1. Отключить ее на время. Для этого запустите PowerShell и введите команду: Start-Sleep 1000. В этом примере 1000 – количество секунд, в течение которых не будет работать утилита, поставить можно любое значение.
  2. Отключение временное или постоянное для Windows 8 и 10. Зайдите в раздел «Панель управления», затем выберите «Программы и компоненты», далее найдите пункт «Включение и отключение компонентов Windows». В списке найдите Windows Powershell и уберите маркер рядом с этой строчкой.
  3. Запустите «Командную строку» от имени администратора. Введите в ней Stop-Process-name powershell. После этого утилита будет остановлена до следующей перезагрузки операционной системы.

Лучше всего потратить время на настройку компонентов операционной системы, если вы решили не пользоваться утилитой некоторое время.

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

Шаг 3: установка файлов помощи

Команды вроде cd и dir не являются активными командами оболочки PowerShell. Это так называемые псевдонимы (aliases) —  замены настоящих команд PowerShell. Псевдонимы удобны для тех, кто имеет большой опыт работы с командной строкой. Однако они не затрагивают глубин PowerShell.

Чтобы начать знакомиться с возможностями PowerShell, наберите help и нужную вам команду. На скриншоте показана команда help dir.

help dir

Команда help говорит, что dir является псевдонимом команды PowerShell Get-ChildItem. Если набрать get-childitem в PS C:>, увидите то же самое, что и при использовании команды dir.

Как указано внизу скриншота, файлы помощи для PowerShell не устанавливаются автоматически. Для их получения запустите PowerShell от имени администратора и наберите update-help. Установка файлов помощи займёт несколько минут, ряд модулей могут отсутствовать —  например, в данном случае не установились Help for NetWNV и SecureBoot. Когда всё готово, полная система помощи всегда будет давать нужные подсказки.

Теперь наберите команду get-help и любую интересующую вас команду («cmdlet» на языке PowerShell, по-русски командлеты), будет показано её описание. Например, get-help get-childitem выдаёт список опций get-childitem. Также можно вывести разные возможные варианты. Например

get-help get-childitem -examples

выдает семь подробных примеров использования get-childitem. Команда

get-help get-childitem -detailed

включает в себя эти семь примеров и подробные разъяснения каждого параметра в командлете get-childitem.

Могу ли я удалить или удалить powershell.exe?

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

Согласно различным источникам онлайн, 9% людей удаляют этот файл, поэтому он может быть безвредным, но рекомендуется проверить надежность этого исполняемого файла самостоятельно, чтобы определить, является ли он безопасным или вирусом. Лучшая диагностика для этих подозрительных файлов – полный системный анализ с Reimage , Если файл классифицируется как вредоносный, эти приложения также удаляют powershell.exe и избавляются от связанных вредоносных программ.

Однако, если это не вирус, и вам нужно удалить powershell.exe, вы можете удалить Windows PowerShell V2 CTP со своего компьютера, используя программу удаления, которая должна находиться по адресу: MsiExec.exe / X {161BA3E6-D067-446D- A768-18585FF07765}. Если вы не можете найти его деинсталлятор, вам может потребоваться удалить Windows PowerShell V2 CTP, чтобы полностью удалить powershell.exe. Вы можете использовать функцию «Установка и удаление программ» на панели управления Windows.

  • 1. в Меню Пуск (для Windows 8 щелкните правой кнопкой мыши в нижнем левом углу экрана), нажмите Панель управления, а затем под Программы:
    o Windows Vista / 7 / 8.1 / 10: нажмите Удаление программы.
    o Windows XP: нажмите Установка и удаление программ.
  • 2. Когда вы найдете программу Windows PowerShell V2 CTPщелкните по нему, а затем:
    o Windows Vista / 7 / 8.1 / 10: нажмите Удалить.
    o Windows XP: нажмите Удалить or Изменить / Удалить вкладка (справа от программы).
  • 3. Следуйте инструкциям по удалению Windows PowerShell V2 CTP.

Функционал инструмента администрирования

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

Оболочка Power Shell имеет собственный набор команд, как и консоль CMD, называемых командлетами. Синтаксис языка, определения командлетов и их параметров в этой программе отличается от привычного, хотя утилита способна распознавать многие команды CMD.

Прекрасно понимаемые Power Shell команды вроде cd, dir, copy и им подобные в этой оболочке являются псевдонимами или, как принято говорить, алиасами, служащими просто для удобства. Пример: команда dir, вводимая пользователем с целью просмотра файловой системы, соответствует командлету Get-ChildItem.

Зачем нужен Windows Power Shell

Как исправить powershell.exe

Аккуратный и опрятный компьютер – это один из лучших способов избежать проблем с Windows PowerShell V2 CTP. Это означает выполнение сканирования на наличие вредоносных программ, очистку жесткого диска cleanmgr и ПФС / SCANNOWудаление ненужных программ, мониторинг любых автозапускаемых программ (с помощью msconfig) и включение автоматических обновлений Windows. Не забывайте всегда делать регулярные резервные копии или хотя бы определять точки восстановления.

Если у вас возникла более серьезная проблема, постарайтесь запомнить последнее, что вы сделали, или последнее, что вы установили перед проблемой. Использовать resmon Команда для определения процессов, вызывающих вашу проблему. Даже в случае серьезных проблем вместо переустановки Windows вы должны попытаться восстановить вашу установку или, в случае Windows 8, выполнив команду DISM.exe / Online / Очистка-изображение / Восстановить здоровье, Это позволяет восстановить операционную систему без потери данных.

Чтобы помочь вам проанализировать процесс powershell.exe на вашем компьютере, вам могут пригодиться следующие программы: Менеджер задач безопасности отображает все запущенные задачи Windows, включая встроенные скрытые процессы, такие как мониторинг клавиатуры и браузера или записи автозапуска. Единый рейтинг риска безопасности указывает на вероятность того, что это шпионское ПО, вредоносное ПО или потенциальный троянский конь. Это антивирус обнаруживает и удаляет со своего жесткого диска шпионское и рекламное ПО, трояны, кейлоггеры, вредоносное ПО и трекеры.

Мы рекомендуем вам попробовать этот новый инструмент. Он исправляет множество компьютерных ошибок, а также защищает от таких вещей, как потеря файлов, вредоносное ПО, сбои оборудования и оптимизирует ваш компьютер для максимальной производительности. Это исправило наш компьютер быстрее, чем делать это вручную:

  • Шаг 1: Скачать PC Repair & Optimizer Tool (Windows 10, 8, 7, XP, Vista – Microsoft Gold Certified).
  • Шаг 2: Нажмите «Начать сканирование”, Чтобы найти проблемы реестра Windows, которые могут вызывать проблемы с ПК.
  • Шаг 3: Нажмите «Починить все», Чтобы исправить все проблемы.

 

Как разобраться в программе

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

Решаясь начать изучение скриптового языка Power Shell, целесообразно ознакомиться с руководством, созданным Франком Кохом, или обратиться к справочной системе самой программы. Последняя является довольно мощной, с большим количеством конкретных примеров. Основная информация здесь откроется для просмотра после ввода командлета Get-Help.

Перечень допустимых команд Windows Power Shell

Список всех доступных команд выводит командлет Get-Command. Связка get-help-командлет применяется с целью получения справки по конкретному алиасу. Пример: справка по использованию get-process (отвечает за вывод списка текущих процессов) будет выведена командой get-help-process. Передав ей параметры -example, -detailed, -online или –full, пользователь сможет получить сведенья обо всех его нюансах подробно. 

Наиболее популярные команды PowerShell

Самые востребованные в Windows PowerShell команды связаны с использованием самой утилиты:

  • Get-Help – выведение на экран справки, если вместо первого слова использовать Update, то вы обновите информацию;
  • Get-Command – поиск доступных команд;
  • Get-History – просмотр списка команд, которые выи вводили в этой сессии;
  • Format-List – выведение на экран результата выполнения команд в виде списка свойств;
  • Export-Clixml – экспорт данных в таблицу в формате xml, для ее просмотра нужно будет поставить офисную утилиту Excel или ей аналогичную.

Большинство пользователей работает с компьютером без утилиты PowerShell. Если вы хотите освоить ее, то с полным списком команд можно ознакомиться при помощи команды: Get-Command -CommandType cmdlet.

Какие функции выполняет PowerShell?

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

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

В том случае, если вы являетесь администратором сети, то PowerShell сможет вам помочь в работе, например, с Active Directory. Также, стоит заметить, что утилита содержит более 100 команд. Это говорит о том, что она поможет решить вам большинство задач.

Шаг 4: получение помощи по параметрам

На скриншоте help dir вы могли заметить два списка под SYNTAX для get-childitem. Наличие двух разных синтаксисов означает возможность применения двух способов запуска командлет. Как держать синтаксис отдельно друг от друга и что означают параметры? Ответ простой, если знать трюк.

Для получения подробностей относительно параметров командлеты get-childitem или любой другой используйте параметр -full:

get-help get-childitem -full

Это выдает список того, что вы можете сделать с командлетой и что случится. Смотрите на скриншот.

-full

Просмотр описания параметров позволяет заметить, что get-childitem даёт возможность получить объект child (вроде названия подпапки или имени файла) в указанном месте, с совпадением определённых символов или без. Например:

get-childItem “*.txt” -recurse

возвращает список файлов «*.txt» в текущей папке и всех подпапках (из-за параметра -recurse). Тогда как

get-childitem “HKLM:Software”

возвращает список всех ключей реестра верхнего уровня в HKEY_LOCAL_MACHINESoftware.

Если вы когда-нибудь пытались попасть в реестр при помощи командной строки Windows или файлов .bat, вы сможете оценить функциональность этого варианта доступа.

Кто обычно использует PowerShell?

Без всякого сомнения, PowerShell является выбором многих ИТ-администраторов. И не зря, ведь инструмент колоссально упрощает операции управления и снижает объем работы в крупных корпоративных сетях.

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

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

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

Как пользоваться программой Windows PowerShell

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

Очистка корзины. Для очистки корзины существует специальный командлет, который называется «Clear-RecycleBin». Данный командлет пригодится при написании скриптов для обслуживания компьютеров. При выполнении командлета нужно указать диск, на котором нужно очистить корзину. Пример:

Clear-RecycleBin c:

На скриншоте внизу видно, как выполняется данный командлет. После введения команды «Clear-RecycleBin c:» появляется запрос на подтверждение. Для того чтобы продолжить выполнение командлета нужно ввести букву «Y» и нажать Enter.

очистка корзины через Windows PowerShell

Если к командлету «Clear-RecycleBin c:» добавить «-Force», то очистка корзины выполнится без запроса на подтверждение. Скриншот внизу.

очистка корзины без подтверждения через Windows PowerShell

Архивация файлов. Для архивации и распаковки файлов предусмотрены командлеты «Compress-Archive» и «Expand-Archive«. Например, для того чтобы архивировать папку «C:test» в архив «C:archivetest2.zip» нужно выполнить следующий командлет:

Compress-Archive -LiteralPath C:test -DestinationPath C:archivetest2.zip

архивация через Windows PowerShell

В результате выполнения показанной выше команды, в папке «C:archive» появится файл «test2.zip», в котором будет заархивировано содержимое папки «C:test».

Шаг 5: изучение имён

Есть причина того, почему показанные до сих пор командлеты выглядят сходным образом: get-childitem, update-help, get-help используют единую схему глагол-существительное. Это соглашение применяют все командлеты PowerShell, в них глагол стоит перед единственным существительным. Это понравится тем, кто в своё время пострадал от непостоянства названий команд в языках VB и VBA.

Взгляните на самые распространенные командлеты:

set-location: устанавливает текущую рабочий локацию на определённую локацию

get-content: получает содержимое файла

get-item: получает файлы и папки

copy-item: копирует объект из одной локации в другую

remove-item: удаляет файлы и папки

get-process: получает процессы, запущенные на локальном или удаленном компьютере

get-service: получает сервисы, запущенные на локальном или удаленном компьютере

invoke-webrequest: получает содержимое с веб-страницы в интернете

Для просмотра работы определённой командлеты используйте get-help как в случае

get-help copy-item -full

На основе описания в помощи можно понять, что необходимо командлете. Например, если вы хотите копировать все файлы и папки из Documents в c:temp, используйте

copy-item c:users[username] documents* c:temp

Введя эту команду, вы увидите несколько интересных возможностей окружения PowerShell. Например, если набрать copy-i и нажать кнопку Tab, PowerShell заполнит Copy-Item.  Если неправильно набрать командлету и PowerShell не может распознать её, даётся полное описание того, что было сделано не так.

Попробуйте данную командлету:

invoke-webrequest askwoody.com

Вы получите краткий список заголовков, изображений, ссылок и прочего содержимого веб-страницы. Обратите внимание в get-help на список invoke-webrequest, который «возвращает коллекцию форм, ссылок, изображений и прочие важные элементы HTML» — именно то, что должно показываться на экране.

Некоторые командлеты помогают управлять самим PowerShell:

get-command: список всех доступных командлет

get-verb: список всех доступных глаголов

clear-host: очистка экрана программы-хоста

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

get-command *-service

Будут показаны все глаголы, доступные с существительным service. Вот их список:

Get-Service

New-Service

Restart-Service

Resume-Service

Set-Service

Start-Service

Stop-Service

Suspend-Service

Можно объединять эти командлеты с другими.

Шаг 6: использование труб

Если вы знакомы с командной строкой Windows или пакетными файлами, то знаете о перенаправлении и трубах. Перенаправление (символ >) и трубы (символ |) берут результат действия и прикрепляют его в другое место. Например, можно перенаправить результат команды dir в текстовый файл или передать результат команды ping в команду find для фильтрования интересных результатов, вроде

dir > temp.txt

ping askwoody.com | find “packets” > temp2.txt

Здесь во второй команде find ищет строку packets, взятую из адреса askwoody.com командой ping и объединяет все совпадающие строки в файл под названием temp2.txt.

Первая из этих команд отлично работает в PowerShell. Для запуска второй команды потребуется нечто вроде

ping askwoody.com | select-string packets | out-file temp2.txt

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

Powershell обладает поддержкой pipe, причём она не ограничена текстом. PowerShell позволяет передавать целый объект из одной командлеты в другую, где объект представляет собой комбинацию данных (называемых свойствами) и действий (методов), которые могут использовать эти данные.

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

Как это понять? Используйте командлету get-member. Если вы хотите знать, какой тип объекта обрабатывает командлета, проведите её через get-member. Например, если вы пытаетесь понять запущенные на компьютере процессы и сузили опции до командлеты get-process, вот как узнать результат командлеты:

get-process | get-member

Запуск этой командлеты выдаёт длинный список свойств и методов для get-process, но в самом начале списка можно увидеть тип объекта, который создает get-process:

TypeName: System.Diagnostics.Process

Нижеприведенный скриншот также показывает свойства get-process под названием get-process Handles, Name, NPM, PM, SI, VM и WS.

get-process

Если вы хотите манипулировать результатом get-process для работы с этим командлетом (вместо отображения длинного списка активных процессов на мониторе), нужно найти другую команду, которая в качестве вводных данных принимает System.Diagnostics.Process. Для поиска нужной командлеты снова используйте возможности PowerShell:

get-command -Parametertype System.Diagnostics.Process

Эта командлета выдает список командлет, которые могут обрабатывать System.Diagnostics.Process.

Некоторые командлеты известны тем, что принимают почти любой вид данных. Главной среди них является where-object. Эта командлета пропускает через себя каждый посылаемый по трубе объект, один за одним, и применяет к нему заданной критерии выбора. Существует специальный маркер под названием $_, который позволяет использовать каждый предмет в трубе, один за раз.

Допустим, вы хотите получить список всех запущенных на компьютере процессов с названием «svchost», то есть хотите сопоставить свойство Name процессу svchost. Используйте команду:

get-process | where-object {$_.Name -eq “svchost”}

Командлета where-object смотрит на каждый объект System.Diagnostics.Process, сравнивает .Name этого объекта с «svchost»; если есть совпадения, они выдаются на монитор. Смотрите на скриншот.

where-object

Список командлетов для Windows PowerShell

Для Windows PowerShell существует огромное количество разных командлетов и описать их все в одной статье не получится. Поэтому предлагаем ознакомиться с самыми востребованными из них:

  • Get-Help – получение справки;
  • Update-Help – обновление справки;
  • Get-Command – поиск командлетов;
  • Get-Alias – поиск псевдонимов для командлетов;
  • Get-PSDrive – просмотр подключенных дисков;
  • Get-Member – просмотр свойств и методов, которые есть у объекта;
  • Get-WindowsFeature – просмотр сведений о доступных ролях и компонентах сервера;
  • Install-WindowsFeature (аналог Add-WindowsFeature) — устанавливает роли или компоненты на нужный сервер;
  • Uninstall-WindowsFeature (аналог Remove-WindowsFeature) – удаляет роли или компонента сервера;
  • Get-History – просмотр истории команд, которые вводились в этой сессии;
  • Get-Variable – просмотр списка переменных и их значений;
  • New-Variable – создание новой переменной;
  • Set-Variable – установка значения переменной;
  • Clear-Variable – удаление значения переменной;
  • Remove-Variable – удаление переменной и ее значения;
  • Format-List – просмотр результата команды в виде списка свойств, где в каждой строке отдельное свойство;
  • Format-Table — просмотр результата команды в формате таблицы;
  • Format-Wide — просмотр результата команды в виде широкой таблицы, в которой показывается только одно свойство для каждого объекта;
  • Format-Custom – просмотр результата команды с использованием пользовательского представления;
  • Export-Csv – экспорт данных в формат CSV;
  • Import-Csv – импорт данных из CSV файла;
  • Export-Clixml — экспорт данных в формат XML;

Полный список командлетов для Windows PowerShell вы можете получить, выполнив командлет «Get-Command -CommandType cmdlet».

Источники

  • https://osdaily.ru/materials/4059
  • http://windowsbulletin.com/ru/%D1%84%D0%B0%D0%B9%D0%BB%D1%8B/%D0%B5%D1%85%D0%B5/%D0%9A%D0%BE%D1%80%D0%BF%D0%BE%D1%80%D0%B0%D1%86%D0%B8%D1%8F-%D0%9C%D0%B0%D0%B9%D0%BA%D1%80%D0%BE%D1%81%D0%BE%D1%84%D1%82/Windows-PowerShell-V2-CTP/PowerShell-Exe
  • https://windd.ru/windows-powershell-chto-eto-za-programma/
  • https://computerinfo.ru/chto-takoe-powershell/
  • https://WindowsTips.ru/chto-takoe-powershell
  • https://RusAdmin.biz/bloknot/windows-powershell-chto-eto-za-programma/
  • https://SmartBobr.ru/poleznosti/powershell-windows/
  • https://wd-x.ru/naznachenie-komponenta-windows-power-shell/
  • https://comp-security.net/windows-powershell-%D1%87%D1%82%D0%BE-%D1%8D%D1%82%D0%BE-%D0%B7%D0%B0-%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0/
  • https://komza.ru/sistema/windows-powershell-chto-jeto-za-programma.html

[свернуть]