Windows PowerShell 3.0の証明書プロバイダ

ニュースソース:MSDN

以下は 2017年3月6日に公開されたCertificate Provider を要約したものです。


MMCなどで行っていた証明書管理作業をWindows PowerShell 3.0で行うことができ、証明書プロバイダで名前空間を操作したり、証明書ストアや認証を見たり、MMCのためのスナップインを開いたりできます。

PowerShell 3.0以降と、IIS 8.0をサポートするWindows Server 2012以降のOSが必要です。
PowerShell 3.0に移行する時、Microsoft.PowerShell.Securityモジュールは自動的にインポートされないので注意が必要です。

 
新しい特徴:

  • DNS名と期限日付によって証明書を検索可能にし、クライアントを確認し、サーバーの認証する証明書をそれらのEnhanced Key Usage (EKU)パラメータによって見分けます。
  • IISで生成されたウェブホストの証明書ストアを最適化し、動的に共有される証明書を自動的に管理します。
  • DnsNameListプロパティのために、証明書プロバイダは情報をSubjectAlternativeName (SAN)拡張領域内のDNS名からコピーします。この領域が空欄の場合、証明書のサブジェクトフィールドから取得します。
  • EnhancedKeyUsageListのためには、EnhancedKeyUsage (EKU) フィールドのOIDプロパティを取得し、フレンドリ名を作成します。
  • DnsNameList、EnhancedKeyUsageListとSendAsTrustedIssuerはGet-ChildItemコマンドレットに追加されており、DeleteKeyもRemove-Item コマンドレットに追加されています。
  • これらはx509Certificate2オブジェクトにも追加されています。

PowerShell 3.0がサポートしているコマンドレット:
Get-Location, Set-Location, Get-Item, Get-ChildItem, Invoke-Item, Move-Item, New-Item, Remove-Item

注:原文ではコマンド実行例が多数解説付きで紹介されています。