about_Command_Syntax

簡単な説明

PowerShell で使用される構文図について説明します。

詳細な説明

Get-Help コマンドレットと Get-Command コマンドレットには、コマンドを正しく構築するのに役立つ構文図が表示されます。 この記事では、構文図を解釈する方法について説明します。

コマンドの構文を取得する

コマンド Get-HelpGet-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、MaximumCount の各パラメーターを持っています。
  • 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-ProcessName パラメーターは、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 パラメーター値は必須ですが、パラメーター名と-Valueパラメーター名-Nameは省略可能です。

    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}
    

    中かっこと垂直バーは、Option パラメーターに表示されているいずれかの値を選択できることを示します。たとえばReadOnlyAllScope

    New-Alias -Option ReadOnly
    

関連項目