Ich habe ein Skript, das die folgenden Einstellungen enthält, die ein falsches Ergebnis zurückgibt, wenn ich den obligatorischen Parameterbildschirm verwende. Es fühlt sich so an, als ob es keine Art von Verifikation oder Eingabe von Eingaben gibt. Wie kann ich es lösen? DiesePowerShell obligatorisch Bool immer wahr
param ([Parameter(Mandatory=$true)] [bool]$autoinstall)
if ($autoinstall )
{
echo "Autoinstall true"
}
else
{
echo "Autoinstall false"
}
funktioniert perfekt, wenn ich es so nennen mit. \ Myscript.ps1 -autoinstall $ false aber die $ AutoInstall- Variable ist immer wahr, unabhängig von dem, was ich passieren, wenn ich die obligatorische Kennworteingabeaufforderung verwenden, und geben Sie ‚$ false‘ .
EDIT:
einen Schalter für mich nicht funktioniert. Ich muss dies sowohl skriptfähig als auch die obligatorische Parameterfunktion für Benutzerverknüpfungen für die direkte Verwendung haben.
Dies funktioniert nicht für mich - ich muss eine einzelne Verknüpfung, die eine Sammlung von obligatorischen Parametern verwendet, um das Verhalten der App zu steuern. Hatte eine Notiz in diesem Sinne in der ursprünglichen Version meines Beitrags .. Ich werde es wieder bearbeiten. –
Ich fühle mich ein bisschen dumm heute, weil ich das Problem nicht verstehen kann :) Ein Schalter ist eine obligatorische boolean. Entweder Sie geben es an oder Sie tun es nicht, und in einem Skript können Sie seinen Wert angeben. Der Schalter ist in meinen Augen perfekt. Siehe den aktualisierten Ausgabeabschnitt in meiner Antwort für Proof-of-Concept. –
Das Skript muss - unabhängig von anderen Befehlszeilenparametern, die bereits auf der Verknüpfung stehen - aufgerufen werden können und über den obligatorischen Parameterbildschirm aufgefordert werden, einen Wert einzugeben. Versuchen Sie Ihr Skript mit einem obligatorischen Parameter für den Schalter und geben Sie keinen Wert an der Befehlszeile ein. Du wirst sehen, wovon ich rede. –