「この機能に使えるコマンドって何があるの?」
「コマンド名はわかるけど、正しい書き方が不安…」
そんなときに役立つのが、PowerShellの超基本かつ強力なコマンドレット、Get-Command
です。
このコマンドを使いこなすことで、利用可能なすべてのコマンドや関数、スクリプトの一覧を取得したり、特定のキーワードから目的のコマンドを探したりすることができます。
この記事では、Get-Command
の基本的な使い方から、検索フィルタ・エイリアスの確認・実践例まで、初心者にもわかりやすく丁寧に解説します。
Get-Commandとは?基本の役割

Get-Command
は、PowerShellで使用できる以下の項目を検索・表示できるコマンドレットです。
- コマンドレット(Cmdlet)
- 関数(Function)
- スクリプト(Script)
- エイリアス(Alias)
- 実行可能ファイル(Application)
Windowsやモジュールで追加されたコマンドもすべて一覧化できます。
この機能は、特に膨大なコマンドを持つPowerShellにおいて、必要なコマンドを素早く見つけるための「検索エンジン」として非常に重要です。
基本的な使い方と出力結果の見方
基本構文
Get-Command
これだけで、現在のセッションで利用可能なすべてのコマンドが表示されます。
ただし、出力される量は膨大なので、通常はフィルタリングして使います。
出力例(一部)
CommandType Name Version Source
----------- ---- ------- ------
Cmdlet Get-Process 7.0.0.0 Microsoft.PowerShell.Management
Function prompt Microsoft.PowerShell.Core
Alias gcm -> Get-Command Microsoft.PowerShell.Core
Application notepad.exe
この出力には以下の情報が含まれています:
- CommandType: コマンドの種類(Cmdlet、Function、Alias、Applicationなど)
- Name: コマンドの名前
- Version: コマンドのバージョン(該当する場合)
- Source: コマンドを提供しているモジュールやソース
これらの情報を見ることで、どのようなコマンドが利用可能かを理解しやすくなります。
エイリアスの活用
Get-Command
のエイリアスはgcm
です。タイピング量を減らしたい場合は:
gcm
と入力するだけでも同じ結果が得られます。
名前・キーワードでコマンドを検索する方法
部分一致で検索
Get-Command *process*
「process」を含むすべてのコマンドを取得できます。
例えば、Get-Process
、Stop-Process
、Wait-Process
などが表示されます。
正確な名前で検索
Get-Command Get-Process
完全に一致するコマンドのみを取得します。
プレフィックスや接頭語での検索
特定の動詞で始まるコマンドを検索する場合(例:すべてのGet-
コマンド):
Get-Command Get-*
特定の名詞を含むコマンドを探す場合(例:すべての*-Item
コマンド):
Get-Command *-Item
動詞・名詞で検索
PowerShellコマンドレットは「動詞-名詞」の形式で命名されています。
-Verb
と-Noun
パラメータを使うと、より精密に検索できます:
# Getという動詞を持つすべてのコマンドレット
Get-Command -Verb Get
# Processという名詞を持つすべてのコマンドレット
Get-Command -Noun Process
エイリアス・関数・アプリケーションのフィルター表示
特定のコマンドタイプに絞って表示するには、-CommandType
パラメータを使います。
エイリアスだけを表示
Get-Command -CommandType Alias
これで、dir
やls
のような短縮コマンド(エイリアス)のみが表示されます。
関数だけを表示
Get-Command -CommandType Function
PowerShellで定義されている関数のみを表示します。
アプリケーション(実行ファイル)だけを表示
Get-Command -CommandType Application
これは、バッチファイルや.exe
の検索にも便利です。システムパス内にある実行可能ファイルが表示されます。
複数のタイプを同時に指定
Get-Command -CommandType Cmdlet,Function
コンマで区切ることで、複数のタイプを同時に指定できます。
よく使うオプション一覧
オプション | 説明 | 使用例 |
---|---|---|
-Name | コマンド名を指定 | Get-Command -Name Get-* |
-CommandType | 種類を限定 | Get-Command -CommandType Cmdlet |
-Module | 特定のモジュール内のコマンドを検索 | Get-Command -Module Microsoft.PowerShell.Security |
-ParameterName | 特定のパラメータを持つコマンドだけを表示 | Get-Command -ParameterName ComputerName |
-Syntax | 構文(使い方)を表示 | Get-Command Get-Process -Syntax |
-ListImported | インポート済みのコマンドのみ表示 | Get-Command -ListImported |
-All | すべてのコマンドを表示(既定ではエイリアスなどは省略) | Get-Command -All |
パラメータの詳しい例
特定のモジュール内のコマンドのみを検索
Get-Command -Module Microsoft.PowerShell.Management
特定のパラメータを持つコマンドを検索
# ComputerNameパラメータを持つコマンドを探す(リモート操作可能なコマンド)
Get-Command -ParameterName ComputerName
コマンドの詳細な構文を表示
Get-Command Get-Process -Syntax
実践!Get-Command活用例
例1:Copyという文字列を含むコマンドを検索
Get-Command *copy*
これで、Copy-Item
やConvertTo-SecureString
など、「copy」を含むすべてのコマンドが表示されます。
例2:ファイル操作系のコマンドを見つける
Get-Command -Name *item*
(Get-Item
, Remove-Item
, Copy-Item
などがヒット)
例3:どのモジュールがコマンドを提供しているかを確認
Get-Command Get-Service | Select-Object Source
例4:パイプラインとの組み合わせ
# ネットワーク関連のコマンドを探してソート
Get-Command *net* | Sort-Object CommandType,Name | Format-Table -GroupBy CommandType
例5:特定のパスにある実行ファイルを検索
Get-Command -CommandType Application -Name *.exe -Path C:\Windows\System32
例6:特定のモジュールの使用可能なコマンドを確認
# まずモジュールをインポート
Import-Module ActiveDirectory
# そのモジュールのコマンドを一覧表示
Get-Command -Module ActiveDirectory
まとめ:PowerShell初心者が最初に覚えるべき検索術
Get-Command
は、PowerShellを使い始めたすべての人が最初に覚えるべき超基本ツールです。
✅ 今日のポイント
Get-Command
で利用可能な全コマンドを一覧表示できる*ワード*
でのあいまい検索が便利-CommandType
や-Module
で効率よく絞り込み可能-Verb
と-Noun
を使うと、PowerShellの命名規則に沿った検索ができる- 他のコマンドの調べ物をする際の「入口」として活用できる
関連コマンド
Get-Command
は特に以下のコマンドと組み合わせて使うと非常に強力です:
Get-Help
: コマンドの詳細な使用方法を表示Get-Member
: オブジェクトのプロパティやメソッドを表示Select-Object
: 出力から必要な情報だけを抽出
使い方の例:
# コマンドを探してから詳細なヘルプを表示
Get-Command *network* | Where-Object CommandType -eq 'Cmdlet' | ForEach-Object { Get-Help $_.Name -Detailed }
PowerShellを学ぶ上で、Get-Command
をうまく使いこなせば、他のコマンドの探し方や理解も一気に進みます。
コマンドの名前や使い方が曖昧なときでも、キーワードで検索することで目的のコマンドにたどり着けるでしょう。
迷ったら、まずこのコマンドで探してみましょう!
PowerShellの世界を探索するための最初の一歩として、Get-Command
をマスターすれば、スクリプト作成やシステム管理の効率が格段に向上します。
コメント