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 パラメーター セットを使用していると見なされ、乱数が返されます。
構文図の記号
構文図には、コマンド名、コマンド パラメーター、およびパラメーター値が一覧表示されます。
構文図では、次の記号を使用します。
ハイフン
-
はパラメーター名を示します。 コマンドで、パラメーター名の直前にハイフンを入力します。構文図に示すように、スペースを間に入れないでください。たとえば、 の Name パラメーター
Get-Command
を使用するには、「」と入力しますGet-Command -Name
。
山かっこはプレースホルダー テキストを
< >
示します。 コマンドに山かっこやプレースホルダー テキストを入力しません。 代わりに、説明する項目に置き換えます。山かっこ内のプレースホルダーは、パラメーターが受け取る値の .NET 型を識別します。 たとえば、コマンドレットの Name パラメーターを
Get-Command
使用するには、 をコンマ (,
) で区切られた 1 つ以上の文字列に置き換えます<string[]>
。
[]
.NET 型に追加された角かっこは、パラメーターがその型の 1 つ以上の値を受け取ることができることを示します。 値をコンマ区切りリストとして入力します。たとえば、コマンドレットの Name パラメーターと Value パラメーターは
New-Alias
、それぞれ 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
値のないパラメーター
一部のパラメーターは入力を受け入れないので、パラメーター値がありません。 値のないパラメーターは スイッチ パラメーターです。 スイッチ パラメーターはブール値と同様に使用されます。 既定値は
$false
です。 switch パラメーターを使用すると、値は に$true
設定されます。たとえば、 の ListImported パラメーター
Get-Command
は switch パラメーターです。 ListImported パラメーターを使用すると、コマンドレットは現在のセッションのモジュールからインポートされたコマンドのみを返します。Get-Command [-ListImported]
パラメーターの角かっこは
[ ]
、省略可能な項目を示します。 パラメーターとその値は省略可能です。 たとえば、 の CommandType パラメーターGet-Command
とその値は、どちらも省略可能であるため、角かっこで囲まれます。Get-Command [-CommandType <CommandTypes>]
パラメーター名の角かっこはパラメーター値ではなく、パラメーター名が省略可能であることを示します。 これらのパラメーターは、位置指定パラメーターと呼ばれます。 パラメーター値は、値を正しいパラメーターにバインドするために正しい順序で表示する必要があります。
たとえば、 コマンドレットの
New-Alias
場合、Name パラメーターと Value パラメーター値は必須ですが、パラメーター名-Name
と-Value
は省略可能です。New-Alias [-Name] <string> [-Value] <string>
New-Alias MyAlias mycommand.exe
各パラメーター セットでは、パラメーターは位置順に表示されます。 コマンド内のパラメーターの順序は、省略可能なパラメーター名を省略した場合にのみ重要です。 パラメーター名を省略すると、PowerShell は位置と型によってパラメーターに値を割り当てます。 パラメーターの位置の詳細については、「 about_Parameters」を参照してください。
中かっこは
{}
、パラメーターの有効な値のセットである "列挙" を示します。中かっこ内の値は、垂直バー で区切られます
|
。 これらのバーは 排他的 OR の選択肢を示します。つまり、中かっこ内に一覧表示されている値のセットから 1 つの値のみを選択できます。たとえば、 コマンドレットの構文
New-Alias
には、 Option パラメーターの次の値の列挙が含まれています。New-Alias -Option {None | ReadOnly | Constant | Private | AllScope}
中かっこと垂直バーは、 や
AllScope
などReadOnly
、Option パラメーターに一覧表示されている値のいずれかを選択できることを示します。New-Alias -Option ReadOnly