test-CertificateThumbprint.ps1
|
function test-CertificateThumbprint { Param ( [Parameter(Mandatory = $true)] [string]$msGraphCertificateThumbprint ) out-logfile -string "Entering test-CertificateThumbprint" out-logfile -string "Testing to ensure that certificate thumbprint is propertly formatted string." $cleanTP = $msGraphCertificateThumbprint -replace '\s+', '' -replace '[\u200E\u200F]', '' if ($cleanTP -match '^(?:[0-9A-Fa-f]{40}|[0-9A-Fa-f]{64})$') { out-logfile -string "Certificate thumbprint is properly formatted." } else { out-logfile -string "Certificate thumbprint is not properly formatted." out-logfile -string "CERTIFICATE_THUMBPRINT_FORMAT_EXCEPTION: Certificate thumbprint is not properly formatted" -isError:$TRUE } out-logfile -string "Testing to ensure that certificate is in LocalMachine\My or CurrentUser\My" if (Test-Path "Cert:\LocalMachine\My\$msGraphCertificateThumbprint") { out-logfile -string "Certificate found in LocalMachine\My" } elseif (Test-Path "Cert:\CurrentUser\My\$msGraphCertificateThumbprint") { out-logfile -string "Certificate found in CurrentUser\My" } else { out-logfile -string "Certificate not found in LocalMachine\My or CurrentUser\My" out-logfile -string "CERTIFICATE_NOT_FOUND_BY_THUMBPRINT_EXCEPTION" -isError:$TRUE } out-logfile -string "Exiting test-CertificateThumbprint" } |