Get-Command (日本語)

モジュール。 Microsoft.PowerShell.Core

すべてのコマンドを取得します。

構文

Get-Command >] >] >] >] <Object>] >] >] 
Get-Command <String>] >] >] <Object>] >] >] 

説明

Get-CommandGet-Commandコマンドレットは、PowerShellモジュールのコマンドや、他のセッションからインポートされたコマンドを取得します。

パラメータがない場合、Get-CommandGet-Command *は、Path環境変数($env:Path)に格納されているPowerShell以外のファイルを含む、すべての種類のコマンドを取得し、Applicationコマンドタイプにリストアップします。

Get-Command$PSModuleAutoLoadingPreferenceのpreference変数を使います。

Get-CommandGet-Help はヘルプ トピックから情報を取得します。

Windows PowerShell 5.0 から、Get-Command コマンドレットの結果には、デフォルトで Version 列が表示されるようになりました。

Examples

Example 1: Get cmdlets, functions, and aliases

このコマンドは、コンピューターにインストールされている PowerShell のコマンドレット、関数、およびエイリアスを取得します。

Get-Command

Example 2: Get commands in the current session

このコマンドは ListImported パラメーターを使用して、現在のセッションのコマンドのみを取得します。

Get-Command -ListImported

Example 3: Get cmdlets and display them in order

このコマンドはすべてのコマンドレットを取得し、コマンドレット名に含まれる名詞でアルファベット順にソートし、名詞ベースのグループで表示します。

Get-Command -Type Cmdlet | Sort-Object -Property Noun | Format-Table -GroupBy Noun

Example 4: Get commands in a module

このコマンドは Module パラメータを使用して、Microsoft.PowerShell.Security および Microsoft.PowerShell.Security のコマンドを取得します。

Get-Command -Module Microsoft.PowerShell.Security, Microsoft.PowerShell.Utility

Example 5: Get information about a cmdlet

このコマンドは、Get-AppLockerPolicy cmdlet の情報を取得します。

Get-Command Get-AppLockerPolicy

モジュールが自動的にインポートされると、Import-Moduleコマンドレットを使用したのと同じ効果が得られます。モジュールは、コマンド、タイプおよびフォーマットのファイルを追加し、セッションでスクリプトを実行することができます。 モジュールの自動インポートを有効、無効、および設定するには、$PSModuleAutoLoadingPreferenceプリファレンス変数を使用します。 詳細については、about_Preference_Variablesを参照してください。

Example 6: Get the syntax of a cmdlet

このコマンドは、ArgumentListとSyntaxパラメーターを使用して、Get-ChildItemcmdletがCert: ドライブで使用されたときの構文を取得します。

Get-Command -Name Get-Childitem -Args Cert: -Syntax

Args (ArgumentList) パラメーターを省略したときに表示される構文と出力に表示される構文を比較すると、証明書プロバイダーが CodeSigningCert という動的パラメーターを Get-ChildItem コマンドレットに追加していることがわかります。

Certificate プロバイダーの詳細については、about_Certificate_Provider をご覧ください。

Example 7: Get dynamic parameters

この例のコマンドは、Get-DynamicParameters 関数を使用して、Certificate プロバイダーが Get-ChildItem コマンドレットを Cert: ドライブで使用する際に追加する動的パラメーターを取得します。

function Get-DynamicParameters{ param ($Cmdlet, $PSDrive) (Get-Command -Name $Cmdlet -ArgumentList $PSDrive).ParameterSets | ForEach-Object {$_.Parameters} | Where-Object { $_.IsDynamic } | Select-Object -Property Name -Unique}Get-DynamicParameters -Cmdlet Get-ChildItem -PSDrive Cert:Name----CodeSigningCert

この例の Get-DynamicParameters 関数は、コマンドレットの動的パラメーターを取得します。 これは、前の例で使用した方法の代わりです。

Example 8: Get all commands of all types

このコマンドは、Path環境変数($env:path)のパスにある実行可能ファイルを含む、ローカル コンピューター上のすべての種類のコマンドを取得します。

Get-Command *

FileInfoオブジェクト(System.IO.FileInfo)ではなく、各ファイルのApplicationInfoオブジェクト(System.Management.Automation.ApplicationInfo)を返します。

Example 9: Get cmdlets by using a parameter name and type

このコマンドは、名前にAuthを含み、タイプがAuthenticationMechanismであるパラメータを持つコマンドレットを取得します。

Get-Command -ParameterName *Auth* -ParameterType AuthenticationMechanism

このようなコマンドを使用して、ユーザーの認証に使用するメソッドを指定できるコマンドレットを見つけることができます。

ParameterTypeパラメーターは、似たような名前であっても、AuthenticationMechanismの値を取るパラメーターとAuthenticationLevelパラメーターを取るパラメーターを区別します。

Example 10: Get an alias

この例では、Get-Command コマンドレットをエイリアスで使用する方法を示します。

Get-Command -Name dirCommandType Name ModuleName----------- ---- ----------Alias dir -> Get-ChildItem

通常はコマンドレットと関数に使用されますが、Get-Commandはスクリプト、関数、エイリアス、実行ファイルも取得します。

コマンドの出力には、エイリアスのNameプロパティ値の特別なビューが表示されます。

Example 11: Get Syntax from an alias

この例では、エイリアスの標準名と一緒に構文を取得する方法を示します。

コマンドの出力には、ラベル付きのエイリアスと標準名、そして構文が表示されます。

Get-Command -Name dir -Syntaxdir (alias) -> Get-ChildItemdir <string>] <string>] >] >] >] dir <string>] -LiteralPath <string> >] >] >] 

Example 12: Get all instances of the Notepad command

この例では、Get-Command コマンドレットの All パラメーターを使用して、ローカル コンピューター上のNotepad コマンドのすべてのインスタンスを表示します。

Get-Command Notepad -All | Format-Table CommandType, Name, DefinitionCommandType Name Definition----------- ---- ----------Application notepad.exe C:\WINDOWS\system32\notepad.exeApplication NOTEPAD.EXE C:\WINDOWS\NOTEPAD.EXE

All パラメーターは、セッションに同名の複数のコマンドがある場合に便利です。

Windows PowerShell 3.0 以降、デフォルトでは、セッションに同名の複数のコマンドが含まれている場合、Get-Command は、コマンド名を入力したときに実行されるコマンドのみを取得します。 Allパラメータを指定すると、Get-Commandは指定された名前のすべてのコマンドを取得し、実行の優先順位をつけて返します。

コマンドの優先順位についての詳細は about_Command_Precedence を参照してください。

Example 13: Get the name of a module that contains a cmdlet

このコマンドは、Get-Date コマンドレットが発生したモジュールの名前を取得します。このコマンドは、すべてのコマンドの ModuleName プロパティを使用します。

(Get-Command Get-Date).ModuleNameMicrosoft.PowerShell.Utility

このコマンド形式は、PowerShell モジュール内のコマンドに対して、セッションにインポートされていなくても機能します。

Example 14: Get cmdlets and functions that have an output type

Get-Command -Type Cmdlet | Where-Object OutputType | Format-List -Property Name, OutputType

このコマンドは、出力タイプを持つコマンドレットと関数、およびそれらが返すオブジェクトのタイプを取得します。

コマンドの最初の部分はすべてのコマンドレットを取得します。 パイプライン オペレータ (|Where-Object コマンドレットに送り、OutputType プロパティが入力されているものだけを選択します。

CommandInfo オブジェクトの OutputType プロパティは、cmdlet コードがコマンドレットの OutputType 属性を定義している場合にのみ、非 null 値を持ちます。

Example 15: 特定のオブジェクト タイプを入力として取るコマンドレットを取得する

Get-Command -ParameterType (((Get-NetAdapter)).PSTypeNames)CommandType Name ModuleName----------- ---- ----------Function Disable-NetAdapter NetAdapterFunction Enable-NetAdapter NetAdapterFunction Rename-NetAdapter NetAdapterFunction Restart-NetAdapter NetAdapterFunction Set-NetAdapter NetAdapter

このコマンドは、ネット アダプター オブジェクトを入力として取るコマンドレットを検索します。

このコマンドは、すべてのオブジェクトの PSTypeNames 内部プロパティを使用し、オブジェクトを説明するタイプを取得します。

Example 16: Get commands using a fuzzy match

この例では、コマンドの名前が「get-commnd」と意図的にタイプミスをしています。-UseFuzzyMatchingGet-Command であると判断し、続いてシステム上の他のネイティブ コマンドが類似した一致であると判断しました。

Get-Command get-commnd -UseFuzzyMatchingCommandType Name Version Source----------- ---- ------- ------Cmdlet Get-Command 6.2.0.0 Microsoft.PowerShell.CoreApplication getconf 0.0.0.0 /usr/bin/getconfApplication command 0.0.0.0 /usr/bin/command

パラメータ

-All

このコマンドレットが、同じ名前の同じタイプのコマンドを含むすべてのコマンドを取得することを示します。 デフォルトでは、Get-Command は、コマンド名を入力したときに実行されるコマンドのみを取得します。

複数のコマンドが同じ名前の場合に PowerShell が実行するコマンドを選択するために使用する方法については、about_Command_Precedence を参照してください。モジュール修飾されたコマンド名や、名前の競合によりデフォルトでは実行されないコマンドの実行については、about_Modulesを参照してください。

このパラメーターはWindows PowerShell 3.0で導入されました。

Windows PowerShell 2.0では、Get-Commandはデフォルトですべてのコマンドを取得します。

Accept pipeline input:

Type: SwitchParameter
Position: Named
Default value: None
True
Accept wildcard characters: False
-ArgumentList

引数の配列を指定します。 このコマンドレットは、指定されたパラメーター (「引数」) で使用されたときのコマンドレットまたは関数に関する情報を取得します。

特定の他のパラメーターが使用されたときにのみ利用可能な動的パラメーターを検出するには、ArgumentListの値を動的パラメーターのトリガーとなるパラメーターに設定します。

プロバイダーがコマンドレットに追加する動的パラメーターを検出するには、ArgumentListパラメーターの値をWSMan:、HKLM:、Cert:などのプロバイダー ドライブのパスに設定します。 コマンドが PowerShell プロバイダのコマンドレットの場合、各コマンドにはパスを 1 つだけ入力します。 プロバイダー コマンドレットは、最初のパスの動的パラメーターのみを ArgumentList の値として返します。 プロバイダー コマンドレットについての情報は、about_Providers を参照してください。

Type: Object
Aliases: Args
Position: 1
Default value: None
パイプラインの入力を受け付けます。 False
Accept wildcard characters: False
-CommandType

このコマンドレットが取得するコマンドの種類を指定します。 1 つまたは複数のコマンド タイプを入力します。 UseCommandTypeまたはそのエイリアスであるTypeを使用します。 デフォルトでは、Get-Command はすべてのコマンドレット、関数、およびエイリアスを取得します。

このパラメーターに指定できる値は次のとおりです。 すべてのPowerShellコマンドのエイリアスを取得します。 詳細はabout_Aliasesを参照してください。

  • All. すべてのコマンドタイプを取得します。 このパラメーター値は、Get-Command *と同等です。
  • Application. .txt、.exe、.dllファイルなど、Path環境変数 ($env:path)に記載されたパスにあるPowerShell以外のファイルを取得します。 環境変数Pathの詳細については、about_Environment_Variablesを参照してください。
  • Cmdlet. すべてのコマンドレットを取得します。
  • ExternalScript. 環境変数Pathで指定されたパスにあるすべての.ps1ファイルを取得します。
  • フィルタと関数:すべての PowerShell の高度でシンプルな関数とフィルタを取得します。 すべてのスクリプトブロックを取得します。 PowerShellスクリプト(.ps1ファイル)を取得するには、ExternalScript値を使用します。
  • Accept pipeline input:

    Type: CommandTypes
    Alias: Type
    Accepted values: Alias, Function, Filter, Cmdlet, ExternalScript, Application, Script, Workflow, Configuration, All
    Position: Named
    Default value: None
    True
    Accept wildcard characters: False

    -FullyQualifiedModule

    ModuleSpecification Constructor (Hashtable)の Remarks セクションに記述されている ModuleSpecification オブジェクトの形式で指定された名前のモジュールを指定します。

    • @{ModuleName = "modulename"; ModuleVersion = "version_number"}
    • @{ModuleName = "modulename"; ModuleVersion = "version_number"; Guid = "GUID"}

    ModuleNameとModuleVersionは必須ですが、Guidはオプションです。

    Moduleparameterと同じコマンドでFullyQualifiedModuleパラメータを指定することはできません。 この2つのパラメーターは相互に排他的です。

    Type: ModuleSpecification
    Position: Named
    Default value: None
    パイプラインの入力を受け付ける: True
    ワイルドカード文字を受け付ける。 False
    -ListImported

    このコマンドレットが現在のセッションのコマンドのみを取得することを示します。

    PowerShell 3.0 で開始したデフォルトでは、Get-Command は現在のセッション内のコマンドに限らず、インストールされているすべてのコマンドを取得します。

    このパラメーターは Windows PowerShell 3.0 で導入されました。

    Type: SwitchParameter
    Position: Named
    Default value: None
    Accept pipeline input: True
    Accept wildcard characters: False
    -Module

    モジュールの配列を指定します。

    このパラメーターは文字列を取りますが、このパラメーターの値は、Get-ModuleImport-PSSessionコマンドレットが返すオブジェクトのような PSModuleInfoobject にすることもできます。

    Type: String
    Aliases: PSSnapin
    Position: Named
    Default value: None
    Accept pipeline input: True
    Accept wildcard characters: True
    -Name

    名前の配列を指定します。 このコマンドレットは、指定された名前を持つコマンドのみを取得します。 名前または名前のパターンを入力します。

    同じ名前のコマンドを取得するには、All パラメーターを使用します。 2つのコマンドの名前が同じ場合、デフォルトでは、Get-Commandは、コマンド名を入力したときに実行されるコマンドを取得します。

    Type: String
    Position: 0
    Default value: None
    パイプラインの入力を受け付けます。 True
    Accept wildcard characters: True
    -Noun

    コマンドの名詞の配列を指定します。 このコマンドレットは、指定された名詞を含む名前を持つコマンドレット、関数、およびエイリアスを含むコマンドを取得します。 1 つ以上の名詞または名詞パターンを入力します。 ワイルドカード文字は許可されています。

    Type: String
    Position: Named
    Default value: None
    Accept pipeline input: True
    Accept wildcard characters: True
    -ParameterName

    パラメータ名の配列を指定します。 このコマンドレットは、指定されたパラメーターを持つセッション内のコマンドを取得します。 パラメータ名またはパラメータのエイリアスを入力します。

    ParameterNameおよびParameterTypeパラメーターは、現在のセッション内のコマンドのみを検索します。

    このパラメーターは、Windows PowerShell 3.0で導入されました。

    Type: String
    Position: Named
    Default value: None
    Accept pipeline input: False
    Accept wildcard characters: True
    -ParameterType

    パラメータ名の配列を指定します。 このコマンドレットは、指定されたタイプのパラメーターを持つセッション内のコマンドを取得します。 パラメーター タイプの完全な名前または部分的な名前を入力します。

    ParameterNameおよびParameterTypeパラメーターは、現在のセッション内のコマンドのみを検索します。

    このパラメーターは、Windows PowerShell 3.0で導入されました。

    Type: PSTypeName
    Position: Named
    Default value: None
    Accept pipeline input: False
    Accept wildcard characters: True
    -ShowCommandInfo

    このコマンドレットがコマンド情報を表示することを示します。

    このパラメーターは、Windows PowerShell 5.0で導入されました。

    Type: SwitchParameter
    Position: Named
    Default value: None
    Accept pipeline input: False
    Accept wildcard characters: False
    -Syntax

    このコマンドレットがコマンドに関する以下の指定されたデータのみを取得することを示します:

    • Aliases. 標準名と構文を取得します。
    • Cmdlets. 構文を取得します。
    • Functions and filters. 関数の定義を取得します。
    • スクリプトとアプリケーションまたはファイル。 パスとファイル名を取得します。
    Type: SwitchParameter
    Position: Named
    Default value: None
    Accept pipeline input: True
    Accept wildcard characters: False
    -TotalCount

    取得するコマンドの数を指定します。 このパラメータを使うことで、commandの出力を制限することができます。

    Type: Int32
    Position: Named
    Default value: None
    Accept pipeline input: True
    Accept wildcard characters: False
    -UseAbbreviationExpansion

    コマンド内の文字のマッチングを使用して、コマンド内の大文字で検索することを示します。 例えば、i-psdfImport-PowerShellDataFileと一致し、検索する文字のそれぞれが結果の中の大文字と一致します。 このタイプのマッチを使用する場合、ワイルドカードを使用すると、マッチしません。

    Type: SwitchParameter
    Position: Named
    Default value: None
    Accept pipeline input: True
    Accept wildcard characters: False
    -UseFuzzyMatching

    コマンドを見つける際にファジーマッチングアルゴリズムを使用することを示します。 出力の順番は、最も近いものから最も可能性の低いものへとなります。 ワイルドカードを含むコマンドにもマッチしようとするため、ファジーマッチングではワイルドカードを使用しないでください。

    Type: SwitchParameter
    Position: Named
    Default value: None
    Accept pipeline input: False
    Accept wildcard characters: False
    -Verb

    コマンドバーブの配列を指定します。 このコマンドレットは、指定された動詞を含む名前を持つコマンドレット、関数、およびエイリアスを含むコマンドを取得します。 1 つ以上の動詞または動詞パターンを入力します。 ワイルドカード文字は許可されています。

    Type: String
    Position: Named
    Default value: None
    Accept pipeline input: True
    Accept wildcard characters: True

    Inputs

    String

    コマンド名をこのコマンドレットにパイプすることができます。

    Outputs

    CommandInfo

    このコマンドレットはCommandInfoクラスから派生したオブジェクトを返します。

    AliasInfo

    エイリアスを表します。

    ApplicationInfo

    アプリケーションやファイルを表します。

    CmdletInfo

    コマンドレットを表します。

    FunctionInfo

    関数やフィルターを表します。

    Notes

    • セッションで同じ名前の複数のコマンドが利用可能な場合、Get-Commandはコマンド名を入力したときに実行されるコマンドを返します。 同じ名前のコマンドを実行順に並べて取得するには、Allパラメータを使用します。 詳細はabout_Command_Precedenceを参照してください。
    • モジュールが自動的にインポートされた場合、その効果はImport-Module$PSModuleAutoLoadingPreference環境変数を使用します。 詳しくは、about_Preference_Variablesをご覧ください。
    • Export-PSSession
    • Get-Help
    • Get-Member
    • Get-PSDrive
    • Import-PSSession
    • about_Command_Precedence

    コメントを残す

    メールアドレスが公開されることはありません。 * が付いている欄は必須項目です