【初心者向け】PowerShellのGet-Command完全ガイド|使い方・検索方法・活用例まで徹底解説!

Windows

「この機能に使えるコマンドって何があるの?」
「コマンド名はわかるけど、正しい書き方が不安…」

そんなときに役立つのが、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-ProcessStop-ProcessWait-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

これで、dirlsのような短縮コマンド(エイリアス)のみが表示されます。

関数だけを表示

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-ItemConvertTo-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をマスターすれば、スクリプト作成やシステム管理の効率が格段に向上します。

コメント

タイトルとURLをコピーしました