Functions/NetworkAreas/Remove-PVNetworkAreaAddress.ps1
Function Remove-PVNetworkAreaAddress { <# .SYNOPSIS Deletes an IP address from an existing Network Area. .DESCRIPTION Exposes the PACLI Function: "DELETEAREAADDRESS" .PARAMETER vault The defined Vault name .PARAMETER user The Username of the authenticated User. .PARAMETER networkArea The name of the Network Area from which to delete an IP address .PARAMETER ipAddress The IP address to delete from the Network Area. .PARAMETER sessionID The ID number of the session. Use this parameter when working with multiple scripts simultaneously. The default is ‘0’. .EXAMPLE Remove-PVNetworkAreaAddress -vault lab -user administrator -networkArea all\VPN -ipAddress 20.54.118.55 Deletes Area address 20.54.118.55 from VPN network area .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)] [string]$networkArea, [Parameter( Mandatory = $True, ValueFromPipelineByPropertyName = $True)] [string]$ipAddress, [Parameter( Mandatory = $False, ValueFromPipelineByPropertyName = $True)] [int]$sessionID ) PROCESS { $Return = Invoke-PACLICommand $Script:PV.ClientPath DELETEAREAADDRESS $($PSBoundParameters.getEnumerator() | ConvertTo-ParameterString) if($Return.ExitCode -eq 0) { Write-Verbose "Address $ipAddress Removed from Network Area $networkArea" [PSCustomObject] @{ "vault" = $vault "user" = $user "sessionID" = $sessionID } | Add-ObjectDetail -TypeName pacli.PoShPACLI } } } |