16 Основных Команд PowerShell, которые нужно знать

Изображение основных команд PowerShell

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

Полезно знать: Windows не может найти “Powershell.exe”? Узнайте, что делать, чтобы вернуть его.

Содержание

  • Как использовать команды PowerShell
  • Основные команды PowerShell
    1. Clear-Host или Cls
    1. Convert-to-HTML
    1. Get-Command
    1. Get-Help
    1. Get-Process
    1. Get-Service
    1. Install-Module или Install-Script
    1. mkdir, md, rmdir
    1. New-Item
    1. Remove-Item
    1. Set-ExecutionPolicy
    1. Select-Object и Sort-Object
    1. Start- и Stop-Process
    1. Suspend- и Resume-Service
    1. Test-Path
    1. Wait-Process
  • Другие важные команды PowerShell
  • Часто задаваемые вопросы

Как использовать команды PowerShell

Чтобы начать использовать cmdlets, нужно запустить PowerShell в режиме администратора через меню поиска.

Открыть PowerShell в режиме администратора из поиска Windows 11.

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

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

1. Clear-Host или Cls

Вы допустили ошибку при вводе или что-то не идет по плану? К счастью, в PowerShell есть возможность вернуться назад. Удобная команда clear-host может очистить весь текст с экрана. Просто введите команду в любой строке на экране, и всё исчезнет мгновенно.

Команда Clear-Host для удаления всего текста в окне PowerShell.

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

Ввод команды cls ниже сообщения об ошибке для удаления всего текста в PowerShell.

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

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

2. Convert-to-HTML

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

Все компоненты PowerShell используют объекты .NET, которые мы можем просматривать на экране PowerShell. Чтобы отобразить их в полном окне браузера, используйте cmdlet Convert-to-HTML. Ниже приведен пример для просмотра всех псевдонимов PowerShell в сети. Не забудьте использовать отдельную строку перед “Invoke-Item”.

Get-Alias|ConvertTo-Html|Out-File aliases.htm  
Invoke-Item aliases.htm

Команда Convert-to-HTML в PowerShell для отображения псевдонимов на веб-странице.

Как только вы выполните команду преобразования в HTML, PowerShell попросит вас открыть выходной файл с помощью другого приложения. Использование браузера даст вам список объектов, таких как псевдонимы.

Полный список псевдонимов PowerShell, доступный в веб-браузере.

3. Get-Command

Существует два основных типа команд: псевдонимы и функции. Псевдонимы PowerShell служат ником для функции или cmdlet. Windows заранее сохранило несколько псевдонимов, которые вы можете извлечь с помощью Get-Command. Вы также можете создать свои собственные псевдонимы.

Список псевдонимов под командой Get в PowerShell.

Другой тип команд в PowerShell — функции. Они используют утвержденный глагол (например, “get”) и простое существительное (например, “StorageNode”).

Список функций, отображаемых под командой Get в PowerShell.

Мы используем функцию “Select-object” (обратите внимание на сочетание глагола и существительного) с известной переменной среды для имени компьютера, чтобы отобразить имя локального компьютера.

$env:computername |Select-Object

Получение имени компьютера с помощью функции Select-Object и переменной среды в PowerShell.

Функции являются стартовой точкой для продвинутого программирования PowerShell. Вы можете использовать функции, такие как Start-process, с параметрами и переменными для создания собственных пакетных сценариев, выполняя ряд задач.

4. Get-Help

PowerShell имеет свой собственный самообучающий cmdlet для устранения неполадок, Get-Help, который отображает все быстрые исправления и статьи помощи в одном окне. Введите команду в конце любого вывода, чтобы получить помощь по различным модулям. Вам может понадобиться нажать Y, чтобы разрешить обновленные версии содержимого помощи.

PowerShell обновляет помощь для различных модулей после команды Get-Help.

Существует множество вариантов помощи через Get-help. Например, если вы хотите узнать, что делает команда Get-process и какова ее точная синтаксическая форма, введите следующее:

Get-Help Get-Process

Различные примеры, отображаемые в окне PowerShell для команды get-help.

Совет: беспокоитесь о том, что кейлоггеры отслеживают вашу активность на вашем ПК? Узнайте, как обнаружить кейлоггер в Windows.

5. Get-Process

Get-Process — это основная команда PowerShell, которая табулирует полный список процессов на вашем локальном устройстве или удаленном компьютере.

Команда Get-Process в PowerShell перечисляет все процессы компьютера.

Для более подробной информации о процессе вам нужно будет указать другие параметры, такие как идентификатор процесса (PID) или имя процесса.

Указание имени процесса в команде Get-Process в PowerShell.

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

  • Перечислить процессы, указав размер файла в МБ
  • Перечислить процессы по приоритету
  • Найти владельца процесса

6. Get-Service

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

Команда Get-service в окне PowerShell с полным списком служб.

Не помните точное имя необходимой вам службы? Вы можете использовать символ подстановки (*) вместе с несколькими буквами, которые вы можете вспомнить.

Get-service "xyz*"

Get-service с введенными инициалы в окне PowerShell.

Некоторые общие флаги, которые работают вместе с Get-Service, включают -DisplayName, -DependentServices, -InputObject и -RequiredServices.

7. Install-Module или Install-Script

PowerShell является одним из самых безопасных вариантов для установки программных пакетов для программного обеспечения Windows, такого как Microsoft Teams, McAfee Security, Bing Translator, последние игры Xbox и т.д. Чтобы получить полный список программного обеспечения, поддерживаемого в PowerShell для всех пользователей, введите:

Get-AppxPackage -AllUsers

Команда Get AppxPackage для просмотра всего списка пакетов в PowerShell.

Лучший способ — это искать желаемый пакет в PowerShell Gallery, едином ресурсе для последних программных пакетов. Как только вы его найдете, введите команду, такую как Install-module, Install-Script или Install-Package. Следующий пример показывает установку игры “Сапер“.

Install-Script -Name Minesweeper

Установка игры Сапер через PowerShell в Windows.

Подождите несколько секунд или минут, пока пакет устанавливается через ваш PowerShell. Он будет доступен позже в Windows.

Процесс установки пакета Сапер.

Еще одной полезной командой является Find-package, которая ищет программный пакет на вашем компьютере или в Интернете.

Совет: вы также можете использовать Диспетчер пакетов Windows для установки и обновления программ.

8. mkdir, md, rmdir

mkdir не является родной командой PowerShell. Тем не менее, это широко используемый псевдоним для new-item для создания каталогов, поскольку этот синтаксис очень популярен в DOS и Linux. Когда вы используете mkdir с именем по вашему выбору, он создает пустую папку.

mkdir "название вашей пустой папки."

Заставьте PowerShell указывать на вашу вновь созданную папку, используя простую команду cd.

cd "название вновь созданной папки."

Создание нового каталога с помощью команды mkdir в PowerShell и указание на этот новый каталог с помощью cd.

Новая папка всегда располагается по пути C:\Windows\System32, но вы можете использовать cd, чтобы указать на другую папку.

Новая папка, созданная с помощью команды PowerShell, видна в Проводнике файлов System32.

Вы можете заменить mkdir на md для той же цели, как и выше. Чтобы удалить любое содержимое директории, используйте команду rmdir (удалить директорию):

rmdir "название папки с пустым содержимым."

Команды md и rmdir, использованные в окне PowerShell для создания и удаления пустых папок.

9. New-Item

В отличие от псевдонимов, таких как mkdir и md, New-item является официальным cmdlet, используемым в PowerShell для создания новых элементов и установки их значений. Кроме создания файлов и папок, вы можете использовать его для создания ключей реестра и записей.

  1. Чтобы создать новую директорию с помощью команды New-item, введите:
New-item -Path "Путь к директории\" -Name "Название по вашему выбору" -ItemType "directory"
  1. Как только директория создана, вы можете помещать новые файлы с помощью New-item внутрь этой папки.
New-item -Path "Путь к созданной директории\" -Name "имя файла.txt" -ItemType "file" -Value "введите любой текст по вашему выбору."

Команда New-item в PowerShell для создания новой папки и файла с текстом.

  1. Новый файл можно найти в папке назначения.

Основные команды PowerShell Новая запись в проводнике файлов.

10. Remove-Item

Вы хотите удалить все файлы с расширением, таким как .TXT, .DOC, .PDF, .WMV, из папки? Сначала укажите точный путь к папке с помощью cd, затем используйте cmdlet Remove-Item, как показано ниже:

Remove-Item * -Include *(тип файла) -Exclude *(любая переменная или число)"

Удаление элемента из папки в PowerShell.

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

Полезно знать: есть проблемы с удалением файла с вашего ПК? Узнайте, как принудительно удалить неудаляемые файлы в Windows.

11. Set-ExecutionPolicy

В целях безопасности PowerShell имеет свою собственную политику выполнения, которая затрагивает файлы конфигурации, сценарии и другие параметры. Эта функция безопасности может быть выполнена с помощью команды Set-executionPolicy вместе с флагом, таким как -force, который перезаписывает существующие элементы. Она следует синтаксису, указанному ниже.

Set-ExecutionPolicy  
[-ExecutionPolicy]  
[[-Scope]]  
[-Force]  
[-WhatIf]  
[-Confirm]  
[]

Например, использование команды Set-ExecutionPolicy для установки программного обеспечения Chocolatey выглядит как указанный код. После выполнения он загрузит и установит официальное программное обеспечение Chocolatey на вашем компьютере.

Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol =[System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))

Установка Chocolatey в PowerShell с использованием команды Set-ExecutionPolicy.

12. Select-Object и Sort-Object

Если ваша папка или подпапка содержит много файлов и расширений, вам может понадобиться отсортировать или выбрать их в порядке возрастания или убывания на основании предварительно установленного свойства. В этом вам помогут cmdlets Sort-Object и Select-Object, которые позволяют вам переупорядочить несколько объектов сразу.

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

Get-process | Sort-Object -Property WS | Select-Object -Last "Количество элементов"

Выбор и сортировка объектов на основе заданного Get-process в PowerShell.

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

13. Start- и Stop-Process

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

Чтобы быстро завершить процесс, используйте cmdlet Stop-Process. Следующий пример показывает, как закрыть процесс WordPad.

Stop-process -Name "Название процесса или приложения"

Остановка процесса WordPad из PowerShell в Windows.

Аналогично, чтобы запустить новое приложение прямо из окна PowerShell, введите cmdlet Start-process и флаг -FilePath.

Start-Process -FilePath "Название приложения"

Запустить процесс в PowerShell, чтобы открыть приложение WordPad.

Совет: узнайте, как остановить фоновый приложения и процессы, которые работают в Windows и потребляют ваши ресурсы.

14. Suspend- и Resume-Service

Вместо того, чтобы запускать или останавливать запущенную службу, вы можете приостановить ее напрямую. Cmdlet Suspend-service прост в использовании и помогает уменьшить использование RAM и CPU для служб, которые вы в данный момент не используете.

Примечание: вы можете использовать Get-service, чтобы получить имя службы, которую нужно приостановить.

Suspend-service -DisplayName "Полное название службы"

Основные команды PowerShell Приостановить службу

Любую завершенную службу можно потом возобновить с помощью простой команды Resume-service. Если вы не уверены, какие услуги можно приостановить, не повредив вашей системе, используйте следующую команду:

Get-Service | Where-Object { $_.CanPauseAndContinue -eq "True" } | Suspend-Service -Confirm

Приостановить службы, которые можно приостановить в окне PowerShell.

15. Test-Path

Если вы хотите избежать ошибок в путях файлов при вашем программировании, вам нужно быть уверенным, что путь файла в синтаксисе верен. Хотя вы можете всегда проверить с помощью Проводника файлов, более точный способ подтвердить это — использовать cmdlet Test-path, который просто отвечает “True” или “False”, существует ли заданный путь.

Test-Path -Path "Имя пути"

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

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

16. Wait-Process

Когда несколько процессов работают одновременно, вы можете захотеть подождать, пока один или несколько из них не будут остановлены, прежде чем их можно будет снова использовать. Cmdlet Wait-Process может сильно помочь. Вы можете указать таймаут, в течение которого PowerShell будет ждать, прежде чем процесс будет остановлен.

Wait-Process -Name "Имя процесса" -Timeout (в секундах)

Основные команды PowerShell Подождать процесс

Другие важные команды PowerShell

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

  • Echo — это cmdlet, используемый для печати любого значения на консоли PowerShell
  • Get-Host дает полную информацию о программе, размещающей PowerShell в Windows
  • Test-JSON — это расширенный cmdlet, используемый для проверки, является ли строка допустимым объектом JSO
  • Trace-command отслеживает всё выражение или команду, чтобы найти содержащиеся в них параметры и флаги
  • Write-output, как следует из названия, выводит результат последней команды в окно консоли.

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

Часто задаваемые вопросы

Как мне решить ошибку “Скрипт PowerShell не распознан как имя cmdlet”?

Если PowerShell не распознает имя cmdlet, это может быть связано с тем, что переменная Path не настроена правильно. Исправьте любые ошибки переменной пути, исправляя ее недействительный путь к папке.

Как мне захватить вывод ошибки как переменную в PowerShell?

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