簡単な説明
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 パラメーターを使用できることを示していますが、最大 パラメーターと Shuffle パラメーターを一緒に使用することはできません。
すべてのコマンドレットには、既定のパラメーター セットもあります。 既定のパラメーター セットは、パラメーター セットに固有のパラメーターを指定しない場合に使用されます。 たとえば、パラメーターなしで Get-Random を使用する場合、PowerShell では、RandomNumberParameterSet パラメーター セットを使用していることを前提とし、乱数を返します。
構文図のシンボル
構文図には、コマンド名、コマンド パラメーター、およびパラメーター値が一覧表示されます。
構文図では、次の記号を使用します。
ハイフン
-はパラメーター名を示します。 コマンドで、パラメーター名の直前にハイフンを入力します。構文図に示すように、スペースを入れないでください。たとえば、の
Get-Commandパラメーターを使用するには、「Get-Command -Name」と入力します。
山かっこ
< >プレースホルダー テキストを示します。 コマンドに山かっこやプレースホルダー テキストは入力しません。 代わりに、説明する項目に置き換えます。山かっこ内のプレースホルダーは、パラメーターが受け取る値の .NET 型を識別します。 たとえば、 コマンドレットの
Get-Commandパラメーターを使用するには、<string[]>をコンマ (,) で区切られた 1 つ以上の文字列に置き換えます。
.NET 型
[]追加された角かっこは、パラメーターがその型の 1 つ以上の値を受け入れることを示します。 値をコンマ区切りリストとして入力します。たとえば、 コマンドレットの Name パラメーターと
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に設定されます。たとえば、 の
Get-Commandパラメーターは switch パラメーターです。 ListImported パラメーターを使用すると、コマンドレットは現在のセッションのモジュールからインポートされたコマンドのみを返します。Get-Command [-ListImported]
パラメーターの周囲
[ ]角かっこは、省略可能な項目を示します。 パラメーターとその値は省略可能です。 たとえば、 の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を参照してください。
中かっこ
{}パラメーターの有効な値のセットである "列挙型" を示します。中かっこ内の値は、垂直バー
|で区切ります。 これらのバーは、排他的または 選択を示します。つまり、中かっこ内に一覧表示されている値のセットから 1 つの値のみを選択できます。たとえば、
New-Aliasコマンドレットの構文には、Option パラメーターの次の値列挙が含まれています。New-Alias -Option {None | ReadOnly | Constant | Private | AllScope}中かっこと垂直バーは、 や
ReadOnlyなど、AllScopeパラメーターに一覧表示されている値のいずれかを選択できることを示します。New-Alias -Option ReadOnly
こちらも参照ください
- about_Parameters
- Get-Command の
- Get-Help を する
PowerShell