У меня есть этот код, который получает информацию о SSL-сертификатах "Local Machine" и сохраняет их в CSV-файле.Меня беспокоит то, что я не нашел подходящего имени, определяющего эти сертификаты.Поэтому я спрашиваю, есть ли поле, в котором указано имя сертификата?
Кроме того, я хочу сохранить «Предназначенные цели» сертификатов SSL и не могу понять, как это сделать.
Последний вопрос, я обнаружил, что есть некоторые сертификаты, в которых поле «Предполагаемые цели» имеет значение ALL
, поэтому я хочу знать, каковы цели, упомянутые в этом случае?
Это моеСценарий, который я хочу, чтобы он показывал мне также «Intented Purposes» и, если найдено, название сертификата.
$StartDate = Get-Date
$CertPath = 'Cert:\LocalMachine\'
$CertsDetail = Get-ChildItem -Path $CertPath -Recurse | Where-Object {
$_.PsIsContainer -ne $true
} | ForEach-Object {
$DaysLeft = (New-TimeSpan -Start $StartDate -End $_.NotAfter).Days
if ($DaysLeft -lt 1) {
$Under30 = $true
$Expired = $true
$Text = "The Certificate is expired"
} elseif ($DaysLeft -lt 30) {
$Under30 = $true
$Expired = $false
$Text = "The Certificate is but valid about to expire"
} else {
$Under30 = $false
$Expired = $false
$Text = "The Certificate is still valid and not going soon to expire"
}
$FinalDate = Get-Date $_.NotAfter -Format 'dd/MM/yyyy hh:mm'
[PSCustomObject]@{
Text = $Text
Subject = $_.Subject
ExpireDate = $FinalDate
DaysRemaining = $DaysLeft
Under30Days = $Under30
Expired = $Expired
}
}
$CertsDetail | Where-Object {
$_.DaysRemaining -lt 3650
} | Export-Csv -NoTypeInformation -Path 'C:\SECnology\Data\Utilities\Certificate_State.csv'