public/Remove-VSAGetFile.ps1
|
function Remove-VSAGetFile { <# .Synopsis Deletes a file on the Agent Procedures > Get File page. .DESCRIPTION Deletes a file on the Agent Procedures > Get File page. Takes either persistent or non-persistent connection information. .PARAMETER VSAConnection Specifies existing non-persistent VSAConnection. .PARAMETER URISuffix Specifies URI suffix if it differs from the default. .PARAMETER Path Specifies Relative path to the file. .PARAMETER AgentId Specifies the agent whose captured file is removed. .EXAMPLE Remove-VSAGetFile -AgentId 10001 -Path 'File.ext' .EXAMPLE Remove-VSAGetFile -AgentId 10001 -Path 'File.ext' -VSAConnection $connection .INPUTS Accepts piped non-persistent VSAConnection .OUTPUTS True if successful. #> [CmdletBinding(SupportsShouldProcess)] [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '', Justification = 'ShouldProcess is invoked centrally by Invoke-VSAWriteRequest, which receives this cmdlet''s $PSCmdlet via -Caller (module-wide pattern).')] param ( [parameter(Mandatory = $false, ValueFromPipelineByPropertyName = $true)] [ValidateNotNull()] [VSAConnection] $VSAConnection, [parameter(DontShow, Mandatory=$false)] [ValidateNotNullOrEmpty()] [string] $URISuffix = 'api/v1.0/assetmgmt/getfiles/{0}/{1}', [Parameter(Mandatory = $true)] [ValidateScript({ if( $_ -notmatch "^\d+$" ) { throw "Non-numeric Id" } return $true })] [string] $AgentId, [Parameter(Mandatory = $true)] [ValidateNotNullOrEmpty()] [string] $Path ) process { $Path = $Path -replace '\\', '/' return Invoke-VSAWriteRequest -Method 'DELETE' -URISuffix ($($URISuffix -f $AgentId, (Format-VSAPathSegment $Path))) -VSAConnection $VSAConnection -Caller $PSCmdlet } } Export-ModuleMember -Function Remove-VSAGetFile |