Sicher, dass ein gültiger Parametersatz vorliegt, Powershell meldet: „Parametersatz kann nicht aufgelöst werden …“

Sicher, dass ein gültiger Parametersatz vorliegt, Powershell meldet: „Parametersatz kann nicht aufgelöst werden …“

Ich versuche, ein Powershell-Cmdlet auszuführen, das nur einen von drei bestimmten Parametern akzeptiert. Ich bin sicher, dass ich diese Parameter kenne und dass ich sie richtig eingebe. Ich führe Powershell als Administrator aus und bin sicher, dass sowohl das zugehörige Powershell-Modul geladen ist als auch dass das Cmdlet, das ich versuche, gültig ist und aus diesem Modul geladen wurde.

Das Cmdlet ist Set-ADFSRelyingPartyTrust -SamlResponseSignatureund die gültigen Parameter sind MessageOnly AssertionOnlyund MessageAndAssertionwie angegeben von:https://docs.microsoft.com/en-us/powershell/module/adfs/set-adfsrelyingpartytrust?view=winserver2012r2-ps

Das Problem besteht darin, dass ich unabhängig davon, welche der drei Optionen ich ausprobiere, immer die folgende Fehlermeldung erhalte:

Set-AdfsRelyingPartyTrust : Parameter set cannot be resolved using the specified named parameters.
At line:1 char:1
+ Set-AdfsRelyingPartyTrust -SamlResponseSignature MessageAndAssertion
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidArgument: (:) [Set-AdfsRelyingPartyTrust], ParameterBindingException
    + FullyQualifiedErrorId : AmbiguousParameterSet,Microsoft.IdentityServer.Management.Commands.SetRelyingPartyTrustCommamd

Frustrierend ist, dass wenn ich das Cmdlet mit einem bekannten fehlerhaften Parameter, z. B. mit „-Whatif“, ausführe, es folgende Meldung ausgibt:

Set-AdfsRelyingPartyTrust : Cannot validate argument on parameter 'SamlResponseSignature'. 
The argument "False" does not belong to the set "AssertionOnly,MessageAndAssertion,MessageOnly" 
specified by the ValidateSet attribute. Supply an argument that is in the set and then try the command again.

Selbst wenn ich einen Wert aus dem gemeldeten Satz kopiere und einfüge, erhalte ich den gleichen Fehler. Was zum Teufel mache ich falsch?

Ich entschuldige mich, wenn dies bereits beantwortet wurde. Jedes Suchergebnis, das ich angezeigt habe, befasste sich nur damit, was zu tun ist, wenn dieser Fehler als Teil eines größeren Skripts auftritt oder der Verfasser sich über den gültigen Parametersatz nicht sicher war. Ich konnte keine Diskussion zu diesem Fehler finden, wenn das Cmdlet eigenständig ausgeführt wird und der Parametersatz bekannt ist.

Antwort1

Wenn Sie sich die Dokumente genau ansehen, können Sie drei Parametersätze sehen. Wenn Sie genau hinsehen, werden Sie feststellen, dass alle Parameter bis auf einen eindeutigen Parameter vorhanden sind. Dieser eindeutige Parameter ist zufällig aucherforderlich.

Für das Commandlet Set-ADFSRelyingPartyTrustmüssen SiemussGeben Sie das Ziel auf eine von drei Arten an.

Sie müssen über eines der folgenden Elemente verfügen:

  • -TargetRelyingParty
  • -TargetIdentifier
  • -TargetName

Beachten Sie, dass in den Dokumenten die meisten Parameter eckige Klammern haben, diese 3 Parameter jedoch nicht. Außerdem werden sie in einer anderen Farbe dargestellt. Diese Unterschiede zeigen Ihnen, dass diese erforderlich sind.

verwandte Informationen