1

컴퓨터 인증서 저장소 LocalMachine\My에서 서버 Exchange 또는 인증을 제공하는 인증서를 선택하려고합니다. 정확한 이름에 대해서는 확실하지 않습니다.PowerShell을 사용하여 호스트 컴퓨터에 설치된 서버 Exchange 또는 서버 인증 유형 인증서를 찾는 방법은 무엇입니까?

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

와 내가 원하는 것은 같은 것을하는 것입니다 : PowerShell에 실패

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

을 나는 같은 특정 유형의 인증서 만 반환하는 필터가 알고있다.

이와 같은 필터 키워드가 없으면 어떤 방법으로이를 수행 할 수 있습니까? 아니면 어떻게해야할까요?

미리 감사드립니다.

당신은 이런 식으로 각 인증서의 속성을 읽을 수

답변

1

인증서 표시의 목록을 얻으려면 서버 인증을 사용하면 향상된 키 용도 속성으로 필터링 할 수 있습니다.

dir cert:\localmachine\my | ? { 
    $_.Extensions | % { 
     $_.EnhancedKeyUsages | ? { 
      $_.FriendlyName -eq "Server Authentication"}}} 
+0

FriendlyName 속성은 반드시 서버 인증과 관련이 없습니다. – rae1

+0

@ rae1n 무슨 뜻인지 확실하지 않습니다. 이 코드는 [서버 인증 확장] (http://www.alvestrand.no/objectid/1.3.6.1.5.5.7.3.1.html)이있는 모든 인증서를 나열합니다. –

+0

@ rae1n 나는이 코드의 FriendlyName 속성을 인증서의 다른 친숙한 이름과 혼동하고 있다고 생각합니다. –

0

: 발행 회사의 이름으로이 경우 필터링에,

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

는 다음 속성에 의해 필터링 할 수는 :

Get-ChildItem Cert:\LocalMachine\My | where-object { $_.issuer -match "servername" } 
+0

아니요, 발급자는 spe를 사용하지 않습니다. 인증서가 서버 인증 용도로 생성되었는지 여부를 확인하면 인증서를 발급 한 인증 기관과 동일한 인증서가 표시됩니다. 인증서의 속성을 검색하여 그 목적과 관련된 인증서를 찾을 수 없습니다. – rae1