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

Командлет (произносится примерно как "команд-лет")— это базовая команда в PowerShell, небольшая команда, реализованная Microsoft на основе .NET Framework.

Командлеты отличаются от внешних программ в традиционных оболочках, таких как.exeили.batфайлы; вместо этого они встроены в среду выполнения PowerShell.

Каждый командлет выполняет конкретную задачу, например, получение данных, установку свойств, создание объектов, экспорт файлов и так далее.

Соглашение об именовании командлетов: Глагол-Существительное

Все командлеты в PowerShell следуют единому"Глагол-Существительное"формату, например:

  • Get-Process: Получает сведения о процессах
  • Set-Date: Устанавливает системную дату
  • New-Item: Создает новый элемент (например, файл или папку)
  • Remove-Service: Удаляет службу

Это соглашение об именовании интуитивно понятно и последовательно, что упрощает запоминание и поиск.


Базовая структура синтаксиса командлетов

Структура синтаксиса командлета обычно выглядит следующим образом:

Verb-Noun [-ParameterName ParameterValue] [-SwitchParameter]

Пример:

Get-Service -Name W32Time

Пояснение:

  • Get-Service: Получает объект службы
  • -Name W32Time: Указывает имя службы для запроса какW32Time

Другой пример:

Stop-Process -Id 1234 -Force
  • -Id— это параметр, принимающий значение
  • -Force— это параметр-переключатель, значение указывать не нужно

Объединение параметров с конвейерами

Командлеты поддерживаютпозиционные параметры、именованные параметрыиввод из конвейера. Это позволяет гибко комбинировать команды для построения сложных рабочих процессов.

Пример 1: Форма указания параметров

Get-Process -Name notepad

Пример 2: Передача через конвейер

"notepad" | Get-Process -Name

Пример 3: Передача объектов другому командлету по конвейеру

Get-Process notepad | Stop-Process

В приведенном выше примере,Get-Processполучает объект процесса notepad, затем передаёт его через конвейер вStop-Processчтобы завершить его.


Просмотр справочной информации о командлетах

PowerShell предоставляет полноценную систему справки; вы можете использоватьGet-Helpчтобы просмотреть сведения об использовании любого командлета:

Get-Help Get-Process

Чтобы увидеть больше описаний параметров и примеров, добавьте-Detailedили-Examples:

Get-Help Get-Process -Examples

Если вы используете PowerShell впервые, рекомендуется один раз выполнить следующую команду, чтобы обновить локальную справку:

Update-Help

Краткая справочная таблица основных базовых командлетов

Командлет Описание функции
Get-Command Просмотреть все доступные команды
Get-Help Просмотреть справочную информацию о команде
Get-Process Получить список процессов
Get-Service Получить список служб
Start-Service Запуск службы
Stop-Service Остановить службу
Set-ExecutionPolicy Установить политику выполнения
New-Item Создать новый файл или папку
Remove-Item Удалить файл или папку
Copy-Item Копировать файл или папку
Move-Item Переместить файл или папку
Clear-Host Очистить экран, аналогичноcls

Практический пример: операции с файлами

Создать папку:

New-Item -Path "C:\TestFolder" -ItemType Directory

Создайте текстовый файл в этом каталоге:

New-Item -Path "C:\TestFolder\demo.txt" -ItemType File

Запишите содержимое в файл:

Set-Content -Path "C:\TestFolder\demo.txt" -Value "Hello PowerShell"

Прочитайте содержимое файла:

Get-Content -Path "C:\TestFolder\demo.txt"

Итоги и рекомендации по изучению

  • Командлеты — это основные единицы PowerShell; каждый командлет — это исполнитель задач с чётко определённой функцией.
  • Единое соглашение об именовании "Verb-Noun" делает командлеты предсказуемыми и лёгкими для изучения.
  • Сочетание конвейера, системы параметров и объектной модели делает командлеты превосходными в обработке данных и автоматизации.
  • Освоение распространённых командлетов и их сочетание с операциями над объектами — важная отправная точка для изучения PowerShell.

Новичкам рекомендуется практиковаться в следующих аспектах:

  1. ИспользуйтеGet-Commandизучить все доступные команды
  2. в сочетании сGet-Helpнаучиться искать сведения об использовании команд
  3. ИспользоватьNew-ItemиGet-Contentи другие команды для локальных файловых операций
  4. Старайтесь чаще объединять команды с помощью конвейеров для обработки данных
Другие расширения