使用Powershell或命令提示符进行通配符证书使用情况搜索

使用Powershell或命令提示符进行通配符证书使用情况搜索,powershell,ubuntu,certificate,ssl-certificate,Powershell,Ubuntu,Certificate,Ssl Certificate,我有一个bash命令 curl-v——静默https://abc.xyz/ 2> &1| grep“CN=\*.xyz.com”-c 这在Ubuntu机器上运行良好,但我想在Powershell或CMD中转换或使用类似的命令。我尝试了很多变化,比如: curlhttps://abc.xyz/ 2> &1|选择字符串模式“CN=\*.xyz.com” curl-E-Urihttps://abc.xyz/ 2> &1|选择字符串模式“CN=\*.xyz.com” 调用WebRequesthttps:

我有一个bash命令

curl-v——静默https://abc.xyz/ 2> &1| grep“CN=\*.xyz.com”-c

这在Ubuntu机器上运行良好,但我想在Powershell或CMD中转换或使用类似的命令。我尝试了很多变化,比如:

curlhttps://abc.xyz/ 2> &1|选择字符串模式“CN=\*.xyz.com”

curl-E-Urihttps://abc.xyz/ 2> &1|选择字符串模式“CN=\*.xyz.com”

调用WebRequesthttps://abc.xyz/ 2> &1|选择字符串模式“CN=\*.xyz.com”

我在PS命令中注意到的是,它没有输出用于检查模式的通用名称。 我的实际需要是检查
https://abc.xyz/
或不

我错过了什么

我的实际需要是检查中是否使用了通配符证书

在本例中,我们将检查msn.com上是否使用了通配符证书:

$url = 'https://www.msn.com'
$req = [Net.HttpWebRequest]::Create($url)
$req.GetResponse() | Out-Null
$cerName = $req.ServicePoint.Certificate.GetName()
$cerName -match 'CN=\*\.msn\.com'
输出:

True

工作起来很有魅力。