functions/Save-PasswordStateDocument.ps1
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, [parameter(ValueFromPipelineByPropertyName, Position = 5)][string]$Reason ) begin { $output = @() } process { $headerreason = @{'Reason' = "$Reason" } try { $splatparams = @{ "uri" = "/api/document/$($resourcetype)/$documentID" "extraparams" = @{ "OutFile" = "$Path" "Headers" = $headerreason } "contenttype" = 'multipart/form-data' "ErrorAction" = "stop" } $output += Get-PasswordStateResource @splatparams } Catch { $_.Exception } } end { return (Get-Item $Path) } } |