Functions/BloxOne/BloxOneTD/Remove-B1LookalikeTarget.ps1
function Remove-B1LookalikeTarget { <# .SYNOPSIS Remove a lookalike target domain from the account .DESCRIPTION This function is used to remove a lookalike target domain from the account. The Lookalike Target Domains are second-level domains BloxOne uses to detect lookalike FQDNs against, i.e the list of defined lookalike domains to monitor. .PARAMETER Domain This is the domain to be removed from the watched lookalike domain list .PARAMETER NoWarning Using -NoWarning will stop warnings prior to deleting a lookalike .EXAMPLE PS> Remove-B1LookalikeTarget -Domain "mydomain.com" .FUNCTIONALITY BloxOneDDI .FUNCTIONALITY BloxOne Threat Defense .NOTES Credits: Ollie Sheridan #> param( [Parameter(Mandatory=$true)] [String[]]$Domain, [Switch]$NoWarning ) $LookalikeTargetList = Get-B1LookalikeTargets foreach ($DomainToRemove in $Domain) { if ($DomainToRemove -in $($LookalikeTargetList | Select-Object -ExpandProperty items_described | Select-Object -ExpandProperty item)) { $LookalikeTargetList.items_described = $LookalikeTargetList.items_described | Where-Object {$_.item -ne $($DomainToRemove)} if (!$NoWarning) { Write-Warning "Are you sure you want to delete: $($Domain)?" -WarningAction Inquire } $Changed = $true } else { Write-Host "Lookalike target does not exist: $($DomainToRemove)" -ForegroundColor Yellow } } if ($Changed) { $Result = Query-CSP -Uri "$(Get-B1CspUrl)/api/tdlad/v1/lookalike_targets" -Method PUT -Data ($LookalikeTargetList | Select-Object items_described | ConvertTo-Json -Depth 5) $LookalikeTargetList = Get-B1LookalikeTargets foreach ($DomainToRemove in $Domain) { if ($DomainToRemove -in $($LookalikeTargetList | Select-Object -ExpandProperty items_described | Select-Object -ExpandProperty item)) { Write-Error "Failed to remove lookalike target: $($DomainToRemove)" } else { Write-Host "Successfully removed lookalike target: $($DomainToRemove)" -ForegroundColor Green } } } } |