вторник, 14 августа 2018 г.

Как установить Windows Admin Center с сертификатом от Let's Encrypt

Воспользоваться скриптом по получению сертификата от LE и добавить туда следующий код в конец:

#ниже код установки Windows Admin Center
function Install-WAC ($WacMsiFilePath, $WacCertThumbprint) {
    $WacLogPath=$env:TMP+'\WAC_installation_log.txt'
    if (Test-Path $WacMsiFilePath) {
        if ((ls Cert:\LocalMachine\my | ? Thumbprint -eq $WacCertThumbprint)) {
            #Установить Wac из файла $WacMsiFilePath, лог установки пишется $WacLogPath
            $MsiCmd="msiexec /i $WacMsiFilePath /qn /L*v $WacLogPath "
            #порт через который будет работать
            #в данном примере https://server.domain:8443
            $MsiCmd+="SME_PORT=8443 "
            #указание какой сертификат выбрать
            $MsiCmd+="SME_THUMBPRINT=$WacCertThumbprint"
            #говорим, что сертифика у нас уже установлен
            $MsiCmd+="SSL_CERTIFICATE_OPTION=installed"
            #запускаем установку WAC
            RunCMD $MsiCmd
            #документация по работе с WAC
            #https://docs.microsoft.com/en-us/windows-server/manage/windows-admin-center/overview
            return $true
        } else {
            Write-Host "Сертификат с отпечатком $WacCertThumbprint не обнаружен" -ForegroundColor DarkRed
            return $false
        }
    } else {
        
        Write-Host "MSI файл $WacMsiFilePath не найден по пути $WacMsiFilePath" -ForegroundColor DarkRed

        return $false
    }
}

#заменить путь установщика на новый
$WacMsiFilePath='c:\tmp\WindowsAdminCenter.msi'
###
if (!(Test-Path $WacMsiFilePath)) {
    "Скачиваем WAC с сайта"
    $WacFolder=Split-Path -Parent -Path $WacMsiFilePath
    if (!(Test-Path $WacFolder)) {mkdir $WacFolder}
    Invoke-WebRequest -Uri 'http://aka.ms/WACDownload' -OutFile $WacMsiFilePath
}
if (Install-WAC $WacMsiFilePath ($ImportCertPFX.Thumbprint)) {
    rm $WacMsiFilePath -Force
} else {
    Write-Host "Установка WAC не завершена!!" -BackgroundColor Red
    pause
    exit
}

Комментариев нет:

Отправить комментарий