PowerShell のさまざまなパラメーター

Marion Paul Kenneth Mendoza 2023年6月20日
  1. PowerShell のパラメーター
  2. 名前付きパラメータ
  3. パラメータのデフォルト
  4. スイッチ パラメータ
  5. 必須パラメータ
  6. パイプライン パラメータ
PowerShell のさまざまなパラメーター

この記事では、パラメーター関数とは何か、パラメーターで定義できるさまざまな種類の変数、さまざまな種類のパラメーター、およびそれらの使用例について説明します。

PowerShell のパラメーター

私たちのような管理者は、パラメーター param() 関数を使用して、スクリプトと関数のパラメーターを作成できます。 パラメータ スクリプト ブロックには、変数によって示される 1つ以上のパラメータが含まれます。

コード例:

param ($myVariable)

ただし、宣言されたパラメーターが必要な入力の型のみを受け入れるようにするため、変数の前に角かっこ [] でデータ型を囲むことにより、パラメーターにデータ型を割り当てることをベスト プラクティスとして示します。

コード例:

param ([String]$myVariable)

名前付きパラメータ

スクリプトでパラメーターを使用する 1つの方法は、名前付きパラメーターを使用することです。 名前付きパラメーターを介して関数またはスクリプトを呼び出す場合、変数名をパラメーターの完全な名前として使用します。

コード例:

param ([String]$name)

次に、名前付きパラメーターを使用して、.ps1 ファイルを実行するときに議論できます。

コード例:

powershell.exe .\sample.ps1 -name "John"

パラメータのデフォルト

スクリプト内で事前にパラメーターにデフォルト値を与えることで、パラメーターに値を割り当てることができます。 次に、値をコンソールに渡さずにスクリプトを実行すると、スクリプト内で事前定義された変数のデフォルト値が取得されます。

コード例:

param ([String]$name = "John")

スイッチ パラメータ

使用できるもう 1つのパラメータ タイプは、[switch] データ タイプによって定義されるスイッチ パラメータです。 true または false を示すブール値には、switch パラメータが使用されます。

コード例:

param ([switch]$isEnabled)

必須パラメータ

通常、スクリプトを実行するときに使用する必要がある 1つ以上の必須パラメーターがあります。 したがって、これらのパラメーターに値が割り当てられていないと、スクリプトが失敗する可能性があります。

Mandatory データ型をパラメーター データ型ブロック [Parameter()] 内に挿入することで、パラメーターを必須にすることができます。

コード例:

param (
    [Parameter(Mandatory)]
    [String] $servername
)

値を指定しないと、PowerShell はスクリプトの実行を許可せず、実行時に値の入力を求めます。 [Parameter(Mandatory)] ブロックのないパラメーターは、オプションのパラメーターと見なされることに注意してください。

パイプライン パラメータ

ほとんどの PowerShell コマンドレットでは、パイプ (| ) 記号を使用してデータを渡すことができます。 パラメータを操作するときに、この PowerShell 機能を利用できます。

この方法を使用すると、チェーン化された PowerShell ファイルを実行する多くの機会が開かれます。

ファイル - pipeline.ps1:

param([parameter(ValueFromPipeline)]$pipedVar)

Write-Output $pipedVar

コード例:

"This string is from the pipeline." | .\pipeline.ps1

出力:

This string is from the pipeline.
Marion Paul Kenneth Mendoza avatar Marion Paul Kenneth Mendoza avatar

Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.

LinkedIn

関連記事 - PowerShell Parameter