Чтение значения свойства объекта в Powershell - PullRequest
0 голосов
/ 07 марта 2019

Я пытаюсь проверить, установлен ли на моей машине определенный сертификат. Я использую следующий скрипт 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

Я просто хочу просмотреть этот список и проверить, содержит ли свойство объекта значение "* XXXX". Но приведенный выше код не работает. Выдает ошибку, сообщающую, что $ certifiacte не распознается как командлет или скрипт. что я делаю не так?

1 Ответ

1 голос
/ 07 марта 2019

Это можно сделать гораздо менее сложным способом в одной строке:

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."}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...