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.
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
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 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
Passthru,
write, reset, assign, configure
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
To undo the Lock operation. To give access to; open
unsecure, unfasten
Data Verbs
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
Create a set of resources using an interchange format
FileName, Location
bulk load, load
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
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
To get off. To detach.
detach, take-down
out
direct to a port. Output something to a port.
output.
Lifecycle Verbs
Disable
Stop and/or configure something to be unavailable (e.g unable to not start again)
Enable
Configure to be available (e.g. able to start)
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
Discontinue or cease an activity
End, kill, terminate, cancel
Suspend an activity temporarily
Pause
Diagnostics verb
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
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
write
communicate or express. Display data.
display, communicate
read
To obtain (data) from a storage medium, such as a magnetic disk.
input
Security
Grant
Revoke
Block
prevent access to or usage of
unblock
Unblock
allow access to or usage of
block
Other Verbs
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.]