about_Command_Syntax
簡単な説明
PowerShell で使用される構文図について説明します。
詳細な説明
Get-Help および Get-Command コマンドレットは、コマンドを正しく構築するのに役立つ構文図を表示します。 この記事では、構文図を解釈する方法について説明します。
コマンドの構文を取得する
コマンドの構文を取得するには、 Get-Help
と Get-Command
の 2 つの方法があります。
Get-Command
Get-Command
コマンドを使用して、システム上の任意のコマンドに関する情報を取得できます。 コマンドの構文を取得するには、 Syntax パラメーターを使用します。
Get-Command Get-Command -Syntax
Get-Command [[-ArgumentList] <Object[]>] [-Verb <string[]>] [-Noun <string[]>]
[-Module <string[]>] [-FullyQualifiedModule <ModuleSpecification[]>]
[-TotalCount <int>] [-Syntax] [-ShowCommandInfo] [-All] [-ListImported]
[-ParameterName <string[]>] [-ParameterType <PSTypeName[]>]
[<CommonParameters>]
Get-Command [[-Name] <string[]>] [[-ArgumentList] <Object[]>]
[-Module <string[]>] [-FullyQualifiedModule <ModuleSpecification[]>]
[-CommandType <CommandTypes>] [-TotalCount <int>] [-Syntax] [-ShowCommandInfo]
[-All] [-ListImported] [-ParameterName <string[]>]
[-ParameterType <PSTypeName[]>] [-UseFuzzyMatching]
[-FuzzyMinimumDistance <uint>] [-UseAbbreviationExpansion]
[<CommonParameters>]
Get-Help
Get-Help
コマンドは、PowerShell コマンドに関する詳細情報 (構文、コマンドレットとパラメーターの詳細な説明、例など) を提供します。 出力 Get-Help
コマンドは、コマンドの簡単な説明と構文で始まります。
Get-Help Get-Command
次の出力は、構文の説明に焦点を当てて短縮されています。
NAME
Get-Command
SYNOPSIS
Gets all commands.
SYNTAX
Get-Command [[-Name] <System.String[]>] [[-ArgumentList] <System.Object[]>]
[-All] [-CommandType {Alias | Function | Filter | Cmdlet | ExternalScript |
Application | Script | Workflow | Configuration | All}]
[-FullyQualifiedModule <Microsoft.PowerShell.Commands.ModuleSpecification[]>]
[-ListImported] [-Module <System.String[]>] [-ParameterName <System.String[]>]
[-ParameterType <System.Management.Automation.PSTypeName[]>]
[-ShowCommandInfo] [-Syntax] [-TotalCount <System.Int32>]
[-UseAbbreviationExpansion] [-UseFuzzyMatching] [<CommonParameters>]
Get-Command [[-ArgumentList] <System.Object[]>] [-All]
[-FullyQualifiedModule <Microsoft.PowerShell.Commands.ModuleSpecification[]>]
[-ListImported] [-Module <System.String[]>] [-Noun <System.String[]>]
[-ParameterName <System.String[]>]
[-ParameterType <System.Management.Automation.PSTypeName[]>]
[-ShowCommandInfo] [-Syntax] [-TotalCount <System.Int32>]
[-Verb <System.String[]>] [<CommonParameters>]
...
Get-Help
の出力は、Get-Command
の出力とは若干異なります。 CommandType パラメーターの構文の違いに注意してください。 Get-Command
はパラメーターの型を [CommandTypes]
列挙型として示し、 Get-Help
は列挙体の使用可能な値を示します。
パラメーター セット
PowerShell コマンドのパラメーターは、パラメーター セットに一覧表示されます。 PowerShell コマンドには、1 つ以上のパラメーター セットを含めることができます。 Get-Command
コマンドレットには、前の例に示すように 2 つのパラメーター セットがあります。
一部のコマンドレット パラメーターはパラメーター セットに固有であり、他のパラメーター セットは複数のパラメーター セットに表示されます。 各パラメーター セットは、有効なコマンドの形式を表します。 パラメーター セットには、コマンドで一緒に使用できるパラメーターのみが含まれます。 パラメーターを同じコマンドで使用できない場合は、個別のパラメーター セットに一覧表示されます。
たとえば、 Get-Random コマンドレットには、次のパラメーター セットがあります。
$cmd = Get-Command Get-Random
$cmd.ParameterSets |
Select-Object Name, IsDefault, @{n='Parameters';e={$_.ToString()}} |
Format-Table -Wrap
Name IsDefault Parameters
---- --------- ----------
RandomNumberParameterSet True [[-Maximum] <Object>] [-SetSeed <int>]
[-Minimum <Object>] [-Count <int>]
[<CommonParameters>]
RandomListItemParameterSet False [-InputObject] <Object[]> [-SetSeed <int>]
[-Count <int>] [<CommonParameters>]
ShuffleParameterSet False [-InputObject] <Object[]> -Shuffle
[-SetSeed <int>] [<CommonParameters>]
- 最初のパラメーター セットは 1 つ以上の乱数を返し、 Minimum、 Maximum、および Count パラメーターを持っています。
- 2 番目のパラメーター セットは、一連のオブジェクトからランダムに選択されたオブジェクトを返し、 InputObject および Count パラメーターを含みます。
- 3 番目のパラメーター セットには、カードのデッキをシャッフルするなどのランダムな順序でオブジェクトのコレクションを返す Shuffle パラメーターがあります。
- すべてのパラメーター セットには、 SetSeed パラメーターと共通パラメーターがあります。
これらのパラメーター セットは、同じコマンドで InputObject パラメーターと Count パラメーターを使用できることを示していますが、 Maximum と Shuffle パラメーターを一緒に使用することはできません。
すべてのコマンドレットには、既定のパラメーター セットもあります。 既定のパラメーター セットは、パラメーター セットに固有のパラメーターを指定しない場合に使用されます。 たとえば、パラメーターを指定せずに Get-Random
を使用する場合、PowerShell では、 RandomNumberParameterSet パラメーター セットを使用していることを前提とし、乱数を返します。
構文図のシンボル
構文図には、コマンド名、コマンド パラメーター、およびパラメーター値が一覧表示されます。
構文図では、次の記号を使用します。
ハイフン
-
は、パラメーター名を示します。 コマンドで、パラメーター名の直前にハイフンを入力します。構文図に示すように、スペースを入れないでください。たとえば、
Get-Command
の Name パラメーターを使用するには、「Get-Command -Name
」と入力します。
山かっこ
< >
プレースホルダー テキストを示します。 コマンドに山かっこやプレースホルダー テキストは入力しません。 代わりに、説明する項目に置き換えます。山かっこ内のプレースホルダーは、パラメーターが受け取る値の .NET 型を識別します。 たとえば、
Get-Command
コマンドレットの Name パラメーターを使用するには、<string[]>
をコンマ (,
) で区切られた 1 つ以上の文字列に置き換えます。
.NET 型
[]
追加された角かっこは、パラメーターがその型の 1 つ以上の値を受け入れることを示します。 値をコンマ区切りリストとして入力します。たとえば、
New-Alias
コマンドレットの Name パラメーターと Value パラメーターは、それぞれ 1 つの文字列のみを受け取ります。New-Alias [-Name] <string> [-Value] <string>
New-Alias -Name MyAlias -Value mycommand.exe
ただし、Get-Process の Name パラメーターは、1 つ以上の文字列を受け取ることができます。
Get-Process [-Name] <string[]>
Get-Process -Name Explorer, Winlogon, Services
値のないパラメーター
一部のパラメーターは入力を受け入れないので、パラメーター値がありません。 値のないパラメーターは、 switch パラメーターです。 スイッチ パラメーターはブール値と同様に使用されます。 既定値は
$false
です。 switch パラメーターを使用すると、値は$true
に設定されます。たとえば、
Get-Command
の ListImported パラメーターは switch パラメーターです。 ListImported パラメーターを使用すると、コマンドレットは現在のセッションのモジュールからインポートされたコマンドのみを返します。Get-Command [-ListImported]
パラメーターの周囲
[ ]
角かっこは、省略可能な項目を示します。 パラメーターとその値は省略可能です。 たとえば、Get-Command
の CommandType パラメーターとその値は、両方とも省略可能であるため、角かっこで囲まれます。Get-Command [-CommandType <CommandTypes>]
パラメーター名を角かっこで囲みますが、パラメーター値は省略できません。これは、パラメーター名が省略可能であることを示します。 これらのパラメーターは位置パラメーターと呼ばれます。 値が正しいパラメーターにバインドされるようにするには、パラメーター値を正しい順序で表示する必要があります。
たとえば、
New-Alias
コマンドレットの場合、 Name と Value パラメーターの値が必要ですが、パラメーター名-Name
と-Value
は省略可能です。New-Alias [-Name] <string> [-Value] <string>
New-Alias MyAlias mycommand.exe
各パラメーター セットでは、パラメーターは位置順に表示されます。 コマンド内のパラメーターの順序は、省略可能なパラメーター名を省略した場合にのみ重要です。 パラメーター名を省略すると、PowerShell は位置と型によってパラメーターに値を割り当てます。 パラメーター位置の詳細については、 about_Parametersを参照してください。
中かっこ
{}
、パラメーターの有効な値のセットである "列挙型" を示します。中かっこ内の値は、縦棒
|
で区切ります。 これらのバーは、 exclusive-OR 選択肢を示します。つまり、中かっこ内に一覧表示されている値のセットから 1 つの値のみを選択できます。たとえば、
New-Alias
コマンドレットの構文には、 Option パラメーターの次の値の列挙が含まれています。New-Alias -Option {None | ReadOnly | Constant | Private | AllScope}
中かっこと垂直バーは、 Option パラメーターに一覧表示されている値 (
ReadOnly
やAllScope
など) のいずれかを選択できることを示します。New-Alias -Option ReadOnly
関連項目
PowerShell