exports/Import-SysManClientComputerDetail.ps1

<#
.Synopsis
Imports additional details about computers into SysMan. The computers needs to already exists in SysMan. Computers that does not exists in SysMan will be ignored in the import. Any null value will be treated as \"empty values\" and will not override existing value.
.Description
Imports additional details about computers into SysMan. The computers needs to already exists in SysMan. Computers that does not exists in SysMan will be ignored in the import. Any null value will be treated as \"empty values\" and will not override existing value.
.Link
https://docs.microsoft.com/en-us/powershell/module/sysman.webapi/import-sysmanclientcomputerdetail
#>

function Import-SysManClientComputerDetail {
[OutputType('SysMan.Powershell.Models.IImportClientDetailsCountResult')]
[CmdletBinding(DefaultParameterSetName='Import', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
[SysMan.Powershell.Description('Imports additional details about computers into SysMan. The computers needs to already exists in SysMan. Computers that does not exists in SysMan will be ignored in the import. Any null value will be treated as \"empty values\" and will not override existing value.')]
param(
    [Parameter(ParameterSetName='Import', ValueFromPipeline, HelpMessage='Import details about a computer')]
    [SysMan.Powershell.Category('Body')]
    [SysMan.Powershell.Models.IImportComputerDetailsCommand]
    ${Cmd},

    [Parameter(ParameterSetName='ImportExpanded', HelpMessage='The clients to import')]
    [SysMan.Powershell.Category('Body')]
    [SysMan.Powershell.Models.IClientDetailsImport[]]
    ${Clients},

    [Parameter(ParameterSetName='ImportExpanded', Mandatory, HelpMessage='The source which performed the import')]
    [SysMan.Powershell.Category('Body')]
    [System.String]
    ${Source},

    [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 = @{
            Import = 'SysMan.WebApi.private\Import-SysManClientComputerDetail_Import';
            ImportExpanded = 'SysMan.WebApi.private\Import-SysManClientComputerDetail_ImportExpanded';
        }
        $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
    }
}
}