Перейти к содержимому
Пятница, Октябрь 30, 2026НЕЗАВИСИМЫЕ ТЕХНИЧЕСКИЕ НОВОСТИ, ОБЗОРЫ И ПРАКТИЧЕСКИЕ РУКОВОДСТВА
О ПРОЕКТЕ
ПОСЛЕДНЕЕ /

OLED MacBook Pro уже здесь: выгорание, сенсор, отсутствующий Apple Pencil и стоит ли PROLED XDR своих денег (2026)

ЧИТАТЬ РУКОВОДСТВО
ИТ-АВТОМАТИЗАЦИЯGM / 161

Основные команды PowerShell, которые должен знать каждый пользователь Windows: полное руководство для начинающих’

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

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

PowerShell изменила то, как пользователи Windows работают со своими операционными системами, превратив сложные административные задачи в простые автоматизированные процессы12. Если вы системный администратор, ИТ-специалист или обычный пользователь Windows, который хочет повысить производительность, освоение основных команд PowerShell сэкономит вам бесчисленные часы и откроет мощные возможности автоматизации34.

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

Что такое PowerShell и почему это важно?

PowerShell — это мощная оболочка командной строки и среда для написания скриптов которая предустановлена во всех современных операционных системах Windows2. В отличие от традиционной командной строки, PowerShell использует структуру синтаксиса «глагол — существительное» которая делает команды интуитивно понятными и удобочитаемыми1. Например, Get-Process получает список запущенных процессов, а Stop-Service останавливает системные службы.

Ключевые преимущества PowerShell перед командной строкой

PowerShell даёт заметные преимущества по сравнению с традиционным интерфейсом командной строки1:

  • Объектный вывод: вместо обычного текста PowerShell работает со структурированными объектами, содержащими свойства и методы
  • Продвинутые возможности написания скриптов: создавайте сложные скрипты автоматизации с циклами, условиями и функциями
  • Расширяемость через модули: добавляйте функциональность с помощью библиотек .NET и собственных командлетов
  • Поддержка конвейеров: объединяйте команды в цепочки для эффективной обработки данных
  • Кроссплатформенность: запускайте PowerShell в Windows, Linux и macOS

С чего начать: запуск PowerShell

Прежде чем переходить к командам, нужно узнать, как запустить PowerShell25. В Windows 11 проще всего сделать так:

  1. Введите “PowerShell” в строке поиска Windows
  2. Щёлкните правой кнопкой мыши по “Windows PowerShell”
  3. Выберите “Запуск от имени администратора” чтобы получить повышенные права

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

Основные команды поиска: ваш компас в PowerShell

1. Get-Help: встроенное руководство

Этот Get-Help , пожалуй, самая важная команда PowerShell которую вы когда-либо изучите467. Она предоставляет подробную документацию по любому командлету, функции или понятию в PowerShell.

Базовый синтаксис:

powershellGet-Help <cmdlet-name>

Практические примеры:

powershell# Базовая справка по команде
Get-Help Get-Process

# Подробная справка с примерами
Get-Help Get-Process -Full

# Только примеры
Get-Help Get-Process -Examples

# Открыть онлайн-документацию
Get-Help Get-Process -Online

Совет: Используйте Update-Help периодически, чтобы у вас всегда была актуальная справка6.

2. Get-Command: поиск доступных команд

Когда вы не знаете, какую команду использовать, Get-Command помогает найти подходящий командлет для вашей задачи486.

Полезные шаблоны:

powershell# Список всех доступных команд
Get-Command

# Найти команды, начинающиеся с "Get"
Get-Command Get-*

# Найти команды, содержащие "Process"
Get-Command *Process*

# Найти команды для конкретных действий
Get-Command Start-*
Get-Command Stop-*

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

3. Get-Member: изучение свойств объектов

PowerShell работает с объектами, и Get-Member показывает, какие свойства и методы доступны у любого объекта6.

powershell# Свойства объектов процессов
Get-Process | Get-Member

# Свойства объектов служб
Get-Service | Get-Member

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

4. Get-ChildItem: просмотр содержимого каталога

Get-ChildItem является аналогом команды dir команды, но с гораздо большими возможностями1910.

Обычное использование:

powershell# Содержимое текущего каталога
Get-ChildItem

# Список вместе со скрытыми файлами
Get-ChildItem -Force

# Рекурсивный список (включая подкаталоги)
Get-ChildItem -Recurse

# Фильтр по типу файла
Get-ChildItem *.txt

# Поиск файлов в подкаталогах
Get-ChildItem -Path C:\Users -Include *.pdf -Recurse

Псевдонимы: Можно также использовать ls, dir, или gci как сокращения10.

5. Set-Location: переход по каталогам

Эффективно перемещайтесь по файловой системе с помощью Set-Location10.

powershell# Перейти в указанный каталог
Set-Location C:\Users\Documents

# Перейти в родительский каталог
Set-Location ..

# Вернуться в предыдущее место
Set-Location -

# Переход с помощью псевдонимов
cd C:\Windows
sl C:\Temp

6. Copy-Item: копирование файлов и папок

Этот Copy-Item предоставляет широкие возможности копирования файлов910.

powershell# Копировать один файл
Copy-Item "source.txt" "destination.txt"

# Копирование с защитой от перезаписи
Copy-Item "source.txt" "backup.txt" -Force

# Копировать целые каталоги
Copy-Item "C:\Source" "C:\Backup" -Recurse

# Копировать несколько файлов по маске
Copy-Item "*.log" "C:\Logs\"

7. Move-Item: перемещение и переименование файлов

Используйте Move-Item для перемещение и переименование файлов и папок1112.

powershell# Переместить файл в другое расположение
Move-Item "oldfile.txt" "C:\NewLocation\"

# Переименовать файл
Move-Item "oldname.txt" "newname.txt"

# Переместить все файлы заданного типа
Get-ChildItem *.txt | Move-Item -Destination "C:\TextFiles\"

8. Remove-Item: удаление файлов и папок

Безопасное удаление файлов и каталогов с Remove-Item10.

powershell# Удалить один файл
Remove-Item "unwanted.txt"

# Удалить с подтверждением
Remove-Item "important.txt" -Confirm

# Удалить каталоги рекурсивно
Remove-Item "C:\TempFolder" -Recurse -Force

# Удалить файлы по шаблону
Remove-Item "*.tmp"

Предупреждение: Будьте предельно осторожны с Remove-Item, особенно в сочетании с -Recurse и -Force параметрами: удалённые файлы может быть невозможно восстановить.

9. New-Item: создание файлов и каталогов

Быстро создавайте новые файлы и папки с помощью New-Item1013.

powershell# Создать новый каталог
New-Item -Name "NewFolder" -ItemType Directory

# Создать новый файл
New-Item -Name "newfile.txt" -ItemType File

# Создать файл с содержимым
New-Item "readme.txt" -ItemType File -Value "This is initial content"

# Создать вложенные каталоги
New-Item "C:\Projects\NewProject\Source\" -ItemType Directory -Force

Сведения о системе и управление процессами

10. Get-Process: мониторинг запущенных процессов

Get-Process предоставляет подробную информацию о запущенных процессах в вашей системе34.

powershell# Показать все запущенные процессы
Get-Process

# Получить конкретный процесс по имени
Get-Process notepad

# Получить процессы по маске
Get-Process note*

# Отсортировать процессы по нагрузке CPU
Get-Process | Sort-Object CPU -Descending

# Получить 10 процессов с наибольшим потреблением памяти
Get-Process | Sort-Object WorkingSet -Descending | Select-Object -First 10

11. Stop-Process: завершение процессов

Останавливайте зависшие или ненужные процессы с Stop-Process4.

powershell# Остановить процесс по имени
Stop-Process -Name "notepad"

# Остановить процесс по ID
Stop-Process -Id 1234

# Остановить с подтверждением
Stop-Process -Name "chrome" -Confirm

# Принудительно остановить зависшие процессы
Stop-Process -Name "application" -Force

12. Get-Service: управление службами Windows

Отслеживайте и управляйте службами Windows которые работают в фоновом режиме41415.

powershell# Показать все службы
Get-Service

# Получить службы по статусу
Get-Service | Where-Object Status -eq "Running"

# Получить конкретную службу
Get-Service -Name "Spooler"

# Получить службы, начинающиеся с определённых букв
Get-Service -Name "Win*"

13. Start-Service и Stop-Service: управление службами

Запускайте и останавливайте службы Windows по мере необходимости1415.

powershell# Запустить службу
Start-Service -Name "Spooler"

# Остановить службу
Stop-Service -Name "Spooler"

# Перезапустить службу
Restart-Service -Name "Spooler"

# Запустить несколько служб
Get-Service -Name "BITS", "Spooler" | Start-Service

Команды диагностики сети

14. Test-NetConnection: проверка сетевого подключения

Test-NetConnection это улучшенная версия ping в PowerShell с дополнительными возможностями1617.

powershell# Простая проверка подключения
Test-NetConnection google.com

# Проверить конкретный порт
Test-NetConnection google.com -Port 80

# Трассировать маршрут до пункта назначения
Test-NetConnection google.com -TraceRoute

# Проверить несколько подключений
"google.com", "microsoft.com" | ForEach-Object { Test-NetConnection $_ }

15. Get-NetIPAddress: просмотр конфигурации IP

Проверьте вашу конфигурацию IP-сети с Get-NetIPAddress1617.

powershell# Вывести все IP-адреса
Get-NetIPAddress

# Показать только адреса IPv4
Get-NetIPAddress -AddressFamily IPv4

# Получить сведения о конкретном адаптере
Get-NetIPAddress -InterfaceAlias "Ethernet"

16. Resolve-DnsName: проверка разрешения DNS

Проверяйте разрешение DNS и запрашивайте сведения о домене16.

powershell# Базовый запрос DNS
Resolve-DnsName google.com

# Запрос определённых типов записей
Resolve-DnsName google.com -Type MX

# Использование конкретного DNS-сервера
Resolve-DnsName google.com -Server 8.8.8.8

Команды работы с содержимым и данными

17. Get-Content: чтение содержимого файла

Чтение и отображение содержимого файла напрямую в PowerShell1819.

powershell# Показать всё содержимое файла
Get-Content "logfile.txt"

# Прочитать заданное число строк
Get-Content "bigfile.txt" -Head 10

# Отслеживать изменения файла (как tail -f)
Get-Content "live.log" -Wait

# Прочитать последние строки
Get-Content "recent.log" -Tail 20

18. Out-File: экспорт вывода в файлы

Сохранение вывода команды в файлы для последующего анализа619.

powershell# Сохранить список процессов в файл
Get-Process | Out-File "processes.txt"

# Дописать в существующий файл
Get-Date | Out-File "log.txt" -Append

# Сохранить с заданной кодировкой
Get-Service | Out-File "services.txt" -Encoding UTF8

19. Select-Object: фильтрация и форматирование вывода

Управление тем, какая информация отображается в результатах команды2021.

powershell# Показать только определённые свойства
Get-Process | Select-Object Name, CPU, WorkingSet

# Получить первые несколько результатов
Get-ChildItem | Select-Object -First 5

# Выбрать уникальные значения
Get-Process | Select-Object ProcessName -Unique

Работа с конвейерами PowerShell

20. Where-Object: фильтрация результатов

Фильтрация результатов команды по заданным критериям2021.

powershell# Отфильтровать работающие службы
Get-Service | Where-Object Status -eq "Running"

# Отфильтровать большие файлы
Get-ChildItem | Where-Object Length -gt 1MB

# Сложная фильтрация с несколькими условиями
Get-Process | Where-Object {$_.CPU -gt 100 -and $_.WorkingSet -gt 50MB}

21. Sort-Object: сортировка результатов

Упорядочивание вывода по возрастанию или убыванию21.

powershell# Сортировать процессы по имени
Get-Process | Sort-Object Name

# Сортировать по нескольким свойствам
Get-ChildItem | Sort-Object LastWriteTime, Name

# Сортировка по убыванию
Get-Process | Sort-Object CPU -Descending

22. ForEach-Object: обработка каждого элемента

Выполнение действий с каждым объектом в конвейере1921.

powershell# Process each file
Get-ChildItem *.txt | ForEach-Object { 
    Write-Host "Processing: $($_.Name)" 
}

# Modify each object
Get-Service | ForEach-Object { 
    "$($_.Name): $($_.Status)" 
}

Управление временем и датой

23. Get-Date: работа с датой и временем

Получение и форматирование текущих даты и времени19.

powershell# Получить текущую дату и время
Get-Date

# Отформатировать дату нужным образом
Get-Date -Format "yyyy-MM-dd HH:mm:ss"

# Получить компоненты даты
(Get-Date).DayOfWeek
(Get-Date).Year

# Вычислить будущие даты
(Get-Date).AddDays(30)

Основные рекомендации по работе с PowerShell

Используйте автодополнение по Tab

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

Используйте псевдонимы

PowerShell включает множество встроенных псевдонимов для распространённых команд5:

  • ls или dir для Get-ChildItem
  • cd для Set-Location
  • cat или type для Get-Content
  • rm или del для Remove-Item

Проверяйте команды безопасно

Перед запуском потенциально разрушительных команд используйте -WhatIf параметр, чтобы увидеть, что произойдёт, без фактического выполнения команды12:

powershellRemove-Item *.txt -WhatIf
Stop-Service Spooler -WhatIf

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

Из соображений безопасности PowerShell по умолчанию ограничивает выполнение сценариев22. Чтобы запускать сценарии, возможно, потребуется изменить политику выполнения:

powershell# Проверить текущую политику
Get-ExecutionPolicy

# Задать политику для текущего пользователя
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser

Создание первого скрипта PowerShell

Когда вы освоитесь с отдельными командами, вы можете объединить их в скрипты для автоматизации2223. Вот простой пример:

powershell# Сохранить как system-info.ps1
Write-Host "System Information Report" -ForegroundColor Green
Write-Host "=========================" -ForegroundColor Green

Write-Host "`nCurrent Date and Time:" -ForegroundColor Yellow
Get-Date

Write-Host "`nTop 5 Processes by CPU:" -ForegroundColor Yellow
Get-Process | Sort-Object CPU -Descending | Select-Object -First 5

Write-Host "`nRunning Services Count:" -ForegroundColor Yellow
(Get-Service | Where-Object Status -eq "Running").Count

Write-Host "`nDisk Usage:" -ForegroundColor Yellow
Get-WmiObject -Class Win32_LogicalDisk | Select-Object DeviceID, @{Name="Size(GB)";Expression={[math]::Round($_.Size/1GB,2)}}, @{Name="FreeSpace(GB)";Expression={[math]::Round($_.FreeSpace/1GB,2)}}

Продвинутый путь изучения PowerShell

Освоив эти основные команды, подумайте об изучении следующих продвинутых тем24:

  • Управление Active Directory с командлетами AD
  • Удалённое администрирование компьютеров с помощью PowerShell remoting
  • Автоматическое планирование задач с помощью сценариев PowerShell
  • Обработка ошибок и ведение журнала в сценариях
  • Модули и функции PowerShell для повторного использования кода

Решение типичных проблем PowerShell

Ошибки политики выполнения

Если вы получаете ошибки “execution of scripts is disabled”, проверьте политику выполнения и измените её22:

powershellGet-ExecutionPolicy -List
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser

Ошибки отказа в доступе

Многие административные задачи требуют повышенных прав. Всегда запускайте PowerShell от имени администратора, когда работаете с:

  • Системные службы
  • Изменение реестра
  • Настройки сети
  • Управление учётными записями пользователей

Проблемы с путями и текущим расположением

Если команды не находят файлы или каталоги, проверьте текущее расположение и используйте полные пути:

powershellGet-Location
Set-Location C:\YourDesiredPath

Заключение: больше возможностей в Windows

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

Начните с практики этих команд в безопасной среде, постепенно наращивая уверенность и переходя к более сложным сценариям. Помните, что Get-Help всегда доступна и даёт подробные сведения о любой команде, а автодополнение по Tab делает ввод команд быстрее и точнее725.

Управляете ли вы файлами, следите за производительностью системы, устраняете сетевые проблемы или автоматизируете повторяющиеся задачи — PowerShell даёт инструменты, которые нужны для более эффективной работы с системами Windows17. Вложения в изучение PowerShell окупаются ростом производительности и расширенными возможностями администрирования системы, которые будут приносить пользу на протяжении всей вашей карьеры в ИТ.

Добавьте свой сигнал.

Ваш адрес email не будет опубликован. Обязательные поля помечены *

ru_RUРусский