April 25th, 2006

Monad breaking change announcement: Approved verb names enforcement.

PowerShell Team
PowerShell Team

In order to prevent a mass usability nightmare with developers picking their own improvised cmdlet verbs, the Monad team, based on customer feedback, decided to enforce the use approved verbs.

 

The idea is to provide a more uniform and consistent interface to the end user. If a user needs to get something, he or she should know that what they are looking for is a get-something cmdlet. The user can then use the command discovery cmdlet (get-command get-*) to look for a getters and so forth…

With this change, if a non standard verb is to be used, the developer will be forced to add “__” to the beginning of the cmdlet name in order to make their cmdlet usable:

Example: in order to create a “play-nice” cmdlet where “play” is not an approved verb the developer will need to prepend the verb name with two underscore characters as follows “__play”.

Users can still get around this issue by simply aliasing the underscored cmdlet name as follows:

 

Set-Alias Play-Nice __Play-Nice

 

In order to ensure we have a complete list of valid verbs, we need to get your feedback on the list below to ensure we did not miss anything. Please speak now or forever hold your peace J

 

 

Ubiquitous Verbs

Definition

Common Parameters

Obsoletes

Pair

Add

Add, append or attach an element

At, After, Before, Create,  Filter, ID, Name, Value, Whatif

append, attach, concatenate, insert

Remove

Clear

Remove all the elements or content of a container

 

flush, erase, release, unmark, unset, nullify

 

Copy

Copy a resource to another name or another container

Acl, Overwrite, Recurse, Strict, Whatif

duplicate, clone, replicate

 

Get

/object /content /children

All, As, Compatible, Continuous, Count, Encoding, Exclude, Filter,  Include, ID, Interval, Name, Path, Property, Recurse, Scope, Sortby,

read, open, cat, type, dir, obtain, dump, acquire, examine, find, search

Set

Lock

To protect from changes or deletion

 

secure, fasten

Unlock

Move

Move a resource

 

transfer, name, migrate

 

New

create a new resource

Description, ID, Name, Value

create, generate, build, make, allocate

Remove

Remove

Remove a resource from a container

(Get), Drain, Erase, Force, Whatif

delete, disconnect, detach, drop, purge, flush, erase, release

Add/New

Rename

Give a resource a new name

 

 

 

Set

/object /content /children

Passthru,

write, reset, assign, configure

Get

Join

to unite so as to form one unit

 

combine, unite, link, 1connect, relate, associate

split

Split

To become separated into parts, especially to undergo lengthwise division. Divided into portions, parts, or fragments

 

Divide, separate, fragment, disunite

join

Unlock

To undo the Lock operation. To give access to; open

 

unsecure, unfasten

Lock

Data Verbs

Definition

 

Obsoletes

Pair

Backup

 

 

 

Restore

Compare

Compare this resource with another one and produce a set of differences

 

Diff

 

Convert

Change from one encoding to another or from one unit base to another (e.g. feet to meters)

 

 

 

Export

Make a copy of a set of resources using an interchange format

(get), Add, As, AsScript, Delete, Description, FileName, Location, Strict, Whatif

extract, backup

Import

Import

Create a set of resources using an interchange format

FileName, Location

bulk load, load

Export

Initialize

Prepare a resource for use. Assign a beginning value to something

 

erase, renew, rebuild, reinitialize, setup

 

Limit

Limit the consumption of a resource or apply a constraint on a resource

 

quota

 

Merge

Take multiple instances and create a single instance

 

coalesce

 

Restore

Rollback state to a predefined snapshot/checkpoint

 

 

Checkpoint

Update

update or refresh a resource from a source of truth

 

refresh, renew, recalculate, reindex

 

Mount

Attach a named entity to a hierarchy at the pathname location. To set in position

 

fix, organize, prepare

Dismount

Dismount

To get off. To detach.

 

detach, take-down

Mount

out

direct to a port. Output something to a port.

 

output.

 

 

 

 

 

 

Lifecycle Verbs

Definition

 

Obsoletes

Pair

Disable

Stop and/or configure something to be unavailable (e.g unable to not start again)

 

 

Enable

Enable

Configure to be available (e.g. able to start)

 

 

Disable

Install

Settle in an indicated place or condition (optionally initializing for use)

 

setup, load

Uninstall

Restart

Terminate existing activity and begin it again (with the same or checkpointed configuration)

 

recycle

 

Resume

Begin an activity again after it was suspended

 

 

Suspend

Start

Begin an activity

 

launch, initiate, boot

Stop

Stop

Discontinue or cease an activity

 

End, kill, terminate, cancel

Start

Suspend

Suspend an activity temporarily

 

Pause

Resume

Uninstall

 

 

 

Install

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Diagnostics verb

Definition

 

Obsoletes

Pair

Debug

Interactively interact with a resource or activity for the purpose finding a flaw or better understanding of what is occurring.

 

 

 

Measure

calculate/identify resources consumed by a specified operation or retrieve statistics about a resource

 

 

 

Ping

Determine whether a resource is alive and responding to requests

 

 

 

Resolve

Map a shorthand name will be bound to a longname

 

where, which

 

Test

Verify the operational validity or consistency of a resource

 

diagnose, verify, analyze, salvage, verify

 

Trace

Trace activities performed by a specified operation

 

 

 

 

 

 

 

 

Communications

Definition

 

Obsoletes

Pair

Send

Convey by an intermediary to a destination

 

put, broadcast, mail, fax,

receive

Receive

Take or acquire from a source

 

read, accept, peek,

send

Connect

Associate subsequent activities with a resource

 

 

disconnect

Disconnect

 

 

 

Connect

write

communicate or express. Display data.

 

display, communicate

read

read

To obtain (data) from a storage medium, such as a magnetic disk.

 

input

write

 

 

 

 

 

 

 

 

 

 

Security

Definition

 

Obsoletes

Pair

Grant

 

 

 

Revoke

Revoke

 

 

 

Grant

Block

prevent access to or usage of

 

 

unblock

Unblock

allow access to or usage of

 

 

block

 

 

 

 

 

Other Verbs

Definition

 

Obsoletes

Pair

Use

 

 

 

 

 

Wassim

[Edit: Monad has now been renamed to Windows PowerShell. This script or discussion may require slight adjustments before it applies directly to newer builds.]

Category
PowerShell

Author

PowerShell Team
PowerShell Team

PowerShell is a task-based command-line shell and scripting language built on .NET. PowerShell helps system administrators and power-users rapidly automate tasks that manage operating systems (Linux, macOS, and Windows) and processes.

0 comments

Discussion are closed.