Шпаргалка PowerShell — команды, которые можно скопировать

Команды PowerShell, которые разработчики и администраторы используют каждый день в Windows, а также в PowerShell 7 на macOS и Linux. Каждая команда объяснена в одной строке. Укажите папку, файл и хост один раз и копируйте готовые к запуску команды.

Обновлено
Ваши значенияВсе примеры ниже обновляются при вводе

Справка и поиск

5
Get-Command *service*

Поиск команд, в имени которых есть слово, — самый быстрый способ найти командлеты.

Get-Help Get-Process -Examples

Показать примеры использования командлета. Выполните Update-Help один раз, чтобы загрузить полную справку.

Get-Process | Get-Member

Показать свойства и методы объектов, которые возвращает команда.

Get-Alias ls

Узнать, какой командлет запускает псевдоним (ls, dir и gci запускают Get-ChildItem).

$PSVersionTable

Показать версию и издание PowerShell (Windows PowerShell 5.1 или PowerShell 7).

Файлы и папки

11
Get-ChildItem C:\Projects\app -Recurse -Filter *.log

Показать файлы одного типа в папке и её подпапках.

Set-Location C:\Projects\app

Сменить текущую папку (псевдоним cd).

New-Item -ItemType Directory -Path C:\Projects\app\logs -Force

Создать папку, включая недостающие родительские папки.

Copy-Item app.log C:\Projects\app\backup\ -Force

Скопировать файл с перезаписью существующей копии.

Move-Item app.log C:\Projects\app\archive\

Переместить или переименовать файл или папку.

Remove-Item C:\Projects\app\temp -Recurse -Force

опасно Удалить папку и всё её содержимое без подтверждения.

Get-Content app.log -Tail 50 -Wait

Показать последние 50 строк файла и продолжать выводить новые строки (как tail -f).

Set-Content app.log -Value "text" -Encoding utf8

опасно Записать текст в файл, заменив его содержимое.

Add-Content app.log -Value "another line"

Добавить строку в конец файла.

Compress-Archive -Path C:\Projects\app\* -DestinationPath archive.zip

Создать ZIP-архив из содержимого папки.

Expand-Archive archive.zip -DestinationPath C:\Projects\app

Распаковать ZIP-архив.

Поиск и текст

7
Select-String -Path *.log -Pattern "error"

Искать текст или регулярное выражение в файлах (как grep); показывает файл, номер строки и саму строку.

Get-ChildItem -Recurse | Select-String "error" -List

Найти, в каких файлах папки есть этот текст.

(Get-Content app.log) -replace "old", "new" | Set-Content app.log

опасно Найти и заменить текст в файле (поддерживаются регулярные выражения).

Get-Content app.log | Measure-Object -Line -Word -Character

Подсчитать строки, слова и символы (как wc).

Import-Csv data.csv | Where-Object { $_.Status -eq "active" }

Прочитать CSV как объекты и отфильтровать строки по столбцу.

Get-Process | Export-Csv processes.csv -NoTypeInformation

Сохранить вывод любой команды в CSV-файл.

Get-Content data.json -Raw | ConvertFrom-Json

Разобрать JSON-файл в объекты, с которыми можно работать.

Процессы и службы

6
Get-Process | Sort-Object CPU -Descending | Select-Object -First 10

Показать 10 процессов с наибольшим временем работы процессора.

Stop-Process -Name node -Force

опасно Завершить все процессы с этим именем.

Get-Service | Where-Object Status -eq Running

Показать запущенные службы Windows.

Restart-Service Spooler

Перезапустить службу (нужна консоль с повышенными правами).

Start-Process pwsh -Verb RunAs

Открыть новое окно PowerShell от имени администратора.

Get-NetTCPConnection -LocalPort 443 | Select-Object OwningProcess

Найти процесс, который слушает порт.

Сеть и web

5
Test-NetConnection example.com -Port 443

Проверить, доступен ли хост по TCP-порту (ping и проверка порта).

Resolve-DnsName example.com

Найти DNS-записи для имени хоста.

Invoke-RestMethod https://api.github.com/repos/owner/repo

Обратиться к JSON API и получить ответ в виде объектов.

Invoke-WebRequest https://example.com/file.zip -OutFile file.zip

Скачать файл.

Get-NetIPAddress -AddressFamily IPv4

Показать IPv4-адреса этого компьютера.

Переменные, конвейер и скрипты

8
$env:PATH -split ";"

Показать каждую папку из PATH на отдельной строке.

$env:API_URL = "value"

Задать переменную окружения для текущего сеанса.

[Environment]::SetEnvironmentVariable("API_URL", "value", "User")

Задать переменную окружения постоянно для вашего пользователя.

Get-ChildItem | ForEach-Object { $_.Name.ToUpper() }

Выполнить код для каждого элемента конвейера ($_ — текущий элемент).

Get-ChildItem | Where-Object Length -gt 10MB

Отфильтровать объекты по свойству — здесь файлы больше 10 МБ.

Measure-Command { Get-Process }

Измерить время выполнения команды.

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser

Разрешить запуск локальных скриптов для вашего пользователя; загруженные скрипты должны быть подписаны.

try { Get-Process -ErrorAction Stop } catch { Write-Warning $_ }

Перехват ошибок: -ErrorAction Stop превращает нефатальные ошибки в перехватываемые.

Система

5
Get-ComputerInfo -Property OsName, OsVersion, CsTotalPhysicalMemory

Показать версию Windows и объём установленной памяти.

Get-PSDrive -PSProvider FileSystem

Показать диски с занятым и свободным местом.

Get-WinEvent -LogName System -MaxEvents 20

Прочитать последние записи журнала событий System.

winget upgrade --all

Обновить все приложения, установленные через Windows Package Manager.

Restart-Computer -Force

опасно Немедленно перезагрузить компьютер.

Ваши данные никогда не покидают ваш компьютер. Вся обработка выполняется на 100% локально в вашем браузере.

Был ли этот инструмент полезен?0.0 Оценок: 0
Шпаргалка команд CMD WindowsФайлы, robocopy, findstr, процессы, сеть, инструменты восстановления и основы bat-скриптов.Шпаргалка CMD Windows →

Как пользоваться: Шпаргалка PowerShell

  1. Введите свои значения (папку, файл, хост) в полях вверху страницы — все примеры на странице обновятся сразу.
  2. Воспользуйтесь поиском или перейдите к разделу, чтобы найти нужную команду.
  3. Нажмите Копировать, чтобы скопировать готовую строку, или Копировать раздел, чтобы скопировать блок с комментариями.
  4. Команды с пометкой опасно удаляют или перезаписывают данные — прочитайте примечание перед запуском.

Объекты, а не текст

Главное отличие от Bash и CMD: команды PowerShell передают по конвейеру объекты, а не строки текста. Команда Get-Process | Where-Object CPU -gt 100 | Sort-Object CPU фильтрует и сортирует по реальным свойствам, без разбора столбцов. Get-Member показывает, какие свойства есть у объекта, а Select-Object, Where-Object и ForEach-Object делают остальную работу.

Имена «Глагол-Существительное» и псевдонимы

Командлеты называются по схеме Глагол-Существительное: Get-ChildItem, Set-Content, Remove-Item. Поэтому Get-Command -Verb Get или Get-Command *Service* помогут найти нужное. Привычные псевдонимы, такие как ls, cd, cat и rm, соответствуют этим командлетам, но их параметры — это параметры PowerShell, а не флаги Unix.

Windows PowerShell 5.1 и PowerShell 7

Windows поставляется с Windows PowerShell 5.1 (powershell.exe). PowerShell 7 (pwsh) — кроссплатформенный преемник для Windows, macOS и Linux, с операторами && и ||, тернарным оператором и более высокой производительностью. Всё, что есть на этой странице, работает в обеих версиях, если не указано иное. Для сравнения см. шпаргалку по CMD и шпаргалку по командам Linux.

Также ищут как: powershell grep, powershell tail, команды windows powershell.

Инструменты, которые хорошо сочетаются с Шпаргалка PowerShell

  • Шпаргалка Git — Все команды Git, которые вы используете каждый день, и те, что нужны, когда что-то пошло не так, — с пояснением в одну строку.
  • Конвертер путей Windows — Вставьте путь в любом формате — C:\Users\me\project, /mnt/c/Users/me/project, /c/Users/me — и получите его во всех остальных видах, готовом к копированию: WSL, Git Bash, Cygwin, file URL, UNC и экранированном для кода.
  • Конвертер окончаний строк — Посмотрите, какие окончания строк использует файл, и преобразуйте их — из Windows CRLF в Unix LF или обратно — для вставленного текста или целой партии файлов.
  • Шпаргалка Docker — Команды Docker и Docker Compose, которые нужны каждую неделю, с пояснением в одну строку.

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

Какой аналог grep в PowerShell?
Select-String. Например, Select-String -Path *.log -Pattern "error", или передайте вывод в конвейер: Get-Content app.log | Select-String error.
Как отслеживать лог-файл, как tail -f?
Get-Content app.log -Tail 50 -Wait покажет последние 50 строк и будет выводить новые.
Почему не запускается мой скрипт?
По умолчанию политика выполнения блокирует скрипты. Выполните Set-ExecutionPolicy RemoteSigned -Scope CurrentUser, чтобы разрешить запуск собственных скриптов.
Можно ли установить Шпаргалка PowerShell как веб-приложение и пользоваться им офлайн?
Да. Шпаргалка PowerShell — это веб-приложение (PWA), которое можно установить из браузера, без скачивания из магазина приложений. В Chrome или Edge (Windows, macOS, Linux, ChromeOS) или на Android нажмите вверху этой страницы «Установить приложение»; на iPhone и iPad используйте «Поделиться → На экран «Домой»», а в Safari 17+ на Mac — «Файл → Добавить в Dock». После этого приложение откроется в отдельном окне со своим значком, и так как оно полностью работает в браузере, оно продолжит работать офлайн. Firefox на компьютере не умеет устанавливать веб-приложения. Как работает установка.

Похожие инструменты

localШпаргалка CMD WindowsКоманды командной строки (cmd.exe), которые по-прежнему нужны: копирование и поиск файлов, настройка сети,…localШпаргалка по Linux-командамКоманды Linux и bash, которые разработчики используют на серверах и ноутбуках: файлы, поиск, права…localШпаргалка GitВсе команды Git, которые вы используете каждый день, и те, что нужны, когда что-то пошло не так, — с…localКонвертер путей WindowsВставьте путь в любом формате — C:\Users\me\project, /mnt/c/Users/me/project, /c/Users/me — и получите его…localКонвертер окончаний строкПосмотрите, какие окончания строк использует файл, и преобразуйте их — из Windows CRLF в Unix LF или…localШпаргалка DockerКоманды Docker и Docker Compose, которые нужны каждую неделю, с пояснением в одну строку. Задайте образ,…