Functions/Private/CertJson/Get-CertHash.ps1
function Get-CertHash { begin { $allCerts = Get-CertInfo -UserCerts $shaFuncDef = ${function:Get-CertBySHA}.ToString() $deploymentTableDef = ${function:New-DeploymentTable}.ToString() $resultsArrayP = [System.Collections.Concurrent.ConcurrentDictionary[string, object]]::new() } process { $allCerts | Foreach-Object -ThrottleLimit 5 -Parallel { $resultsArrayP = $using:resultsArrayP ${function:Get-CertBySHA} = $using:shaFuncDef ${function:New-DeploymentTable} = $using:deploymentTableDef $item = get-CertBySHA -sha1 $PSItem.sha1 if ($item) { $resultsArrayP.AddOrUpdate("$($PSItem.sha1)", $item, { $item } ) | Out-Null } } } end { return $resultsArrayP } } |