私は、必須パラメータ画面を使用する場合、不正確な結果を返す以下の設定を含むスクリプトを持っています。入力の際に何らかの種類の検証やキャストを行えないような気がします。どうすれば解決できますか?Powershell必須bool常にtrue
param ([Parameter(Mandatory=$true)] [bool]$autoinstall)
if ($autoinstall )
{
echo "Autoinstall true"
}
else
{
echo "Autoinstall false"
}
これは私がそれを呼び出す場合は完璧に動作します。\するMyScript.ps1 -autoinstall $ falseのが、$自動インストール変数は関係なく、私は「$ false」に必須のパスワードプロンプトを使用して入力した場合、私は渡すものの、常に真であります。
編集:
スイッチを使用しても機能しません。私は実際にこれをスクリプト化可能で、オンザフライで使用するためのユーザショートカットの必須パラメータ関数にする必要があります。
これは私のためには機能しません - アプリケーションの動作を制御するために必須パラメータのコレクションを使用する単一のショートカットをプッシュする必要があります。 –
私はこの問題を理解できないので、今日はちょっとばかばかしいと感じています:)スイッチは必須のブール値です。指定するか指定しないで、スクリプトで値を指定することができます。スイッチは私の目には完璧です。概念実証のための私の答えの更新された出力セクションを参照してください。 –
すでにショートカット上にある他のコマンドラインパラメータに関係なく、スクリプトを呼び出すことができ、必須のパラメータ画面を介して値入力を求めるプロンプトが必要です。スイッチの必須パラメタでスクリプトを試し、コマンドラインに値を入力しないでください。あなたは私が何を話しているのを見るでしょう。 –