48 lines
1.3 KiB
PowerShell
48 lines
1.3 KiB
PowerShell
|
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;
|