Save-PasswordStateDocument.ps1
<#
.SYNOPSIS Adds a new document to an existing PasswordState Resource. .DESCRIPTION Adds a new document to an existing PasswordState Resource. .PARAMETER resourcetype The resource type to add the document to. .PARAMETER Path File path to the document to be uploaded. .EXAMPLE Save-PasswordStateDocument -DocumentID 36 -resourcetype Password -Path C:\temp\1.csv .EXAMPLE Find-PasswordStatePassword test | Save-PasswordStateDocument -Path C:\temp\1.csv .NOTES Daryl Newsholme 2018 #> function Save-PasswordStateDocument { [CmdletBinding()] param ( [parameter(ValueFromPipelineByPropertyName, Position = 1)][ValidateSet( "password", "passwordlist", "folder" )][string]$resourcetype = "password", [parameter(ValueFromPipelineByPropertyName, Position = 2)][int32]$DocumentID, [parameter(ValueFromPipelineByPropertyName, Position = 4)][string]$Path ) begin { . "$(Get-NativePath -PathAsStringArray "$PSScriptroot","PasswordStateClass.ps1")" $output = @() } process { try { $output += Get-PasswordStateResource ` -uri "/api/document/$($resourcetype)/$($ID)/$documentID" ` -extraparams @{"OutFile" = "$Path"} ` -contenttype 'multipart/form-data' ` -ErrorAction stop } Catch { $_.Exception } } end { return (Get-Item $Path) } } |