exports/Get-SysManClientOperatingSystem.ps1

<#
.Synopsis
Get the supported operating systems based on the provided client ids. Reason this is a\r\npost action is to allow a large number of clients ids to be sent as payload instead of through the URL to prevent a\r\n\"Too large URL error\".
.Description
Get the supported operating systems based on the provided client ids. Reason this is a\r\npost action is to allow a large number of clients ids to be sent as payload instead of through the URL to prevent a\r\n\"Too large URL error\".
.Link
https://docs.microsoft.com/en-us/powershell/module/sysman.webapi/get-sysmanclientoperatingsystem
#>

function Get-SysManClientOperatingSystem {
[OutputType('SysMan.Powershell.Models.IOperatingSystemSearchItem')]
[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
[SysMan.Powershell.Description('Get the supported operating systems based on the provided client ids. Reason this is a\r\npost action is to allow a large number of clients ids to be sent as payload instead of through the URL to prevent a\r\n\"Too large URL error\".')]
param(
    [Parameter(ValueFromPipeline, HelpMessage='HELP MESSAGE MISSING')]
    [SysMan.Powershell.Category('Body')]
    [System.Int64[]]
    ${ClientIds},

    [Parameter(DontShow, HelpMessage='Wait for .NET debugger to attach')]
    [SysMan.Powershell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    ${Break},

    [Parameter(DontShow, HelpMessage='SendAsync Pipeline Steps to be appended to the front of the pipeline')]
    [ValidateNotNull()]
    [SysMan.Powershell.Category('Runtime')]
    [SysMan.Powershell.Runtime.SendAsyncStep[]]
    ${HttpPipelineAppend},

    [Parameter(DontShow, HelpMessage='SendAsync Pipeline Steps to be prepended to the front of the pipeline')]
    [ValidateNotNull()]
    [SysMan.Powershell.Category('Runtime')]
    [SysMan.Powershell.Runtime.SendAsyncStep[]]
    ${HttpPipelinePrepend},

    [Parameter(DontShow, HelpMessage='The URI for the proxy server to use')]
    [SysMan.Powershell.Category('Runtime')]
    [System.Uri]
    ${Proxy},

    [Parameter(DontShow, HelpMessage='Credentials for a proxy server to use for the remote call')]
    [ValidateNotNull()]
    [SysMan.Powershell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    ${ProxyCredential},

    [Parameter(DontShow, HelpMessage='Use the default credentials for the proxy')]
    [SysMan.Powershell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PsCmdlet.ParameterSetName
        $mapping = @{
            Get = 'SysMan.WebApi.private\Get-SysManClientOperatingSystem_Get';
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($myInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {
        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {
        throw
    }
}

end {
    try {
        $steppablePipeline.End()
    } catch {
        throw
    }
}
}