tech.guitarrapc.cóm

Technical updates

PowerShell で 推奨される Verb (動詞) を探したい

PowerShell が従来のスクリプト言語 と違う1つが、 標準に用意された全コマンドレットが 動詞-名詞 形式で構成されている事です。 そしてこの動詞には、推奨されている一覧があります。 必ずそれでないと動作しない! という訳ではありません。 しかし、 Module などを読み込む際に、推奨一覧にない動詞を使っていると警告がでます。 PowerShell のベースとなる考えであり、習得者の多くが動詞から動作を判断しているので、気を付けるといいでしょう。 今回はそのご紹介。

推奨されている 利用可能な Verb (動詞) 一覧を探す

Cmdlet 一発です。
Get-Verb
これだけ!やった!! 一覧を見てみましょう。

Verb        Group
----        -----
Add         Common
Clear       Common
Close       Common
Copy        Common
Enter       Common
Exit        Common
Find        Common
Format      Common
Get         Common
Hide        Common
Join        Common
Lock        Common
Move        Common
New         Common
Open        Common
Optimize    Common
Pop         Common
Push        Common
Redo        Common
Remove      Common
Rename      Common
Reset       Common
Resize      Common
Search      Common
Select      Common
Set         Common
Show        Common
Skip        Common
Split       Common
Step        Common
Switch      Common
Undo        Common
Unlock      Common
Watch       Common
Backup      Data
Checkpoint  Data
Compare     Data
Compress    Data
Convert     Data
ConvertFrom Data
ConvertTo   Data
Dismount    Data
Edit        Data
Expand      Data
Export      Data
Group       Data
Import      Data
Initialize  Data
Limit       Data
Merge       Data
Mount       Data
Out         Data
Publish     Data
Restore     Data
Save        Data
Sync        Data
Unpublish   Data
Update      Data
Approve     Lifecycle
Assert      Lifecycle
Complete    Lifecycle
Confirm     Lifecycle
Deny        Lifecycle
Disable     Lifecycle
Enable      Lifecycle
Install     Lifecycle
Invoke      Lifecycle
Register    Lifecycle
Request     Lifecycle
Restart     Lifecycle
Resume      Lifecycle
Start       Lifecycle
Stop        Lifecycle
Submit      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
Protect     Security
Revoke      Security
Unblock     Security
Unprotect   Security
Use         Other

自分がつけようとしたVerb が利用可能かみたい

簡単です。 例えば Ping と Invokeという Verb が利用可能か見るなら , カンマ で区切ってCmdlet の後ろに付けるだけです。
Get-Verb Ping, Invoke
利用可能でした!
Verb   Group
----   -----
Ping   Diagnostic
Invoke Lifecycle
利用できない場合は、$null が返ってきます。
# これは利用可能一覧にないので $null となる
Get-Verb hoge
Alias をつけて利用しやすくするのはトテモいいと思うのですが、せっかく作った Advanced Cmdlet はルールに載せておくと公開した時に親切ですね。