Estoy intentando ejecutar un cmdlet de Powershell que solo acepta uno de tres parámetros específicos. Estoy seguro de que sé cuáles son esos parámetros y de que los estoy ingresando correctamente. Estoy ejecutando Powershell como administrador y estoy seguro de que el módulo Powershell asociado está cargado y que el cmdlet que estoy intentando es válido y está cargado desde ese módulo.
El cmdlet Set-ADFSRelyingPartyTrust -SamlResponseSignature
y los parámetros válidos son MessageOnly
AssertionOnly
los MessageAndAssertion
proporcionados por:https://docs.microsoft.com/en-us/powershell/module/adfs/set-adfsrelyingpartytrust?view=winserver2012r2-ps
El problema que tengo es que no importa cuál de esos tres intente, aparece el error:
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
Es frustrante que si ejecuto el cmdlet con un parámetro incorrecto conocido, con -Whatif, informa:
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.
Incluso si copio y pego un valor del conjunto informado, aparece el mismo error. ¿Qué diablos estoy haciendo mal?
Pido disculpas si esto ya ha sido respondido. Cada resultado de búsqueda que vi solo trataba sobre qué hacer si ese error aparece como parte de un script más grande, o si el autor no estaba seguro del conjunto de parámetros válido. No pude encontrar ninguna discusión sobre este error cuando el cmdlet se ejecuta de forma independiente y se conoce el conjunto de parámetros.
Respuesta1
Si observa detenidamente los documentos, puede ver tres conjuntos de parámetros. Si observa detenidamente, verá que todos los parámetros excepto 1 parámetro único. Este parámetro único también esrequerido.
Entonces, para el comando, Set-ADFSRelyingPartyTrust
déjatedebeespecifique el objetivo de una de tres maneras.
Debe tener uno de los siguientes:
-TargetRelyingParty
-TargetIdentifier
-TargetName
Tenga en cuenta que en los documentos la mayoría de los parámetros tienen corchetes, pero estos 3 parámetros no, además se representan con un color diferente. Esas diferencias le dicen que son necesarias.