With the recent changes in v2 to increase the visibility of the cmdlet design guidelines, we want to make sure we have a solid set of verbs on the approved verb list before we ship v2. We’ve already talked with a number of partners and customers and have made some recent changes to the verb list. In addition, we’d love to have feedback from our community on any holes you perceive we have in our current list of approved verbs.
To provide some context, here are the things we think about when deciding whether to add a new verb:
- Little or no overlap with existing approved verbs
- Broadly applicable to multiple technologies – must be domain agnostic
- Used consistently with similar meaning across multiple contexts
- Pairing with an opposite is good, but not required
When suggesting a new verb, it’s most helpful if you can include the following information in your suggestion:
- Verb name
- Description
- Category
- List of at least 5 significantly different applicable domains
- List of at least 3 alternative verbs from the approved list
- Pair with (optional)
For example, we recently approved Open and Close as new verbs in v2. Our internal discussions boiled down to the following:
- Verb name: Open
- Description: To set a resource to its opened state or make it accessible, visible, or available
- Category: Common
- List of at least 5 significantly different applicable domains: file, port, dialog, door, archive, container, account, mailbox, queue, chamber, scriptblock
- List of at least 3 alternative verbs from the approved list: Set, Use, Enable, Show
- Pair with: Close
Here is our current list of approved verbs:
Verb | Category |
—— | ————- |
Add | Common |
Clear | Common |
Close | Common |
Copy | Common |
Enter | Common |
Exit | Common |
Format | Common |
Get | Common |
Hide | Common |
Join | Common |
Lock | Common |
Move | Common |
New | Common |
Open | Common |
Pop | Common |
Push | Common |
Redo | Common |
Remove | Common |
Rename | Common |
Reset | Common |
Search | Common |
Select | Common |
Set | Common |
Show | Common |
Split | Common |
Switch | Common |
Undo | Common |
Unlock | Common |
Backup | Data |
Checkpoint | Data |
Compare | Data |
Compress | Data |
Convert | Data |
ConvertFrom | Data |
ConvertTo | Data |
Dismount | Data |
Edit | Data |
Expand | Data |
Export | Data |
Import | Data |
Initialize | Data |
Limit | Data |
Merge | Data |
Mount | Data |
Out | Data |
Publish | Data |
Restore | Data |
Save | Data |
Unpublish | Data |
Update | Data |
Complete | Lifecyle |
Disable | Lifecycle |
Enable | Lifecycle |
Install | Lifecycle |
Invoke | Lifecycle |
Register | Lifecycle |
Restart | Lifecycle |
Resume | Lifecycle |
Start | Lifecycle |
Stop | Lifecycle |
Suspend | Lifecycle |
Uninstall | Lifecycle |
Unregister | Lifecycle |
Wait | Lifecycle |
Debug | Diagnostic |
Measure | Diagnostic |
Ping | Diagnostic |
Repair | Diagnostic |
Resolve | Diagnostic |
Test | Diagnostic |
Trace | Diagnostic |
Connect | Communications |
Disconnect | Communications |
Read | Communications |
Receive | Communications |
Send | Communications |
Write | Communications |
Block | Security |
Grant | Security |
Revoke | Security |
Unblock | Security |
Use | Other |
Thanks,
Dan Harman
Program Manager
Windows PowerShell
0 comments