こんにちは。チェシャ男です。(-皿-)
今回は、Get-Verb について概要から使用例について簡単にご紹介します。
「コマンドレットリファレンス」カテゴリの記事では省略している情報を参照したい場合に本記事をご覧ください。
もくじ
はじめに
本記事は英語のリファレンス情報しかないコマンドレットについて「Get-Help」等の情報を参考に検証した結果を掲載しています。公式見解ではないことにご注意ください。
正式なヘルプを参照したい場合は、「Get-help Get-Verb -online」を実行し公式ヘルプをご覧ください。
また、本記事内の例は動作を確認していますが、動作を確約しているわけではありません。
Get-Verb の概要
Get-Verb は、Windows PowerShell で承認されている動詞を取得します。
[blogcard url=”https://cheshire-wara.com/powershell/ps-cmdlets/corefunction-other/get-verb/”]基本構文
#パターン① Get-Verb [[-Verb] <string[]>] [<CommonParameters>]
[] で囲まれたパラメーターは任意のオプションです。
{}で囲まれた箇所は要素を選択してください。
<>で囲まれた箇所はオブジェクトの型名を示しています。
動作の説明
Get-Verb はPowerShell のコマンドレットとして使用することが承認された動詞を取得します。
PowerShell では、「コマンドレット」や「関数名」の動詞-名詞形式がより実用的になることを目指しています。そのため母国語が英語ではなく普段英語を使わないユーザにとっても予測可能で使いやすくなることを推進しています。
承認されていない動詞を「関数名」や「コマンドレット名」に持つ関数・コマンドレットが定義されたモジュールを Import-Module コマンドレットでインポートすると警告メッセージが表示されます。警告メッセージなので処理自体は継続することができます。
各パラメータについて
-Verb <string[]>
動詞の名前または名前パターンを入力すると指定された動詞だけを取得します。ワイルドカードを使用することができます。
<CommonParameters>
このコマンドレットでは、
Verbose、Debug、ErrorAction、ErrorVariable、WarningAction、WarningVariable、OutBuffer、PipelineVariable、OutVariable
の各共通パラメーターを使用することができます。
入力値
なし
出力値
Selected.Microsoft.PowerShell.Commands.MemberDefinition
備考
Get-Verb で取得する「Microsoft.PowerShell.Commands.MemberDefinition」オブジェクトには動詞とグループのプロパティがあります。
「Verb」プロパティには動詞名の文字列が含まれています。「Group」プロパティには動詞グループを含む文字列が含まれます。
PowerShell の各動詞は検索と比較を容易にするために設計され一般的な用途に紐づけてグルーピングされて割り当てられています。
グループ | 動詞の種類 |
Common(共通) | 「Add」など、ほぼすべてのコマンドレットに適用できる汎用アクションを定義します。 |
Communications(通信) | 「Connect」などの通信に適用されるアクションを定義します。 |
Data(データ) | 「Backup」などのデータ処理に適用されるアクションを定義します。 |
Diagnostic(診断) | 「Debug」などの診断に適用されるアクションを定義します。 |
Lifecycle(ライフサイクル) | 「Complete」のようなライフサイクルに適用されるアクションを定義します。 |
Security(セキュリティ) | 「Revoke」のようなセキュリティに適用されるアクションを定義します。 |
Other(その他) | その他のタイプのアクションを定義します。 |
「Tee-Object」や「Where-Object」など PowerShell のインストール時から用意されているコマンドレットの一部には承認されていない動詞が使用されている場合があります。しかし、これらのコマンドレットは歴史的な例外とみなされ、その動詞は「予約済み」として分類されます。
使用例
例1:承認された動詞を全て取得する
PS C:\> 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
この例では、すべての承認された動詞を取得しています。
例2:ワイルドカードで承認された動詞を取得する
PS C:\> Get-Verb un* Verb Group ---- ----- Undo Common Unlock Common Unpublish Data Uninstall Lifecycle Unregister Lifecycle Unblock Security Unprotect Security
この例では、ワイルドカードを使用して “un”で始まるすべての承認動詞を取得しています。
例3:グループをフィルタして承認された動詞を取得する
PS C:\>Get-Verb | Where-Object {$_.Group -eq "Security"}Verb Group ---- ----- Block Security Grant Security Protect Security Revoke Security Unblock Security Unprotect Security
この例では、セキュリティグループ内のすべての承認された動詞を取得しています。
例4:承認されていない動詞を確認する
PS C:\> Get-Command -module Hogemodules | Where-Object { (Get-Verb $_.Verb) -eq $null } CommandType Name Version Source ----------- ---- ------- ------ Function Create-Path 0.0 Hogemodules Function Make-Name 0.0 Hogemodules Function Make-Name 0.0 Hogemodules
この例では、承認されていない動詞を持つモジュール内のすべてのコマンドを見つけます。
自作のモジュールの中で承認されていない動詞を使用している場合は表示されます。