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 はルールに載せておくと公開した時に親切ですね。