すべてのコマンドを取得します。
構文
Get-Command >] >] >] >] <Object>] >] >]
Get-Command <String>] >] >] <Object>] >] >]
説明
Get-Command
Get-Command
コマンドレットは、PowerShellモジュールのコマンドや、他のセッションからインポートされたコマンドを取得します。
パラメータがない場合、Get-Command
Get-Command *
は、Path環境変数($env:Path
)に格納されているPowerShell以外のファイルを含む、すべての種類のコマンドを取得し、Applicationコマンドタイプにリストアップします。
Get-Command
$PSModuleAutoLoadingPreference
のpreference変数を使います。
Get-Command
Get-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-ChildItem
cmdletが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」と意図的にタイプミスをしています。-UseFuzzyMatching
Get-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
パラメータ
このコマンドレットが、同じ名前の同じタイプのコマンドを含むすべてのコマンドを取得することを示します。 デフォルトでは、Get-Command
は、コマンド名を入力したときに実行されるコマンドのみを取得します。
複数のコマンドが同じ名前の場合に PowerShell が実行するコマンドを選択するために使用する方法については、about_Command_Precedence を参照してください。モジュール修飾されたコマンド名や、名前の競合によりデフォルトでは実行されないコマンドの実行については、about_Modulesを参照してください。
このパラメーターはWindows PowerShell 3.0で導入されました。
Windows PowerShell 2.0では、Get-Command
はデフォルトですべてのコマンドを取得します。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
True | |
Accept wildcard characters: | False |
引数の配列を指定します。 このコマンドレットは、指定されたパラメーター (「引数」) で使用されたときのコマンドレットまたは関数に関する情報を取得します。
特定の他のパラメーターが使用されたときにのみ利用可能な動的パラメーターを検出するには、ArgumentListの値を動的パラメーターのトリガーとなるパラメーターに設定します。
プロバイダーがコマンドレットに追加する動的パラメーターを検出するには、ArgumentListパラメーターの値をWSMan:、HKLM:、Cert:などのプロバイダー ドライブのパスに設定します。 コマンドが PowerShell プロバイダのコマンドレットの場合、各コマンドにはパスを 1 つだけ入力します。 プロバイダー コマンドレットは、最初のパスの動的パラメーターのみを ArgumentList の値として返します。 プロバイダー コマンドレットについての情報は、about_Providers を参照してください。
Type: | Object |
Aliases: | Args |
Position: | 1 |
Default value: | None |
パイプラインの入力を受け付けます。 | False |
Accept wildcard characters: | False |
このコマンドレットが取得するコマンドの種類を指定します。 1 つまたは複数のコマンド タイプを入力します。 UseCommandTypeまたはそのエイリアスであるTypeを使用します。 デフォルトでは、Get-Command
はすべてのコマンドレット、関数、およびエイリアスを取得します。
このパラメーターに指定できる値は次のとおりです。 すべてのPowerShellコマンドのエイリアスを取得します。 詳細はabout_Aliasesを参照してください。
Get-Command *
と同等です。 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 |
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 |
このコマンドレットが現在のセッションのコマンドのみを取得することを示します。
PowerShell 3.0 で開始したデフォルトでは、Get-Command
は現在のセッション内のコマンドに限らず、インストールされているすべてのコマンドを取得します。
このパラメーターは Windows PowerShell 3.0 で導入されました。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Accept pipeline input: | True |
Accept wildcard characters: | False |
モジュールの配列を指定します。
このパラメーターは文字列を取りますが、このパラメーターの値は、Get-Module
Import-PSSession
コマンドレットが返すオブジェクトのような PSModuleInfoobject にすることもできます。
Type: | String |
Aliases: | PSSnapin |
Position: | Named |
Default value: | None |
Accept pipeline input: | True |
Accept wildcard characters: | True |
名前の配列を指定します。 このコマンドレットは、指定された名前を持つコマンドのみを取得します。 名前または名前のパターンを入力します。
同じ名前のコマンドを取得するには、All パラメーターを使用します。 2つのコマンドの名前が同じ場合、デフォルトでは、Get-Command
は、コマンド名を入力したときに実行されるコマンドを取得します。
Type: | String |
Position: | 0 |
Default value: | None |
パイプラインの入力を受け付けます。 | True |
Accept wildcard characters: | True |
コマンドの名詞の配列を指定します。 このコマンドレットは、指定された名詞を含む名前を持つコマンドレット、関数、およびエイリアスを含むコマンドを取得します。 1 つ以上の名詞または名詞パターンを入力します。 ワイルドカード文字は許可されています。
Type: | String |
Position: | Named |
Default value: | None |
Accept pipeline input: | True |
Accept wildcard characters: | True |
パラメータ名の配列を指定します。 このコマンドレットは、指定されたパラメーターを持つセッション内のコマンドを取得します。 パラメータ名またはパラメータのエイリアスを入力します。
ParameterNameおよびParameterTypeパラメーターは、現在のセッション内のコマンドのみを検索します。
このパラメーターは、Windows PowerShell 3.0で導入されました。
Type: | String |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | True |
パラメータ名の配列を指定します。 このコマンドレットは、指定されたタイプのパラメーターを持つセッション内のコマンドを取得します。 パラメーター タイプの完全な名前または部分的な名前を入力します。
ParameterNameおよびParameterTypeパラメーターは、現在のセッション内のコマンドのみを検索します。
このパラメーターは、Windows PowerShell 3.0で導入されました。
Type: | PSTypeName |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | True |
このコマンドレットがコマンド情報を表示することを示します。
このパラメーターは、Windows PowerShell 5.0で導入されました。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
このコマンドレットがコマンドに関する以下の指定されたデータのみを取得することを示します:
- Aliases. 標準名と構文を取得します。
- Cmdlets. 構文を取得します。
- Functions and filters. 関数の定義を取得します。
- スクリプトとアプリケーションまたはファイル。 パスとファイル名を取得します。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Accept pipeline input: | True |
Accept wildcard characters: | False |
取得するコマンドの数を指定します。 このパラメータを使うことで、commandの出力を制限することができます。
Type: | Int32 |
Position: | Named |
Default value: | None |
Accept pipeline input: | True |
Accept wildcard characters: | False |
コマンド内の文字のマッチングを使用して、コマンド内の大文字で検索することを示します。 例えば、i-psdf
Import-PowerShellDataFile
と一致し、検索する文字のそれぞれが結果の中の大文字と一致します。 このタイプのマッチを使用する場合、ワイルドカードを使用すると、マッチしません。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Accept pipeline input: | True |
Accept wildcard characters: | False |
コマンドを見つける際にファジーマッチングアルゴリズムを使用することを示します。 出力の順番は、最も近いものから最も可能性の低いものへとなります。 ワイルドカードを含むコマンドにもマッチしようとするため、ファジーマッチングではワイルドカードを使用しないでください。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
コマンドバーブの配列を指定します。 このコマンドレットは、指定された動詞を含む名前を持つコマンドレット、関数、およびエイリアスを含むコマンドを取得します。 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