46 lines
2.1 KiB
PowerShell

[CmdletBinding()]
param (
[Parameter(Mandatory)]
[string]$DomainName
)
Import-Module WebAdministration
# Get Certificate
Write-Host -ForegroundColor Yellow "Importing $DomainName Certificate...."
$Path = ($pwd).Path
$CertificateName = (Get-ChildItem $Path | Where { $_.Name -like "*$DomainName*.crt" }).Name
#certreq -accept "$Path\$CertificateName"
# Get Certificate details
$OldCert = Get-ChildItem Cert:\LocalMachine\My | Where-Object { $_.DnsNameList -like "*$DomainName*" } | Select-Object -Property Thumbprint, Subject, @{n = 'ExpireInDays'; e = { ($_.notafter - (Get-Date)).Days } } | Where-Object { $_.ExpireInDays -lt 300 }
$NewCert = Get-ChildItem Cert:\LocalMachine\My | Where-Object { $_.DnsNameList -like "*$DomainName*" } | Select-Object -Property Thumbprint, Subject, @{n = 'ExpireInDays'; e = { ($_.notafter - (Get-Date)).Days } } | Where-Object { $_.ExpireInDays -gt 300 }
$SelectedSite = Get-WebBinding
# Remove the existing binding
Remove-WebBinding -Name "Default Web Site" -Protocol "https"
# Create the binding for the selected site without the certificate
New-WebBinding -Name "Default Web Site" -Protocol "https" -Port 443 -SslFlags 0
# Get the binding for the selected site
$binding = Get-WebBinding -Name "Default Web Site" -Protocol "https"
# Add the new SSL certificate to the binding using Thumbprint
$binding.AddSslCertificate($NewCert.Thumbprint, "My")
#Remove Old Certificate
$Thumb = $OldCert.Thumbprint
Get-ChildItem Cert:\LocalMachine\My\$Thumb | Remove-Item
#$Cert_PWD = ConvertTo-SecureString -String "Passw0rd!" -Force -AsPlainText
#$exportPath = 'exported.pfx'
#$iiscert = Get-ChildItem Cert:\LocalMachine\My\$Thumb
#Export-PfxCertificate -Cert $iiscert -FilePath $exportPath -Password $Cert_PWD -Force
#Set-RDCertificate -Role RDGateway -ImportPath "$exportPath" -Password $Cert_PWD -Force
#Set-RDCertificate -Role RDWebAccess -ImportPath "$exportPath" -Password $Cert_PWD -Force
#Set-RDCertificate -Role RDRedirector -ImportPath "$exportPath" -Password $Cert_PWD -Force
#Set-RDCertificate -Role RDPublishing -ImportPath "$exportPath" -Password $Cert_PWD -Force