正在Powershell中读取对象的属性值
我正在尝试检查我的计算机上是否安装了特定的证书。我正在使用以下powershell脚本正在Powershell中读取对象的属性值,powershell,Powershell,我正在尝试检查我的计算机上是否安装了特定的证书。我正在使用以下powershell脚本 SET-LOCATION CERT:\LOCALMACHINE\my $certificate = "CN=*XXXX" $ListOfCertificate = GET-CHILDITEM | Select-Object -Property Subject $ListOfCertificate.ForEach({if($_==$certificate) {Write-Output "Certficate S
SET-LOCATION CERT:\LOCALMACHINE\my
$certificate = "CN=*XXXX"
$ListOfCertificate = GET-CHILDITEM | Select-Object -Property Subject
$ListOfCertificate.ForEach({if($_==$certificate) {Write-Output "Certficate Successfully Installed"} })
ListOfCertifiacte对象如下所示:
Thumbprint Subject
---------- -------
yu39B5646D569XXXXXX
ui05F79VVVVVVVVVV CN=*XXXX
6kj6A3AAAAAAAAAAAA CN=XXXXXXXX
1ygfA1NNNNNNNNNNNN CN=XXXXXXXX
我只想循环浏览这个列表,检查Subject属性是否包含*XXXX值。但是上面的代码不起作用。它的抛出错误表示$certifiacte未被识别为cmdlet或脚本。我做错了什么?这可以在一行中以一种看起来简单得多的方式完成:
If (Get-ChildItem Cert:\LocalMachine\My\ | Where-Object {$_.Subject -like CN=*XXXX}) {"Cert installed."}
缩短:
If (Get-ChildItem Cert:\LocalMachine\My\ | ? Subject -like CN=*XXXX) {"Cert installed."}