Я хочу установить для параметра «Аутентификация сертификата клиента Active Directory» значение «ИСТИНА» для веб-сервера с использованием конфигурации требуемого состояния (DSC).

Я хочу использовать для этого командлет xWebAdministration.

Путь IIS для установки значения: system.webServer/security/authentication/clientCertificateMappingAuthentication

У меня уже есть этот скрипт, но значение не было установлено правильно:

# Client Certificate Mapping Authentication should be present
        WindowsFeature ActiveDirectoryClientCertificateAuthentication
        {
            Name        = "Web-Cert-Auth"
            Ensure      = "Present"
            DependsOn   = "[WindowsFeature]IIS"
        }

        # Client Certificate Mapping Authentication should be present
        WindowsFeature Web-Client-Auth
        {
            Name    = "Web-Client-Auth"
            Ensure  = "Present"
        }

Как этого достичь?

1 ответ1

0

2 исправления в моем скрипте, чтобы заставить его работать.

Я удалил установку функции Web-Cert-Auth, потому что Web-Cert-Auth предназначен для сопоставления сертификатов IIS (который мне не нужен). Функция Windows Web-Client-Auth предназначена для сопоставления сертификатов клиента AD, что мне нужно.

Затем я добавил этот встроенный скрипт:

# (Active Directory) Client Certificate Mapping Authentication should be enabled 
        Script EnableClientCertificateAuthentication
        {
            GetScript = {
                Return @{
                    Result = [string]$((Get-WebConfiguration -filter /system.webServer/security/authentication/clientCertificateMappingAuthentication).enabled)
                }
            }

            TestScript = {
                If ((Get-WebConfiguration -filter /system.webServer/security/authentication/clientCertificateMappingAuthentication).enabled) {
                    Write-Verbose "ClientCertificateAuthentication is on"
                    Return $true
                } Else {
                      Write-Verbose "ClientCertificateAuthentication is off"
                    Return $false
                }
            }

            SetScript = {
                Write-Verbose "Enabling ClientCertificateAuthentication"
                Set-WebConfigurationProperty -filter /system.webServer/security/authentication/clientCertificateMappingAuthentication -name enabled -value true -PSPath IIS:\
            }

            DependsOn = "[WindowsFeature]Web-Client-Auth"
        }

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .