Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
正在Powershell中读取对象的属性值_Powershell - Fatal编程技术网

正在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

我正在尝试检查我的计算机上是否安装了特定的证书。我正在使用以下powershell脚本

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."}