Команды PowerShell — полный справочник Windows

Содержание
  1. 🔹 Что такое PowerShell и зачем нужны команды PowerShell
  2. 📁 Основные команды PowerShell для работы с файлами и каталогами
  3. 📄 Get-ChildItem — просмотр файлов и каталогов
  4. 📦 Copy-Item — копирование файлов и папок
  5. 🔍 Основные команды PowerShell для поиска, фильтрации и работы с объектами
  6. 🔎 Where-Object — фильтрация данных
  7. 📌 Select-Object — выбор нужных свойств
  8. 📊 Sort-Object — сортировка данных
  9. 📋 Format-Table — форматирование в таблицу
  10. 📑 Format-List — вывод всех свойств объекта
  11. ⚙️ Команды PowerShell для управления процессами
  12. 📌 Get-Process — просмотр процессов
  13. 🛑 Stop-Process — завершение процесса
  14. 🧩 Основные команды PowerShell для управления службами Windows
  15. 📌 Get-Service — список служб
  16. ▶️ Start-Service — запуск службы
  17. ⏹ Stop-Service — остановка службы
  18. ⚙️ Set-Service — изменение параметров служб
  19. 🌐 Основные команды PowerShell для сети и диагностики
  20. 📡 Test-Connection — аналог ping с расширенными возможностями
  21. 🌐 Get-NetIPConfiguration — конфигурация сети
  22. 🔌 Get-NetTCPConnection — открытые TCP-подключения
  23. 🌐 Resolve-DnsName — продвинутый DNS-анализ
  24. 💽 Основные команды PowerShell для управления дисками и файлами
  25. 📁 Get-ChildItem — просмотр содержимого каталога
  26. 📦 Copy-Item — копирование файлов
  27. 📂 Move-Item — перемещение файлов и каталогов
  28. 🗑 Remove-Item — удаление файлов и каталогов
  29. 👤 Основные команды PowerShell для управления пользователями и группами
  30. 👤 New-LocalUser — создание нового пользователя
  31. 👥 Add-LocalGroupMember — добавление пользователя в группу
  32. 📋 Get-LocalUser — список локальных пользователей
  33. 🧩 Get-LocalGroup — список локальных групп
  34. 🔐 Основные команды PowerShell для безопасности и управления правами
  35. 🔒 Get-Acl — просмотр прав доступа (ACL)
  36. 🛠 Set-Acl — изменение прав доступа
  37. ⚠ Execution Policy — запуск скриптов PowerShell
  38. 📜 Основные команды PowerShell для работы с журналами событий
  39. 📘 Get-EventLog — просмотр классических журналов
  40. 📗 Get-WinEvent — современный просмотр логов
  41. 🖥 Основные команды PowerShell для диагностики и системной информации
  42. 💻 Get-ComputerInfo — подробная информация о ПК
  43. 🧠 Get-CimInstance Win32_Processor — информация о CPU
  44. 💾 Get-CimInstance Win32_PhysicalMemory — информация о RAM
  45. ⚡ Основные команды PowerShell для скриптов и автоматизации
  46. 📌 Переменные PowerShell
  47. 🔀 Условные конструкции (if)
  48. 🔁 Циклы PowerShell (for, foreach, while)
  49. ⚙️ Функции PowerShell
  50. 📄 Запуск PowerShell-скриптов
  51. 📚 Модули PowerShell — расширение возможностей
  52. 📦 Установка и управление модулями
  53. 📝 PowerShell Profile — персонализация терминала
  54. 🎨 Настройка профиля
  55. 🚀 Полезные готовые скрипты PowerShell
  56. 📁 Резервное копирование каталога
  57. 📡 Проверка доступности хоста
  58. 🛑 Завершение ресурсоёмких процессов
  59. 📌 Полезные ссылки
  60. ✔ Заключение

Это самый подробный и понятный справочник по командам PowerShell для Windows 10 и Windows 11. Здесь собраны основные команды PowerShell, примеры использования, синтаксис, полезные советы системного администратора, а также разбор продвинутых инструментов автоматизации Windows. Статья подходит для начинающих и опытных IT-специалистов.

Если вам также нужны команды CMD — обратите внимание на наш подробный справочник:

Основные команды CMD — Полный справочник Windows
.


🔹 Что такое PowerShell и зачем нужны команды PowerShell

PowerShell — это мощная среда автоматизации Windows, основанная на .NET и использующая командлеты (cmdlets) — небольшие встроенные команды для работы с операционной системой, сетью, файлами, службами и реестром. В отличие от CMD, команды PowerShell позволяют обрабатывать объекты, а не текст, что делает работу администратора быстрее и надёжнее.

Преимущества PowerShell:
  • полный доступ к ядру Windows;
  • объектная модель .NET;
  • удалённое управление серверами;
  • поддержка модулей и скриптов;
  • сильный инструмент автоматизации для администраторов.
💡 Важно: В статье мы будем использовать ключевые команды PowerShell, а также их
расширенные примеры. Каждая команда сопровождается расшифровкой параметров и рекомендациями администратора.

📁 Основные команды PowerShell для работы с файлами и каталогами

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

📄 Get-ChildItem — просмотр файлов и каталогов

Get-ChildItem
Get-ChildItem C:\Windows
Get-ChildItem -Path C:\Logs -Recurse
Get-ChildItem *.log
Полезные параметры:
-Recurse — поиск во всех подпапках;
-Filter — фильтрация по шаблону;
-File / -Directory — вывод только файлов или только папок.
💡 Совет: В отличие от CMD, команда PowerShell возвращает объекты System.IO.FileInfo,
с которыми можно работать в дальнейшем в конвейере (|).

📦 Copy-Item — копирование файлов и папок

Copy-Item -Path C:\Data -Destination D:\Backup -Recurse
Copy-Item file.txt C:\Temp\
Параметры:
-Recurse — копирование всех подпапок;
-Force — копирование скрытых и системных файлов;
-Verbose — подробный вывод хода операции.
⚠️ Опасность: Если конечная папка уже существует, PowerShell тихо перезапишет одноимённые файлы.



🔍 Основные команды PowerShell для поиска, фильтрации и работы с объектами

PowerShell — объектно-ориентированная система. Все команды PowerShell возвращают не текст, а объекты .NET. Благодаря этому вы можете легко фильтровать, группировать, сортировать и форматировать данные. Это одно из ключевых преимуществ PowerShell перед CMD.

🔎 Where-Object — фильтрация данных

Get-Process | Where-Object { $_.CPU -gt 50 }
Get-ChildItem C:\Logs | Where-Object { $_.Length -gt 1MB }
Get-Service | Where-Object { $_.Status -eq "Stopped" }
Основные операторы:
-eq — равно
-ne — не равно
-gt — больше
-lt — меньше
-match — соответствует регулярному выражению
💡 Совет администратора: Используйте Where-Object после команды, которая возвращает большие наборы данных.
Это позволяет быстро находить нужные элементы.

📌 Select-Object — выбор нужных свойств

Get-Process | Select-Object Name,CPU
Get-Service | Select-Object -First 10
Get-ChildItem | Select-Object Name,Length,LastWriteTime
Параметры:
-First — первые N элементов;
-Last — последние N элементов;
-Property — выбор конкретных свойств.

📊 Sort-Object — сортировка данных

Get-Process | Sort-Object CPU
Get-ChildItem | Sort-Object Length -Descending
Параметры:
-Descending — сортировка от большего к меньшему;
-Unique — исключить дубликаты.

📋 Format-Table — форматирование в таблицу

Get-Process | Format-Table Name,CPU,Id -AutoSize
Get-Service | Format-Table Status,Name,DisplayName
Параметры:
-AutoSize — автоматически подбирает ширину колонок;
-Wrap — переносит длинные строки.
⚠️ Важно: Format-Table нарушает «объектность» конвейера.
После него нельзя фильтровать объекты — только текст.

📑 Format-List — вывод всех свойств объекта

Get-Process | Format-List *
Get-Service wuauserv | Format-List *
Используйте Format-List *, чтобы увидеть полный набор свойств объекта.
Очень полезно при отладке сложных команд PowerShell.

⚙️ Команды PowerShell для управления процессами

Эти команды PowerShell позволяют управлять процессами Windows: находить, фильтровать, завершать, просматривать загруженность CPU и памятью.

📌 Get-Process — просмотр процессов

Get-Process
Get-Process chrome
Get-Process | Sort-Object CPU -Descending
Что показывает:
✔ PID процесса
✔ потребление CPU
✔ потребление RAM
✔ время запуска

🛑 Stop-Process — завершение процесса

Stop-Process -Name chrome -Force
Stop-Process -Id 4520
Параметры:
-Name — завершить по имени;
-Id — завершить по PID;
-Force — принудительное завершение.
⚠️ Осторожно: можно случайно завершить критичные системные процессы.



🧩 Основные команды PowerShell для управления службами Windows

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

📌 Get-Service — список служб

Get-Service
Get-Service wuauserv
Get-Service | Where-Object { $_.Status -eq 'Stopped' }
Ключевые свойства:
✔ Status — статус службы (Running/Stopped)
✔ Name — имя службы
✔ DisplayName — отображаемое имя

▶️ Start-Service — запуск службы

Start-Service wuauserv
Start-Service bits
Используйте, когда службы Windows Update, BITS или Spooler перестают работать.

⏹ Stop-Service — остановка службы

Stop-Service spooler
Stop-Service wuauserv -Force
Параметры:
-Force — принудительная остановка.
⚠️ Осторожно: может вызвать сбои, если служба системная.

⚙️ Set-Service — изменение параметров служб

Set-Service -Name spooler -StartupType Automatic
Set-Service -Name wuauserv -StartupType Disabled
StartupType:
✔ Automatic
✔ Manual
✔ Disabled

🌐 Основные команды PowerShell для сети и диагностики

PowerShell предоставляет расширенные сетевые модули, которые не доступны в CMD. Эти команды помогают анализировать подключение, порты, IP-конфигурацию, DNS и многое другое.

📡 Test-Connection — аналог ping с расширенными возможностями

Test-Connection google.com
Test-Connection 8.8.8.8 -Count 10
Test-Connection -ComputerName 192.168.1.1 -Quiet
Параметры:
-Count — количество запросов;
-Quiet — возвращает True/False.
Преимущество: работает стабильно, быстрее и точнее, чем ping.

🌐 Get-NetIPConfiguration — конфигурация сети

Get-NetIPConfiguration
Get-NetIPAddress | Where-Object { $_.AddressFamily -eq 'IPv4' }
Полная замена ipconfig /all — работает быстрее и точнее.

🔌 Get-NetTCPConnection — открытые TCP-подключения

Get-NetTCPConnection
Get-NetTCPConnection -LocalPort 443
Get-NetTCPConnection | Sort-Object State
Лучше и современнее, чем netstat.

🌐 Resolve-DnsName — продвинутый DNS-анализ

Resolve-DnsName google.com
Resolve-DnsName yandex.ru -Type MX
Полностью заменяет nslookup — показывает более подробные ответы.

💽 Основные команды PowerShell для управления дисками и файлами

PowerShell предоставляет гибкие инструменты для управления дисками, томами, файлами, атрибутами, ACL и журналами.

📁 Get-ChildItem — просмотр содержимого каталога

Get-ChildItem
Get-ChildItem C:\Logs -Recurse
Get-ChildItem -File | Where-Object { $_.Length -gt 1MB }
Полная замена dir с расширенными возможностями.

📦 Copy-Item — копирование файлов

Copy-Item C:\Data D:\Backup -Recurse
Copy-Item file.txt C:\Temp
Параметры:
-Recurse — копировать вложенные каталоги.
Пример: копирование профиля пользователя.

📂 Move-Item — перемещение файлов и каталогов

Move-Item C:\file.txt D:\Archive
Move-Item C:\Logs\*.log D:\Logs\

🗑 Remove-Item — удаление файлов и каталогов

Remove-Item file.txt
Remove-Item C:\Temp\* -Recurse -Force
⚠️ ОПАСНО: -Recurse -Force удаляет без подтверждения. Использовать осторожно.



👤 Основные команды PowerShell для управления пользователями и группами

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

👤 New-LocalUser — создание нового пользователя

New-LocalUser -Name "Alex" -Password (Read-Host -AsSecureString) -Description "Тестовый пользователь"
Параметры:
-Password — принимает защищённую строку;
-Description — описание пользователя.

👥 Add-LocalGroupMember — добавление пользователя в группу

Add-LocalGroupMember -Group "Administrators" -Member "Alex"
Позволяет дать пользователю права администратора или включить в любую локальную группу.

📋 Get-LocalUser — список локальных пользователей

Get-LocalUser
Get-LocalUser | Where-Object { $_.Enabled -eq $false }
Полезно при проверке заблокированных или отключённых учётных записей.

🧩 Get-LocalGroup — список локальных групп

Get-LocalGroup
Get-LocalGroupMember Administrators

🔐 Основные команды PowerShell для безопасности и управления правами

Эти команды PowerShell позволяют работать с ACL, правами, политиками, настройками безопасности и сертификатами.

🔒 Get-Acl — просмотр прав доступа (ACL)

Get-Acl C:\Secret
Показывает владельца, группы и разрешения на объект.

🛠 Set-Acl — изменение прав доступа

$acl = Get-Acl "C:\Secret"
$permission = "Alex","FullControl","Allow"
$rule = New-Object System.Security.AccessControl.FileSystemAccessRule $permission
$acl.SetAccessRule($rule)
Set-Acl "C:\Secret" $acl
Используется для установки новых разрешений на файлы и каталоги.

⚠ Execution Policy — запуск скриптов PowerShell

Get-ExecutionPolicy
Set-ExecutionPolicy RemoteSigned
Политики:
✔ Restricted — запрещено всё
✔ RemoteSigned — локальные скрипты можно запускать
✔ Unrestricted — запуск любых скриптов

📜 Основные команды PowerShell для работы с журналами событий

PowerShell предоставляет мощные инструменты для анализа журналов Windows (Event Log). Это полезно для диагностики ошибок, взломов, сбоев обновлений и системных проблем.

📘 Get-EventLog — просмотр классических журналов

Get-EventLog -LogName System -Newest 20
Get-EventLog -LogName Application | Where-Object { $_.EntryType -eq 'Error' }
Полезно для анализа системных сбоев и ошибок приложений.

📗 Get-WinEvent — современный просмотр логов

Get-WinEvent -LogName Security -MaxEvents 50
Get-WinEvent -FilterHashtable @{LogName="System"; Level=2}
Поддерживает фильтрацию по структуре, уровням событий и ID ошибок.

🖥 Основные команды PowerShell для диагностики и системной информации

PowerShell позволяет получать полную информацию о системе, железе, драйверах, BIOS, CPU, RAM и устройствах.

💻 Get-ComputerInfo — подробная информация о ПК

Get-ComputerInfo
Показывает: ОС, билд, BIOS, процессор, память, сетевые настройки, устройства.

🧠 Get-CimInstance Win32_Processor — информация о CPU

Get-CimInstance Win32_Processor

💾 Get-CimInstance Win32_PhysicalMemory — информация о RAM

Get-CimInstance Win32_PhysicalMemory



⚡ Основные команды PowerShell для скриптов и автоматизации

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

📌 Переменные PowerShell

$name = "Nik"
$cpu = Get-Process | Sort-Object CPU -Descending | Select-Object -First 1
Переменные упрощают хранение данных, путей, команд и их переиспользование.

🔀 Условные конструкции (if)

$cpuLoad = (Get-Counter '\Processor(_Total)\% Processor Time').CounterSamples.CookedValue
if ($cpuLoad -gt 80) {
    Write-Host "Высокая нагрузка на CPU!" -ForegroundColor Red
}

🔁 Циклы PowerShell (for, foreach, while)

foreach ($file in Get-ChildItem C:\Logs\*.log) {
    Write-Host $file.Name
}

⚙️ Функции PowerShell

function Restart-Spooler {
    Stop-Service spooler -Force
    Start-Service spooler
    Write-Host "Очередь печати перезапущена!"
}

📄 Запуск PowerShell-скриптов

.\script.ps1
powershell.exe -File C:\Scripts\test.ps1
Если скрипт не запускается — проверьте ExecutionPolicy.

📚 Модули PowerShell — расширение возможностей

Модули PowerShell расширяют возможности оболочки, добавляя новые команды PowerShell под конкретные задачи: Active Directory, Azure, VMware, SQL и многое другое.

📦 Установка и управление модулями

Find-Module -Name ActiveDirectory
Install-Module -Name ActiveDirectory
Import-Module ActiveDirectory
Get-Module
Модули позволяют PowerShell работать с серверами, доменами, облаками и виртуальными средами.

📝 PowerShell Profile — персонализация терминала

Профиль PowerShell — это скрипт, который запускается автоматически при старте оболочки. Вы можете настроить свои алиасы, переменные, функции, модули и тему.

🎨 Настройка профиля

notepad $PROFILE
Путь профиля обычно:
C:\Users\USERNAME\Documents\PowerShell\Microsoft.PowerShell_profile.ps1
🧩 Полезные настройки профиля:
✔ алиасы для длинных команд
✔ цветной вывод ошибок
✔ автозагрузка модулей
✔ кастомные функции
✔ отображение времени выполнения команд

🚀 Полезные готовые скрипты PowerShell

📁 Резервное копирование каталога

$source = "C:\Data"
$dest = "D:\Backup"
Copy-Item $source $dest -Recurse

📡 Проверка доступности хоста

$host = "google.com"
if (Test-Connection $host -Quiet) {
    Write-Host "Хост доступен" -ForegroundColor Green
} else {
    Write-Host "Хост недоступен" -ForegroundColor Red
}

🛑 Завершение ресурсоёмких процессов

$proc = Get-Process | Sort-Object CPU -Descending | Select-Object -First 1
Stop-Process -Id $proc.Id -Force

📌 Полезные ссылки

Рекомендуем также изучить полный справочник команд CMD — он поможет лучше понять различия между оболочками Windows? а так же представляю вам официальную документацию Mircosoft:

➡ Полный справочник основных команд CMD — Наша статья с командами CMD

PowerShell Documentation — официальный портал с руководствами, справкой, примерами.

About Command Syntax — справка по синтаксису команд PowerShell learn.microsoft.com

Approved Verbs for Windows PowerShell Commands — список глаголов командлетов


✔ Заключение

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

Корпоративный Яндекс Браузер
Рейтинг
( 1 оценка, среднее 5 из 5 )
Nik/ автор статьи

👨‍💻 Системный администратор с опытом более 15 лет. Занимается автоматизацией IT-процессов, оптимизацией систем и повышением стабильности инфраструктуры.

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:

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