Created
August 2, 2022 12:09
-
-
Save chris-bradbury/451196ee61fb02e16773bd0edc43af7f to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
##-- Import Posh-ACME Module --## | |
Import-Module -Name Posh-ACME | |
##-- set the server. LE_STAGE or LE_PROD --## | |
Set-PAServer LE_PROD | |
##-- set up letsencrypt acount if it doesn't already exist --## | |
If(!(Get-PAAccount)){ | |
New-PAAccount -AcceptTOS -Contact "<--email address for contact-->" | |
} | |
##-- set up cloudflare --## | |
$CloudFlareToken = @{ CFTokenInsecure = '<--cloudflare token-->' } | |
##-- generate the certificate setting using DNS verification through CloudFlare --## | |
New-PACertificate <--lansweeper URL--> -DnsPlugin Cloudflare -PluginArgs $CloudFlareToken -Force | |
##-- let's get the source of the pfx certificate --## | |
$PAPFXCert = Get-PACertificate | Select PfxFile | |
##-- set the certificate password --## | |
$Password = ConvertTo-SecureString -String "poshacme" -AsPlainText -Force | |
##-- import the certificate & grab the result --## | |
$PAPFXImport = Import-PfxCertificate -FilePath $PAPFXCert.PfxFile -CertStoreLocation Cert:\LocalMachine\My -Password $Password | |
##-- get the certificate object --## | |
$CertObj= Get-ChildItem "Cert:\LocalMachine\my\$($PAPFXImport.Thumbprint)" | |
##-- get the thumbprint of the certificate --## | |
$CertThumb = $CertObj.Thumbprint | |
##-- stop the IIS Express service --## | |
Stop-Service "IIS Express service" | |
##-- replace the thumbprint in the config --## | |
##-- path of the lansweeper config --## | |
$lansweeperConfig = "C:\Program Files (x86)\Lansweeper\IISexpress\IISExpressSvc.exe.config" | |
##-- read in the contents of the lansweeper config --## | |
$lansweeperConfigRead = Get-Content -Path $lansweeperConfig | |
##-- create the text to swap in to the config containing the new thumbprint --## | |
$lansweeperConfigReplacedText = "add key=`"CertificateThumbPrint`" value=`"$($CertThumb)`"" | |
##-- replace the old thumbprint text with the new --## | |
$lansweeperConfigReplace = $lansweeperConfigRead -replace ".*\`"CertificateThumbPrint\`" value=\`".*\`"",$lansweeperConfigReplacedText | |
##-- write the replaced config back --## | |
Set-Content -Path $lansweeperConfig -Value $lansweeperConfigReplace | |
##-- start the IIS Express service --## | |
Start-Service "IIS Express service" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment