Public/Set-P1WebSSL.ps1
function Set-P1WebSSL { <# .Synopsis Enable or disable SSL for the PlannerOne Web server. .Description Enable or disable SSL for PlannerOne web application. Set certificate and binding on web site. Change REST web service security accordingly. .Parameter Tenant The target tenant. .Parameter Enable Enable SSL. .Parameter Disable Disable SSL. .Parameter SSLPort The port of binding. By default 443. .Parameter CertificateStore The store to use to get certificate. By default 'My' .Parameter CertificateFriendlyName The certificate friendly name to associate to binding. Exclusive option with thumbprint. .Parameter CertificateThumbprint The certificate thumbprint to associate to binding. Exclusive option with FriendlyName. .Parameter HostedIP The hosted ip associate to binding's certificate. 0.0.0.0 if not define. .Example # Enable SSL Set-P1WebSSL -Tenant Prod -Enable -CertificateFriendlyName server-prod-certif -Store Root .Example # Disable SSL on port 8443 Set-P1WebSSL -tenant PROD -Disable -SSLPort 8443 #> [cmdletbinding()] param( [Parameter(Mandatory=$true)] [string] $Tenant, [switch] $Enable, [switch] $Disable, [int] $SSLPort, [string] $CertificateStore, [string] $CertificateFriendlyName, [string] $CertificateThumbprint, [string] $HostedIP ) Process { Write-Section "Setting Web Application SSL" if ($Enable -and $Disable) { Write-Warning "You can only choose one option." return } if (!($Enable -or $Disable)) { Write-Warning "You need to choose one option." return } if (!(Test-Tenant $Tenant)) { Write-Warning "Tenant $Tenant does not exist." Write-Warning "Operation canceled." return; } Set-WebSSLInternal -Tenant $Tenant -Enable:$Enable.IsPresent -Disable:$Disable.IsPresent -SSLPort $SSLPort -CertificateStore $CertificateStore -CertificateFriendlyName $CertificateFriendlyName -CertificateThumbprint $CertificateThumbprint -HostedIP $HostedIP Register-P1WebServices $Tenant Write-OK "Web SSL enabled for tenant $Tenant" } } |