ps/Modules/Alkami.PowerShell.IIS/Public/Remove-WebBinding.ps1

48 lines
1.3 KiB
PowerShell
Raw Normal View History

2023-05-30 22:51:22 -07:00
function Remove-WebBinding {
<#
.SYNOPSIS
Remove the webbinding on a given site + url + if it's SSL or not.
#>
[CmdletBinding()]
[OutputType([System.Boolean])]
Param(
[Parameter(Mandatory = $true)]
[string]$website,
[Parameter(Mandatory = $true)]
[string]$url,
[Parameter(Mandatory = $false)]
[switch]$ssl
)
$logLead = (Get-LogLeadName);
$mgr = New-Object Microsoft.Web.Administration.ServerManager
[string]$hostHeader = [string]::Empty
if ($ssl) {
$hostHeader = ("*:443:{0}" -f $url)
}
else {
$hostHeader = ("*:80:{0}" -f $url)
}
if ($null -eq $mgr.Sites[$website]) {
Write-Host ("$logLead : Website {0} does not exist" -f $website)
return $false
}
else {
[object] $targetBinding = $null
foreach ($webBinding in $mgr.Sites[$website].Bindings) {
if ($webBinding.bindingInformation -eq $hostHeader) {
Write-Output ("$logLead : Site: {0}" -f $website)
Write-Output ("$logLead : Remove binding: {0}" -f $webBinding)
$targetBinding = $webBinding
}
}
$mgr.Sites[$website].Bindings.Remove($targetBinding)
}
$mgr.CommitChanges()
}
#Set-Alias -name Create-ClientWebBinding -value New-ClientWebBinding;