functions/SPClientFile/ConvertTo-SPClientFile.ps1
#Requires -Version 3.0 <# ConvertTo-SPClientFile.ps1 Copyright (c) 2017 karamem0 This software is released under the MIT License. https://github.com/karamem0/SPClient/blob/master/LICENSE #> function ConvertTo-SPClientFile { <# .SYNOPSIS Converts list item to file. .DESCRIPTION The ConvertTo-SPClientFile function converts the list item to file. .PARAMETER ClientContext Indicates the client context. If not specified, uses a default context. .PARAMETER InputObject Indicates the list item. .PARAMETER Retrieval Indicates the data retrieval expression. .EXAMPLE ConvertTo-SPClientFile $item .INPUTS None or SPClient.SPClientFileConvertPipeBind .OUTPUTS Microsoft.SharePoint.Client.File .LINK https://github.com/karamem0/SPClient/blob/master/doc/ConvertTo-SPClientFile.md #> [CmdletBinding()] param ( [Parameter(Mandatory = $false)] [Microsoft.SharePoint.Client.ClientContext] $ClientContext = $SPClient.ClientContext, [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)] [SPClient.SPClientFileConvertPipeBind] $InputObject, [Parameter(Mandatory = $false)] [string] $Retrieval ) process { if ($ClientContext -eq $null) { throw "Cannot bind argument to parameter 'ClientContext' because it is null." } $ClientObject = $InputObject.ClientObject.File Invoke-ClientContextLoad ` -ClientContext $ClientContext ` -ClientObject $ClientObject ` -Retrieval $Retrieval if ($ClientObject.ServerObjectIsNull) { throw 'Cannot convert list item to file because it is a folder or it is located in a document library.' } Write-Output $ClientObject } } |