exports/Move-SysManClientToStorage.ps1

<#
.Synopsis
Move clients to the configured Storage ou, this is intended for computers that not is active, but going to be in use again later.
.Description
Move clients to the configured Storage ou, this is intended for computers that not is active, but going to be in use again later.
.Link
https://docs.microsoft.com/en-us/powershell/module/sysman.webapi/move-sysmanclienttostorage
#>

function Move-SysManClientToStorage {
[OutputType('System.Boolean')]
[CmdletBinding(DefaultParameterSetName='Move', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
[SysMan.Powershell.Description('Move clients to the configured Storage ou, this is intended for computers that not is active, but going to be in use again later.')]
param(
    [Parameter(ParameterSetName='Move', ValueFromPipeline, HelpMessage='Command for move Clients')]
    [SysMan.Powershell.Category('Body')]
    [SysMan.Powershell.Models.IMoveClientsCommand]
    ${Cmd},

    [Parameter(HelpMessage='When specified, PassThru will force the cmdlet return a ''bool'' given that there isn''t a return type by default.')]
    [SysMan.Powershell.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    ${PassThru},

    [Parameter(ParameterSetName='MoveExpanded', HelpMessage='The target that will be moved')]
    [SysMan.Powershell.Category('Body')]
    [System.Int64[]]
    ${Targets},

    [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 = @{
            Move = 'SysMan.WebApi.private\Move-SysManClientToStorage_Move';
            MoveExpanded = 'SysMan.WebApi.private\Move-SysManClientToStorage_MoveExpanded';
        }
        $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
    }
}
}