Configurations-OnPrem/ArcGISPortalTLSSettings.ps1
|
Configuration ArcGISPortalTLSSettings { param( [Parameter(Mandatory=$True)] [System.String] $Version, [Parameter(Mandatory=$true)] [ValidateNotNullorEmpty()] [System.Management.Automation.PSCredential] $PortalAdministratorCredential, [Parameter(Mandatory=$False)] [System.Boolean] $EnableHSTS = $False ) Import-DscResource -ModuleName PSDesiredStateConfiguration Import-DscResource -ModuleName ArcGIS -ModuleVersion 5.1.0 -Name ArcGIS_Portal_TLS Node $AllNodes.NodeName { if($Node.Thumbprint){ LocalConfigurationManager { CertificateId = $Node.Thumbprint } } $ImportCertChainValue = $true # default to true $ForceImportCertificate = $false if ([version]$Version -ge [version]"11.3") { if ($Node.SSLCertificate -and $Node.SSLCertificate.ImportCertificateChain -ne $null) { $ImportCertChainValue = $Node.SSLCertificate.ImportCertificateChain } if ($Node.SSLCertificate -and $Node.SSLCertificate.ForceImport -ne $null) { $ForceImportCertificate = $Node.SSLCertificate.ForceImport } } ArcGIS_Portal_TLS ArcGIS_Portal_TLS { Version = $Version PortalHostName = $Node.NodeName SiteAdministrator = $PortalAdministratorCredential WebServerCertificateAlias = if($Node.SSLCertificate){$Node.SSLCertificate.CName}else{$null} CertificateFileLocation = if($Node.SSLCertificate){$Node.SSLCertificate.Path}else{$null} CertificatePassword = if($Node.SSLCertificate){$Node.SSLCertificate.Password}else{$null} SslRootOrIntermediate = if($Node.SslRootOrIntermediate){$Node.SslRootOrIntermediate}else{$null} EnableHSTS = $EnableHSTS ImportCertificateChain = $ImportCertChainValue ForceImportCertificate = $ForceImportCertificate } } } |