Como definir a autenticação de certificado do cliente AD usando o DSC

0

Eu quero definir a Autenticação de Certificado do Cliente do Active Directory como TRUE para um servidor da Web usando a Configuração de Estado Desejado (DSC).

Eu quero usar o cmdlet xWebAdministration para isso.

O caminho do IIS para definir o valor é: system.webServer / security / authentication / clientCertificateMappingAuthentication

Já tenho este script, mas o valor não foi definido corretamente:

# 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"
        }

Como isso pode ser alcançado?

    
por Patrick Peters 17.08.2016 / 08:35

1 resposta

0

2 correcções no meu script para que funcione.

Eu removi a instalação do recurso Web-Cert-Auth, porque o Web-Cert-Auth é para o mapeamento de certificado do IIS (que eu não preciso). Recurso do Windows Web-Client-Auth é para mapeamento de certificado de cliente do AD, que eu preciso.

Em seguida, adicionei este script in-line:

# (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"
        }
    
por 24.08.2016 / 08:06

Tags