PowerShell для начинающих: 10 команд, которые экономят часы
PowerShell — встроенный инструмент управления Windows из командной строки. Многие пугаются «чёрного окна», но несколько команд могут сэкономить часы рутины. Разберём 10 самых полезных с примерами.
Как открыть. Win+X → «Терминал Windows (администратор)» или «Windows PowerShell (администратор)». Все команды ниже лучше выполнять от администратора, иначе часть не сработает из-за прав.
Команда 1: Get-Help. Это встроенная справка. Get-Help Get-Process покажет всё, что умеет команда. Get-Help Get-Process -Examples — примеры. Get-Help Get-Process -Full — полное описание. Это ваша «шпаргалка» по PowerShell.
Команда 2: Get-Process | Sort-Object CPU -Descending. Показывает топ процессов по использованию CPU. Альтернатива Диспетчеру задач, но в текстовом виде. Get-Process | Sort-Object WS -Descending — топ по памяти.
Команда 3: Get-Service. Статус всех служб Windows. Get-Service | Where-Object {$_.Status -eq "Running"} — только запущенные. Get-Service -Name "Spooler" — конкретная служба. Stop-Service, Start-Service, Restart-Service — управление.
Команда 4: Get-ChildItem -Recurse -Filter *.log. Рекурсивный поиск файлов. Аналог dir /s, но с фильтрами и сортировками. Get-ChildItem -Recurse | Where-Object {$_.Length -gt 100MB} — файлы больше 100 МБ.
Команда 5: Get-EventLog -LogName System -Newest 50. Последние события системного журнала. Отличный инструмент для диагностики: видно ошибки драйверов, сбои приложений, BSOD. Для нового API — Get-WinEvent.
Команда 6: Test-NetConnection google.com. Проверка соединения. Показывает, работает ли DNS, открыт ли порт, есть ли отклик. Test-NetConnection google.com -Port 443 — проверка конкретного порта.
Команда 7: Get-Volume. Состояние всех дисков: буквы, метки, файловые системы, свободное место. Get-PhysicalDisk — информация о физических дисках (SSD/HDD, здоровье, температура).
Команда 8: Get-NetIPConfiguration. Информация о сети: IP, маска, шлюз, DNS. Get-NetAdapter — состояние сетевых адаптеров. Restart-NetAdapter -Name "Ethernet" — перезапуск адаптера.
Команда 9: Set-ExecutionPolicy RemoteSigned. Безопасная политика скриптов. По умолчанию Windows блокирует выполнение .ps1-файлов. Эта команда разрешает свои скрипты, но требует подписи для скачанных из интернета.
Команда 10: Invoke-WebRequest. Скачивание файлов. Invoke-WebRequest -Uri "https://example.com/file.zip" -OutFile "C:\file.zip". Аналог wget/curl. Работает даже без установки сторонних программ.
Бонус: Save commands в .ps1-файлы. Любую последовательность команд можно сохранить в .ps1-файл и запускать двойным кликом. Это основа автоматизации: раз в час — очистка кэша, раз в день — бэкап, раз в неделю — отчёт по системе.
Полезные примеры для реальной жизни. Очистить temp-папки: Remove-Item -Path "$env:TEMP\*" -Recurse -Force. Список автозагрузки: Get-CimInstance Win32_StartupCommand. Информация о системе: Get-ComputerInfo.
Как учиться дальше. Установите Windows Terminal (Microsoft Store) — удобнее, чем стандартный. Изучайте через задачи: «хочу список всех больших файлов» → гуглите → пробуете → запоминаете. Через месяц вы будете автоматизировать то, что раньше делали руками.
Чего не делать. Не копируйте команды из интернета, не понимая, что они делают. Некоторые «оптимизации» через PowerShell удаляют системные компоненты и ломают Windows. Всегда читайте, что именно выполняет команда.
Итог: PowerShell — не только для программистов. Даже 5–10 команд, освоенных вами, сильно упрощают жизнь: диагностика, чистка, автоматизация. Это инструмент, который окупается за неделю использования.
Помогу удалённо — быстро и с гарантией.