Public/falconx-actors.ps1
function Get-FalconActor { [CmdletBinding(DefaultParameterSetName = '/intel/queries/actors/v1:get')] param( [Parameter(ParameterSetName = '/intel/entities/actors/v1:get', Mandatory = $true, Position = 1)] [array] $Ids, [Parameter(ParameterSetName = '/intel/queries/actors/v1:get', Position = 1)] [Parameter(ParameterSetName = '/intel/combined/actors/v1:get', Position = 1)] [ValidateScript({ Test-FqlStatement $_ })] [string] $Filter, [Parameter(ParameterSetName = '/intel/queries/actors/v1:get', Position = 2)] [Parameter(ParameterSetName = '/intel/combined/actors/v1:get', Position = 2)] [string] $Query, [Parameter(ParameterSetName = '/intel/queries/actors/v1:get', Position = 3)] [Parameter(ParameterSetName = '/intel/combined/actors/v1:get', Position = 3)] [ValidateSet('name|asc', 'name|desc', 'target_countries|asc', 'target_countries|desc', 'target_industries|asc', 'target_industries|desc', 'type|asc', 'type|desc', 'created_date|asc', 'created_date|desc', 'last_activity_date|asc', 'last_activity_date|desc', 'last_modified_date|asc', 'last_modified_date|desc')] [string] $Sort, [Parameter(ParameterSetName = '/intel/queries/actors/v1:get', Position = 4)] [Parameter(ParameterSetName = '/intel/combined/actors/v1:get', Position = 4)] [ValidateRange(1,5000)] [int] $Limit, [Parameter(ParameterSetName = '/intel/queries/actors/v1:get', Position = 5)] [Parameter(ParameterSetName = '/intel/combined/actors/v1:get', Position = 5)] [int] $Offset, [Parameter(ParameterSetName = '/intel/entities/actors/v1:get', Position = 6)] [Parameter(ParameterSetName = '/intel/combined/actors/v1:get', Position = 6)] [array] $Fields, [Parameter(ParameterSetName = '/intel/combined/actors/v1:get', Mandatory = $true)] [switch] $Detailed, [Parameter(ParameterSetName = '/intel/queries/actors/v1:get')] [Parameter(ParameterSetName = '/intel/combined/actors/v1:get')] [switch] $All, [Parameter(ParameterSetName = '/intel/queries/actors/v1:get')] [switch] $Total ) begin { $Fields = @{ Query = 'q' } } process { $Param = @{ Command = $MyInvocation.MyCommand.Name Endpoint = $PSCmdlet.ParameterSetName Inputs = Update-FieldName -Fields $Fields -Inputs $PSBoundParameters Format = @{ Query = @('sort', 'limit', 'ids', 'filter', 'offset', 'fields', 'q') } } Invoke-Falcon @Param } } |