既定値を持つ PowerShell 必須パラメーター

Rohan Timalsina 2023年6月21日
既定値を持つ PowerShell 必須パラメーター

パラメータは、PowerShell スクリプトの基本的な機能です。 これらは、スクリプトの実行時にユーザーから入力を受け取るのに役立ちます。

PowerShell では、スクリプトや関数でパラメーターを param ブロックで囲んで使用します。 このチュートリアルでは、PowerShell の必須パラメーターに既定値を表示する方法を説明します。

既定値が表示された PowerShell 必須パラメーター

必須パラメーターには、PowerShell の既定値がありません。 パラメータには任意の名前を付けることができるため、必須パラメータに表示する名前にデフォルト値を含めることができます。

パラメーターは、PowerShell 関数で最もよく使用されます。 以下は、関数でパラメーターを使用する簡単な例です。

function Test
{
    param
    (
        $Username = $(Read-Host -Prompt 'Enter your username'),
        $ID = $(Read-Host -Prompt 'Enter your ID')
    )
    "Your username is $Username and ID is $ID."
}
Test

出力:

Enter your username: rhntm
Enter your ID: 123
Your username is rhntm and ID is 123.

次の例では、2つの必須パラメータ Username[rhntm]ID[123] が使用され、中かっこ内の値がデフォルト値として機能します。

function Test {
    param (
        [Parameter(Mandatory=$true)]
        ${Username[rhntm]},
        [Parameter(Mandatory=$true)]
        ${ID[123]}
    )
    $Username = if (${Username[rhntm]}) {${Username[rhntm]}}
        else {
            'rhntm'
        }
    $ID = if (${ID[123]}) {
            ${ID[123]}
        } else {
            123
        }
       "Your username is $Username and ID is $ID."

}
Test

出力:

cmdlet Test at command pipeline position 1
Supply values for the following parameters:
Username[rhntm]: sam
ID[123]: 456
Your username is sam and ID is 456.

ご覧のとおり、出力は私たちがやりたいこととまったく同じように見えます。 値が指定されていない場合は、デフォルト値が使用されます。

出力:

cmdlet Test at command pipeline position 1
Supply values for the following parameters:
Username[rhntm]:
ID[123]:
Your username is rhntm and ID is 123.

この記事が、PowerShell の必須パラメーターに既定値を表示するための指針になったことを願っています。

著者: Rohan Timalsina
Rohan Timalsina avatar Rohan Timalsina avatar

Rohan is a learner, problem solver, and web developer. He loves to write and share his understanding.

LinkedIn Website

関連記事 - PowerShell Parameter