powershell - 如何使用正确的标识列导出 CSV

标签 powershell ssl ssl-certificate

这没有为我提供正确的输出。我希望它在每一列中列出正确的信息 ID = $ID 网站 = $WebsiteURL 有效 = $有效至 Days_valid = $ValidDays

# Script: SSL_Epire_Check_Loop.ps1
# 
$WebsiteURLs= @("www.gcincentives.com", "www.google.com" )
$WebsitePort=443
$Threshold=120
$Severe=30
$ID=0
Write-Host "#   Website_URL:    Current Certificate:    Expiration Date:    Days Remaining: Errors:"
foreach ($WebsiteURL in $WebsiteURLs){
$CommonName=$WebsiteURL
$ID+=1
Try{
$Conn = New-Object System.Net.Sockets.TcpClient($WebsiteURL,$WebsitePort) 
Try {
$Stream = New-Object System.Net.Security.SslStream($Conn.GetStream(),$false, {
param($sender, $certificate, $chain, $sslPolicyErrors) 
return $true
})
$Stream.AuthenticateAsClient($CommonName) 

$Cert = $Stream.Get_RemoteCertificate()
$CN=(($cert.Subject -split "=")[1] -split ",")[0]
$ValidTo = [datetime]::Parse($Cert.GetExpirationDatestring())

$ValidDays = $($ValidTo - [datetime]::Now).Days
$MyFontColor="darkgreen"
if ($ValidDays -lt $Threshold) {
$MyFontColor="darkyellow"
} 
if ($ValidDays -lt $Severe) {
$MyFontColor="red"
}



#Write-Host "$ID    $WebsiteURL $CN $ValidTo    $ValidDays" -ForegroundColor $MyFontColor
}
Catch { Throw $_ }
Finally { $Conn.close() }
}
Catch {
Write-Host "$ID $WebsiteURL " $_.exception.innerexception.message -ForegroundColor red
}

}
$webcert = @{ 
            ID = $ID
            Website = $WebsiteURL
            Valid = $ValidTo
            Days_valid = $ValidDays
            }

$webcert | export-csv -Path c:\users\rwhite\test1.csv

最佳答案

Export-Csv 需要一个(自定义)对象列表,而不是哈希表。

New-Object -Type PSObject -Property $webcert |
    Export-Csv 'C:\path\to\output.csv' -NoType

关于powershell - 如何使用正确的标识列导出 CSV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48289621/

相关文章:

powershell - 使用 PowerShell 4.0 重置 TPM 出厂设置

java - GAE 上用于 Web 服务的 2 向 SSL (java)

tomcat - 一台tomcat服务器可以同时支持RSA和DSA证书吗?

ssl - 如果我从 HTTP URL 提交表单到 HTTPS URL,表单数据会被加密吗?

带 SSL 的 Codeigniter 不工作

web-services - 如何在 Play Framework scala ws 调用中忽略 ssl 验证

.net - .cer 和 .pfx 文件有什么区别

powershell - 如何阻止 PowerShell SqlCommand 回显参数

powershell - 搜索广告组成员

git - 在触发器上从 GitLab 存储库发布到 Azure Web Apps