function Add-CertificatesToInventoryDictionary { <# .SYNOPSIS Adds Certificates to the Inventory Dictionary. #> [CmdletBinding()] param( [Parameter(Mandatory = $true)] [Object[]]$certificates ) $logLead = (Get-LogLeadName); $dictionary = New-Object System.Collections.Specialized.OrderedDictionary foreach ($cert in $certificates | Group-Object {$_.Thumbprint}) { $uniqueCert = $cert.Group | Select-Object -First 1 $certPropertyHash = Get-CertificatePropertyHash $uniqueCert if ($cert.Count -gt 1) { $thumbprint = $uniqueCert.Thumbprint Write-Warning "$logLead : Certificate With Thumbprint $thumbprint Has a Duplicate Record" $certPropertyHash.Add("HasDuplicate", $true) } $dictionary.Add($uniqueCert.Thumbprint.ToString(), $certPropertyHash) } return $dictionary }