Private/Bulk/Invoke-APIBulkSummaryOnypheIP.ps1
|
Function Invoke-APIBulkSummaryOnypheIP { <# .SYNOPSIS create several input for Invoke-OnypheAPIV2 function and then call it to get the all available info for an array of IPs based on a file input from Bulk/summary/ip API .DESCRIPTION create several input for Invoke-OnypheAPIV2 function and then call it to get the all available info for an array of IPs based on a file input from Bulk/summary/ip API .PARAMETER FilePath -FilePath string{full path to an existing text file} full path to input file to send to onyphe API .PARAMETER OutFile -OutFile string{full path to a new file for exporting json data} full path to output file used to write json data from Onyphe .PARAMETER APIKEY -APIKey string{APIKEY} Set APIKEY as global variable. .OUTPUTS TypeName: System.Management.Automation.PSCustomObject .EXAMPLE export all info available as JSON for all IPs contained in listip.txt C:\PS> Invoke-APIBulkSummaryOnypheIP -FilePath .\listip.txt -OutFile .\results.json .EXAMPLE export all info available as JSON for all IPs contained in listip.txt and set the API Key C:\PS> Invoke-APIBulkSummaryOnypheIP -FilePath .\listip.txt -APIKey "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" -OutFile .\results.json #> [cmdletbinding()] Param ( [parameter(ValueFromPipelineByPropertyName=$true,ValueFromPipeline=$true,Mandatory=$true)] [Alias("input")] [ValidateScript({(test-path $_)})] [string]$FilePath, [parameter(Mandatory=$true)] [ValidateScript({!(test-path $_)})] [string]$OutFile, [parameter(Mandatory=$false)] [ValidateLength(40,40)] [string]$APIKey, [parameter(Mandatory=$false)] [ValidateNotNullOrEmpty()] [hashtable]$FuncInput ) process { $params = @{ Endpoint = 'summary/ip' FilePath = $FilePath OutFile = $OutFile } if ($APIKey) { $params.APIKey = $APIKey } if ($FuncInput) { $params.FuncInput = $FuncInput } Invoke-OnypheBulkFileUpload @params } } |