Как выполнить поиск сертификатов типа Server Exchange или Server Authentication, установленных на хост-компьютере, с помощью PowerShell? - PullRequest
1 голос
/ 22 марта 2012

Я пытаюсь выбрать сертификат из хранилища сертификатов компьютера LocalMachine\My, который служит для целей Exchange Server или аутентификации (я не уверен относительно точной номенклатуры). Я знаю, что есть фильтры, которые возвращают только сертификаты определенного типа, как таковые:

    PS> Get-ChildItem Cert:\LocalMachine\My -codesigning

и я хочу сделать что-то вроде:

    PS> Get-ChildItem Cert:\LocalMachine\My -exchange

Что не получается в PowerShell.

Если такого ключевого слова фильтра не существует, может ли кто-нибудь найти способ сделать это или, по крайней мере, как это сделать?

Ответы [ 2 ]

1 голос
/ 23 марта 2012

Чтобы получить список сертификатов с аутентификацией на сервере, вы можете отфильтровать по расширенным свойствам использования ключа:

dir cert:\localmachine\my | ? {
    $_.Extensions | % { 
        $_.EnhancedKeyUsages | ? {
            $_.FriendlyName -eq "Server Authentication"}}}
0 голосов
/ 23 марта 2012

Вы можете прочитать свойства каждого сертификата следующим образом:

Get-ChildItem Cert:\LocalMachine\My | fl *

, затем вы можете фильтровать по свойству, в этом случае фильтрация по имени эмитента:

Get-ChildItem Cert:\LocalMachine\My | where-object { $_.issuer -match "servername" }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...