既定値を持つ PowerShell 必須パラメーター
Rohan Timalsina
2023年6月21日
パラメータは、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