Public/discover.ps1
function Get-FalconAsset { [CmdletBinding(DefaultParameterSetName = '/discover/queries/hosts/v1:get')] param( [Parameter(ParameterSetName = '/discover/entities/hosts/v1:get', Mandatory = $true, Position = 1)] [ValidatePattern('^\w{32}_\w+$')] [array] $Ids, [Parameter(ParameterSetName = '/discover/queries/hosts/v1:get', Position = 1)] [ValidateScript({ Test-FqlStatement $_ @('agent_version','aid','bios_manufacturer','bios_version','cid','city', 'confidence','country','current_local_ip','discoverer_aids','discoverer_count', 'discoverer_platform_names','discoverer_product_type_descs','discoverer_tags','entity_type', 'external_ip','first_discoverer_aid','first_discoverer_ip','first_seen_timestamp','groups', 'hostname','id','kernel_version','last_discoverer_aid','last_seen_timestamp','local_ips_count', 'machine_domain','network_interfaces','network_interfaces.interface_alias', 'network_interfaces.interface_description','network_interfaces.local_ip', 'network_interfaces.mac_address','network_interfaces.network_prefix','os_version','ou', 'platform_name','product_type','product_type_desc','site_name','system_manufacturer', 'system_product_name','system_serial_number','tags') })] [string] $Filter, [Parameter(ParameterSetName = '/discover/queries/hosts/v1:get', Position = 2)] [string] $Sort, [Parameter(ParameterSetName = '/discover/queries/hosts/v1:get', Position = 3)] [ValidateRange(1,100)] [int] $Limit, [Parameter(ParameterSetName = '/discover/queries/hosts/v1:get', Position = 4)] [int] $Offset, [Parameter(ParameterSetName = '/discover/queries/hosts/v1:get')] [switch] $Detailed, [Parameter(ParameterSetName = '/discover/queries/hosts/v1:get')] [switch] $All, [Parameter(ParameterSetName = '/discover/queries/hosts/v1:get')] [switch] $Total ) process { $Param = @{ Command = $MyInvocation.MyCommand.Name Endpoint = $PSCmdlet.ParameterSetName Inputs = $PSBoundParameters Format = @{ Query = @('filter', 'q', 'sort', 'limit', 'offset', 'ids') } Max = 100 } Invoke-Falcon @Param } } |