Functions/FoldersFiles/Set-PVFileCategory.ps1
Function Set-PVFileCategory { <# .SYNOPSIS Updates an existing File Category for a file or password. .DESCRIPTION Exposes the PACLI Function: "UPDATEFILECATEGORY" .PARAMETER vault The defined Vault name .PARAMETER user The Username of the authenticated User. .PARAMETER safe The name of the Safe where the File Category is being updated. .PARAMETER folder The folder containing a file with a File Category attached to it. .PARAMETER file The name of the file or password that is attached to a File Category. .PARAMETER category The name of the File Category. .PARAMETER value The value of the File Category for the file. .PARAMETER sessionID The ID number of the session. Use this parameter when working with multiple scripts simultaneously. The default is ‘0’. .EXAMPLE Set-PVFileCategory -vault Lab -user administrator -safe Reports -folder root -file Access ` -category NextReview -value 1/6/18 Updates value of existing File Category "NextReview" on file "Access" .NOTES AUTHOR: Pete Maan #> [CmdLetBinding(SupportsShouldProcess)] [Diagnostics.CodeAnalysis.SuppressMessageAttribute("PSShouldProcess", "", Justification = "ShouldProcess handling is in Invoke-PACLICommand")] param( [Parameter( Mandatory = $True, ValueFromPipelineByPropertyName = $True)] [string]$vault, [Parameter( Mandatory = $True, ValueFromPipelineByPropertyName = $True)] [string]$user, [Parameter( Mandatory = $True, ValueFromPipelineByPropertyName = $True)] [Alias("Safename")] [string]$safe, [Parameter( Mandatory = $True, ValueFromPipelineByPropertyName = $True)] [string]$folder, [Parameter( Mandatory = $True, ValueFromPipelineByPropertyName = $True)] [Alias("Filename")] [string]$file, [Parameter( Mandatory = $True, ValueFromPipelineByPropertyName = $True)] [Alias("CategoryName")] [string]$category, [Parameter( Mandatory = $True, ValueFromPipelineByPropertyName = $True)] [Alias("CategoryValue")] [string]$value, [Parameter( Mandatory = $False, ValueFromPipelineByPropertyName = $True)] [int]$sessionID ) PROCESS { $Return = Invoke-PACLICommand $Script:PV.ClientPath UPDATEFILECATEGORY $($PSBoundParameters.getEnumerator() | ConvertTo-ParameterString) if($Return.ExitCode -eq 0) { Write-Verbose "File Category $category Updated" [PSCustomObject] @{ "vault" = $vault "user" = $user "sessionID" = $sessionID } | Add-ObjectDetail -TypeName pacli.PoShPACLI } } } |