Share via


Get-Verb

Gets approved PowerShell verbs.

Syntax

Get-Verb
   [[-verb] <String[]>]

Description

The Get-Verb function gets verbs that are approved for use in PowerShell commands.

PowerShell recommends cmdlet and function names have the Verb-Noun format and include an approved verb. This practice makes command names more consistent, predictable, and easier to use.

Commands that use unapproved verbs run in PowerShell. However, when you import a module that includes a command with an unapproved verb in its name, the Import-Module command displays a warning message.

Note

The verb list that Get-Verb returns might not be complete. For an updated list of approved PowerShell verbs with descriptions, see Approved Verbs in the Microsoft Docs.

Examples

Example 1 - Get a list of all verbs

Get-Verb

Example 2 - Get a list of approved verbs that begin with "un"

Get-Verb un*

Verb                 Group
----                 -----
Undo                 Common
Unlock               Common
Unpublish            Data
Uninstall            Lifecycle
Unregister           Lifecycle
Unblock              Security
Unprotect            Security

Example 3 - Get all approved verbs in the Security group

Get-Verb | Where-Object Group -EQ Security

Verb      Group
----      -----
Block     Security
Grant     Security
Protect   Security
Revoke    Security
Unblock   Security
Unprotect Security

Example 4 - Finds all commands in a module that have unapproved verbs

Get-Command -Module Microsoft.PowerShell.Utility | Where-Object Verb -NotIn (Get-Verb).Verb

CommandType     Name            Version    Source
-----------     ----            -------    ------
Cmdlet          Sort-Object     3.1.0.0    Microsoft.PowerShell.Utility
Cmdlet          Tee-Object      3.1.0.0    Microsoft.PowerShell.Utility

Parameters

-verb

Gets only the specified verbs. Enter the name of a verb or a name pattern. Wildcards are allowed.

Type:String[]
Position:1
Default value:All verbs
Required:False
Accept pipeline input:True
Accept wildcard characters:True

Inputs

None

Outputs

Selected.Microsoft.PowerShell.Commands.MemberDefinition

Notes

Get-Verb returns a modified version of a Microsoft.PowerShell.Commands.MemberDefinition object. The object does not have the standard properties of a MemberDefinition object. Instead it has Verb and Group properties. The Verb property contains a string with the verb name. The Group property contains a string with the verb group.

PowerShell verbs are assigned to a group based on their most common use. The groups are designed to make the verbs easy to find and compare, not to restrict their use. You can use any approved verb for any type of command.

Each PowerShell verb is assigned to one of the following groups.

  • Common: Define generic actions that can apply to almost any cmdlet, such as Add.
  • Communications: Define actions that apply to communications, such as Connect.
  • Data: Define actions that apply to data handling, such as Backup.
  • Diagnostic: Define actions that apply to diagnostics, such as Debug.
  • Lifecycle: Define actions that apply to the lifecycle of a cmdlet, such as Complete.
  • Security: Define actions that apply to security, such as Revoke.
  • Other: Define other types of actions.

Some of the cmdlets that are installed with PowerShell, such as Tee-Object and Where-Object, use unapproved verbs. These cmdlets are historic exceptions and their verbs are classified as reserved.