FetchCertificate.ps1
function FetchCertificate { <# .SYNOPSIS This function ... .DESCRIPTION A bit more description .PARAMETER FromPipeline Shows how to process input from the pipeline, remaining parameters or by named parameter. .EXAMPLE FetchCertificate 'abc' Description of the example. #> <# Enable -Confirm and -WhatIf. #> [CmdletBinding(SupportsShouldProcess = $true)] param( $storeName, $storeLocation, $certFindValue ) begin { } process { #$certFindValue = "CN=QlikClient" $store = New-Object System.Security.Cryptography.X509Certificates.X509Store $storeName, $storeLocation $certs = @() try { $store.Open("ReadOnly") $certs = $store.Certificates | ?{$_.FriendlyName -eq $certFindValue} #("FindBySubjectDistinguishedName", $certFindValue, $false) } catch { Write-Host "Caught an exception:" -ForegroundColor Red Write-Host "Exception Type: $($_.Exception.GetType().FullName)" -ForegroundColor Red Write-Host "Exception Message: $($_.Exception.Message)" -ForegroundColor Red } finally{ $store.Close() } return $certs } end { } } |