Functions/BloxOne/BloxOneTD/Enable-B1Lookalike.ps1
function Enable-B1Lookalike { <# .SYNOPSIS Unmutes a lookalike domain .DESCRIPTION This function is used to unmute a lookalike domain .PARAMETER LookalikeDomain One or more identified lookalikes to unmute .PARAMETER Force Perform the operation without prompting for confirmation. By default, this function will not prompt for confirmation unless $ConfirmPreference is set to Medium. .EXAMPLE PS> Enable-B1Lookalike -LookalikeDomain "google98.pro","return-tax-hmrc.com" Successfully unmuted lookalike: google98.pro Successfully unmuted lookalike: return-tax-hmrc.com .FUNCTIONALITY BloxOneDDI .FUNCTIONALITY Threat Defense .NOTES Used in combination with Disable-B1Lookalike to mute/unmute lookalike domains. #> [CmdletBinding( SupportsShouldProcess, ConfirmImpact = 'Medium' )] param( [Parameter(Mandatory=$true)] [String[]]$LookalikeDomain, [Switch]$Force ) $ConfirmPreference = Confirm-ShouldProcess $PSBoundParameters $JSONData = @{ "expose" = $LookalikeDomain } | ConvertTo-Json if($PSCmdlet.ShouldProcess("Enable Lookalike Domain(s): $($LookalikeDomain -join ', ')","Enable Lookalike Domain(s): $($LookalikeDomain -join ', ')",$MyInvocation.MyCommand)){ $null = Invoke-CSP -Method PATCH -Uri "$(Get-B1CSPUrl)/api/atclad/v1/lookalikes" -Data $($JSONData) -ErrorAction SilentlyContinue -WarningAction SilentlyContinue foreach ($UnmutedDomain in $LookalikeDomain) { if (Get-B1Lookalikes -LookalikeDomain $($UnmutedDomain) -Muted false) { Write-Host "Successfully unmuted lookalike domain: $($UnmutedDomain)" -ForegroundColor Green } else { Write-Host "Failed to unmute lookalike domain: $($UnmutedDomain)" -ForegroundColor Red } } } } |