Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Get-HTMLPage : Parameter set cannot be resolved using the specified named parameters #7

Closed
spaelling opened this issue Jan 9, 2019 · 2 comments

Comments

@spaelling
Copy link
Contributor

Below is causing an error. Can't quite figure out why that is a problem.

Get-HTMLPage -Open -TitleText 'TitleText' -LeftLogoString $CompanyLogo  | Out-Null
<#
Get-HTMLPage : Parameter set cannot be resolved using the specified named parameters.
At line:1 char:1
+ Get-HTMLPage -Open -TitleText 'TitleText' -LeftLogoString $CompanyLog ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidArgument: (:) [Get-HTMLPage], ParameterBindingException
    + FullyQualifiedErrorId : AmbiguousParameterSet,Get-HTMLPage
#>
# Both of these are ok
Get-HTMLPage -Open -TitleText 'TitleText' -LeftLogoString $CompanyLogo -UseCssLinks | Out-Null
Get-HTMLPage -Open -TitleText 'TitleText' -LeftLogoString $CompanyLogo -UseStyleLinks | Out-Null

For reference, this is the param definition in Get-HtmlPage

Function Get-HTMLPage {
    [CmdletBinding(DefaultParameterSetName = 'options')]
    param
    (
        [Parameter(Mandatory = $false, ParameterSetName = 'options')]
        [Parameter(Mandatory = $false, ParameterSetName = 'open')]
        [Parameter(Mandatory = $false, ParameterSetName = 'explicit')][String]$TitleText,
        [Parameter(Mandatory = $false, ParameterSetName = 'open')]
        [Parameter(Mandatory = $false, ParameterSetName = 'explicit')][String]$CSSPath,
        [Parameter(Mandatory = $false, ParameterSetName = 'open')]
        [Parameter(Mandatory = $false, ParameterSetName = 'explicit')][String]$CSSName = "default",
        [Parameter(Mandatory = $false, ParameterSetName = 'open')]
        [Parameter(Mandatory = $false, ParameterSetName = 'explicit')][String]$ScriptPath,
        [Parameter(Mandatory = $false, ParameterSetName = 'open')]
        [Parameter(Mandatory = $false, ParameterSetName = 'explicit')][String]$ColorSchemePath,
        [Parameter(Mandatory = $false, ParameterSetName = 'open')]
        [Parameter(Mandatory = $false, ParameterSetName = 'explicit')][String]$LogoPath,
        [Parameter(Mandatory = $false, ParameterSetName = 'open')]
        [Parameter(Mandatory = $false, ParameterSetName = 'explicit')][string]$LeftLogoName = "Sample",
        [Parameter(Mandatory = $false, ParameterSetName = 'open')]
        [Parameter(Mandatory = $false, ParameterSetName = 'explicit')][string]$RightLogoName = "Alternate",
        [Parameter(Mandatory = $false, ParameterSetName = 'open')]
        [Parameter(Mandatory = $false, ParameterSetName = 'explicit')][string]$LeftLogoString,
        [Parameter(Mandatory = $false, ParameterSetName = 'open')]
        [Parameter(Mandatory = $false, ParameterSetName = 'explicit')][string]$RightLogoString,

        [Parameter(Mandatory = $false, ParameterSetName = 'open')]
        [Parameter(Mandatory = $false, ParameterSetName = 'options')]
        [Parameter(Mandatory = $false, ParameterSetName = 'explicit')][switch]$HideLogos,

        [Parameter(Mandatory = $false, ParameterSetName = 'open')]
        [Parameter(Mandatory = $false, ParameterSetName = 'options')]
        [Parameter(Mandatory = $false, ParameterSetName = 'explicit')][switch]$HideTitle,

        [Parameter(Mandatory = $false, ParameterSetName = 'open')]
        [Parameter(Mandatory = $false, ParameterSetName = 'options')]
        [Parameter(Mandatory = $false, ParameterSetName = 'explicit')][switch]$NoScript,

        [Parameter(Mandatory = $false, ParameterSetName = 'open')]
        [Parameter(Mandatory = $false, ParameterSetName = 'options')][PSobject]$Options,
        [Parameter(Mandatory = $false, ParameterSetName = 'explicit')][string]$PrimaryColorHex,

        [Parameter(Mandatory = $false, ParameterSetName = 'open')]
        [switch] $AddAuthor,
        [Parameter(Mandatory = $false, ParameterSetName = 'open')]
        [string] $Author,
        [Parameter(Mandatory = $false, ParameterSetName = 'open')]
        [switch] $HideDate,
        [Parameter(Mandatory = $false, ParameterSetName = 'open')]
        [string] $DateFormat = 'yyyy-MM-dd HH:mm:ss',
        [Parameter(Mandatory = $false, ParameterSetName = 'open')]
        [switch] $UseCssLinks,
        [Parameter(Mandatory = $false, ParameterSetName = 'open')]
        [switch] $UseStyleLinks,
        [Parameter(Mandatory = $false, ParameterSetName = 'open')]
        [Parameter(Mandatory = $false, ParameterSetName = 'options')]
        [Parameter(Mandatory = $false, ParameterSetName = 'explicit')]
        [switch] $Open,


        [Parameter(Mandatory = $false, ParameterSetName = 'close')]
        [switch] $Close,
        [Parameter(Mandatory = $false, ParameterSetName = 'close')]
        [String]$FooterText # For closing param
    )
@PrzemyslawKlys
Copy link
Member

PrzemyslawKlys commented Jan 9, 2019

I think PSWriteHTML uses New-HTML ;-) I renamed it (I will be introducing lots of breaking changes, unfortunately).

It's because of -LeftLogoString $LeftLogoString but I am not sure why. I need to read up on ParamterSets because most likely it's related to how those parameters are used together.

@PrzemyslawKlys
Copy link
Member

I've removed Options parameter and I've removed other parameter sets except for Open/Close. We don't need Options as you can declare Options as Splat anyways. Should work now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants