Когда речь идет о написании сценариев PowerShell, соблюдение единых соглашений о наименованиях существенно упрощает задачу создания надежных решений. Хорошая новость заключается в том, что существуют утвержденные в PowerShell глаголы, которые можно использовать при написании сценариев и команд.
В этом руководстве вы узнаете, какие утвержденные глаголы использовать в PowerShell на примерах.
Присоединяйтесь и повышайте свои навыки написания сценариев PowerShell!
Предварительные условия
Этот учебник включает практические демонстрации. Если вы хотите следовать за нами, убедитесь, что у вас есть система с запущенным PowerShell 5.1 или более поздней версией. В этом учебнике используется Windows 11 с PowerShell 7.
Получение списка утвержденных глаголов PowerShell
В PowerShell командлеты представляют собой небольшие однофункциональные команды, которые выполняют определенные действия в среде PowerShell.
Каждый командлет в PowerShell имеет уникальное имя, которое следует формату пары глагол-существительное, где:
- Часть с глаголом в названии описывает действие, которое выполняет командлет. Некоторые общие глаголы, используемые в PowerShell, перечислены ниже:
Verb | Function |
---|---|
Get |
Retrieves information. |
Set |
Changes or updates settings. |
New |
Creates something new. |
Remove |
Deletes or removes something. |
- Часть с существительным в названии определяет сущность или объект, на котором выполняется действие, цель, над которой производится действие. Существительное обычно описывает категорию или тип объекта, с которым взаимодействует командлет, такие как команда, процесс, служба или файл.
Чтобы увидеть все утвержденные глаголы, которые вы можете использовать в своем сценарии:
Выполните следующую команду Get-Verb
, чтобы получить полный список утвержденных глаголов PowerShell.
Ниже приведен только небольшой список глаголов, которые вы можете использовать в своем сценарии.

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

Создание новых ресурсов с помощью глагола New
Вы только что получили список утвержденных глаголов в PowerShell, но как использовать эти глаголы в своем сценарии или при выполнении команд? Вы будете добавлять глагол New
перед существительным, представляющим тип ресурса, который вы хотите создать (например, пользователь, файл, служба).
Но в этом примере вы создадите новый ресурс, а именно нового пользователя, следующим образом:
Выполните следующую команду New-LocalUser
, чтобы создать нового пользователя с именем Джон Смит
, паролем (Password123
) и установить аккаунт без срока действия (-AccountNeverExpires
).

Получение информации о ресурсе с помощью глагола Get
Помимо создания новых ресурсов, в PowerShell также есть глагол, который позволяет получать информацию о любых существующих ресурсах. В PowerShell глагол Get
обычно используется для получения информации о конкретном ресурсе, таком как ОС, службы, файлы и другие объекты.
Чтобы получить информацию о ресурсе с помощью глагола Get
:
Запустите нижеуказанную команду Get-LocalUser
, чтобы получить информацию о конкретном локальном пользователе (John Smith
).
Ниже показано, что учетная запись пользователя John Smith включена (активна).

Get
verbИзменение существующих ресурсов с помощью глагола Set
Представьте, что вы заметили что-то неправильное, увидев информацию о ресурсе. Как можно изменить существующий ресурс? Не волнуйтесь! Одобренный PowerShell глагол Set
позволяет вам вносить изменения в существующие ресурсы.
Вместо создания ресурсов заново, глагол Set
позволяет вам корректировать их, изменяя их свойства или конфигурации.
Чтобы изменить существующие ресурсы с помощью глагола Set
:
Выполните следующие команды, чтобы установить значение переменной $myVariable
на Hello
и изменить значение переменной $myVariable
на Hello, World!
. Эти команды не выводят результат, но вы проверите изменения на следующем этапе.
Теперь выполните команду Get-Variable
ниже, чтобы получить информацию о вашем ресурсе ($myVariable
).
Как показано ниже, вывод отображает имя переменной и её значение.

Запуск действий или вызов команд с использованием глагола Invoke
Вместо ручного выполнения команд, как вы делали в предыдущих примерах, почему бы не автоматизировать их с помощью сценария PowerShell? Как? Глагол Invoke
позволяет вам инициировать действия или вызывать команды программно.
С помощью сценария PowerShell и глагола Invoke
вы можете выполнить несколько команд PowerShell сразу, не набирая их все в консоли.
Чтобы увидеть, как работают действия при вызове глагола Invoke
:
1. Выполните следующую команду Invoke-Expression
для вызова команды Get-Date
, которая позволяет вам получить текущую дату и время.
Ниже приведен успешный запуск команды Get-Date
через глагол Invoke
.

Invoke
verb2. Затем создайте файл сценария PowerShell (например, InvokeVerbDemo.ps1) с помощью выбранного вами редактора кода и заполните следующий код.
Этот код отображает (Write-Host
) приветственное сообщение и вызывает командлет Get-Service
, чтобы перечислить все службы в вашей системе.
3. Теперь выполните следующие команды для вызова (Invoke-Expression
) вашего сценария PowerShell (InvokeVerbDemo.ps1
). Замените значение переменной $scriptPath
на путь к вашему файлу сценария.
Вывод ниже показывает приветственное сообщение и список всех служб в вашей системе, что подтверждает успешное выполнение вашего сценария.

Invoke
verb4. Вместо простых команд напишите повторно используемую функцию (например, Invoke-MyTask
), которую вы можете вызывать в любое время, как показано ниже. По сути, функции улучшают поддерживаемость и повторное использование ваших сценариев PowerShell.
В этом примере функция Invoke-MyTask
инкапсулирует команды для выполнения следующего при вызове:
- Отображает (
Write-Host
) строкуExecuting MyTask...
на консоли. - Получает список всех процессов (
Get-Process
) и выбирает только (Select-Object
) свойстваName
иCPU
для каждого процесса.

5. Наконец, выполните следующую команду, чтобы вызвать вашу функцию (Invoke-MyTask
).
Вы увидите список всех процессов, работающих на вашей системе, с их именами и использованием ЦП, как показано ниже.

Проверка ресурсов с помощью глагола Test
Обеспечение точности входных значений и условий является важным, когда создаются надежные и устойчивые к ошибкам сценарии PowerShell. Одним из мощных инструментов для этой цели является глагол Test
.
Используя глагол Test
, вы можете быстро проверить, является ли данное условие истинным или ложным, что позволяет выполнять различные действия в зависимости от результата. В этом примере вы проверите, существует ли файл с помощью глагола Test
.
Выполните код ниже, чтобы проверить (Test-Path
), существует ли файл (C:\MyFolder\example.txt
) по указанному пути $filePath
, и выведите сообщение в зависимости от результата.

Test
verbЗаключение
Теперь у вас есть базовое понимание утвержденных в PowerShell глаголов и как эффективно использовать их в ваших сценариях и командах. Используя эти глаголы, вы теперь можете создавать надежные, эффективные и последовательные решения PowerShell для различных задач и сценариев.
Этот учебник – всего лишь начало вашего пути к тому, чтобы стать опытным пользователем PowerShell. Почему бы не изучить другие утвержденные глаголы, такие как Экспорт
, Импорт
, Сортировка
) и глаголы жизненного цикла (такие как Начать
, Остановить
)? Повысьте свои навыки PowerShell уже сегодня!
Source:
https://adamtheautomator.com/powershell-approved-verbs/