Import-ExchangeCertificate

このコマンドレットは、オンプレミスの Exchange でのみ使用可能です。

Import-ExchangeCertificate コマンドレットを使用して、Exchange サーバー上の証明書をインポートします。 このコマンドレットは、他のサーバーからエクスポートされた証明書をインストールしたり、証明機関 (CA) からの保留中の証明の要求 (別名: 証明書署名要求または CSR) を完了するために使用します。

以下の構文セクションのパラメーター セットの詳細については、「Exchangeのコマンドレット構文」を参照してください。

構文

Import-ExchangeCertificate
      -FileData <Byte[]>
      [-Confirm]
      [-DomainController <Fqdn>]
      [-FriendlyName <String>]
      [-Password <SecureString>]
      [-PrivateKeyExportable <Boolean>]
      [-Server <ServerIdParameter>]
      [-WhatIf]
      [<CommonParameters>]
Import-ExchangeCertificate
      -Instance <String[]>
      [-Confirm]
      [-DomainController <Fqdn>]
      [-FriendlyName <String>]
      [-Password <SecureString>]
      [-PrivateKeyExportable <Boolean>]
      [-Server <ServerIdParameter>]
      [-WhatIf]
      [<CommonParameters>]
Import-ExchangeCertificate
      -FileName <String>
      [-Confirm]
      [-DomainController <Fqdn>]
      [-FriendlyName <String>]
      [-Password <SecureString>]
      [-PrivateKeyExportable <Boolean>]
      [-Server <ServerIdParameter>]
      [-WhatIf]
      [<CommonParameters>]

説明

Import-ExchangeCertificate コマンドレットを使用して、Exchange サーバーに次の種類の証明書ファイルをインポートできます。

  • 証明機関 (CA) によって発行された PKCS #7 証明書または証明書ファイルのチェーン (.p7b または .p7c)。 PKCS #7 は Cryptographic Message Syntax Standard であり、証明書などの公開キー暗号を使用して、デジタル署名またはデータの暗号化を行うために使用される構文です。 詳細については、「 PKCS #7 暗号化メッセージング構文の概念」を参照してください。
  • PKCS #12 証明書ファイル (.cer、.crt、.der、.p12、または .pfx) には秘密キーが保存されています。 PKCS #12 は個人情報交換の構文の標準であり、パスワードで保護された秘密キーに対応する証明書の保存に使用されるファイル形式です。 詳細については、「 PKCS #12: Personal Information Exchange Syntax v1.1」を参照してください。

Exchange サーバーに証明書をインポートした後、Enable-ExchangeCertificate コマンドレットを使用して 1 つ以上の Exchange サービスに証明書を割り当てる必要があります。

トランスポート層セキュリティ (TLS) と SSL (Secure Sockets Layer) サービスの証明書を構成する場合は、多くの要素を検討する必要があります。 また、これらの要素が構成全体に与える影響も理解しておく必要があります。 詳細については、「Exchange Serverでのデジタル証明書と暗号化」を参照してください。

コンピューター システム間で送信されるデータの暗号化に使用するプロトコルとして、SSL (Secure Sockets Layer) がトランスポート層セキュリティ (TLS) に置き換えられます。 両者は非常に密接に関連しているため、"SSL" と "TLS" (バージョンなし) という用語は同じ意味で使用されることがよくあります。 このような類似性のため、Exchange トピック、Exchange 管理センター、Exchange 管理シェルの "SSL" への参照は、SSL プロトコルと TLS プロトコルの両方を網羅するためによく使用されています。 通常、"SSL" が実際の SSL プロトコルを指すのは、バージョンも示されている場合 (SSL 3.0 など) だけです。 詳細については、「EXCHANGE SERVER TLS 構成のベスト プラクティス」を参照してください。

このコマンドレットを実行する際には、あらかじめアクセス許可を割り当てる必要があります。 このトピックにはこのコマンドレットのすべてのパラメーターが一覧表示されていますが、自分に割り当てられているアクセス許可に含まれていない一部のパラメーターにはアクセスできません。 コマンドレットを組織内で実行するために必要になるアクセス許可とパラメーターを調べるには、「 Find the permissions required to run any Exchange cmdlet」を参照してください。

例 1

Import-ExchangeCertificate -Server Mailbox01 -FileName "\\FileServer01\Data\Exported Fabrikam Cert.pfx" -Password (Get-Credential).password

Exchange 2013 では、この例では、PKCS #12 ファイルから \\FileServer01\Data\Export Fabrikam Cert.pfx から Mailbox01 という Exchange サーバーに証明書をインポートします。 このファイルには、ファイルのパスワードが必要です。 この証明書は、別のサーバーからエクスポートされたか、証明機関によって発行された可能性があります。

Exchange 2016 または Exchange 2019 で証明書をエクスポートするには、例 2 で説明されているように FileData パラメーターを使用します。

例 2

Import-ExchangeCertificate -Server Mailbox01 -FileData ([System.IO.File]::ReadAllBytes('\\FileServer01\Data\Exported Fabrikam Cert.pfx')) -Password (Get-Credential).password

この例では、例 1 から同じ証明書ファイルをインポートします。 このメソッドは、FileName パラメーターを使用できないため、Exchange 2016 および Exchange 2019 で必要です。

例 3

Import-ExchangeCertificate -FileData ([System.IO.File]::ReadAllBytes('C:\Certificates\Fabrikam IssuedCert.p7b'))

次の使用例は、ローカル Exchange サーバー上の PKCS #7 ファイル C:\Certificates\Fabrikam IssuedCert.p7b から証明書のチェーンをインポートします。

パラメーター

-Confirm

Confirm スイッチは、確認プロンプトを表示するか非表示にするかを指定します。 このスイッチがコマンドレットにどのような影響を与えるかは、先に進む前にコマンドレットで確認が必要となるかどうかで決まります。

  • 破壊的なコマンドレット (Remove-* コマンドレットなど) には、続行する前にコマンドの確認を強制する組み込みの一時停止があります。 これらのコマンドレットでは、正確な構文-Confirm:$falseを使用して、確認プロンプトを省略できます。
  • 他のほとんどのコマンドレット (New-* コマンドレットや Set-* コマンドレットなど) には、一時停止が組み込まれています。 これらのコマンドレットの場合、値なしで Confirm スイッチを指定すると、先に進む前に、一時停止してコマンドを確認する必要があります。
Type:SwitchParameter
Aliases:cf
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019

-DomainController

DomainController パラメーターは、このコマンドレットで Active Directory からのデータの読み取りまたは Active Directory へのデータの書き込みに使用されるドメイン コントローラーを指定します。 ドメイン コントローラーは、完全修飾ドメイン名 (FQDN) で識別します。 たとえば、dc01.contoso.com です。

DomainController パラメーターは、エッジ トランスポート サーバーではサポートされません。 エッジ トランスポート サーバーは、Active Directory ライトウェイト ディレクトリ サービス (AD LDS) のローカル インスタンスを使用してデータの読み書きを行います。

Type:Fqdn
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019

-FileData

FileData パラメーターは、インポートする証明書ファイルの内容を指定します。

このパラメーターの有効な値を使用するには、次の構文を使用して、ファイルをバイトエンコード されたオブジェクトに読み取る必要があります。 ([System.IO.File]::ReadAllBytes('<Path>\<FileName>')) このコマンドをパラメーター値として使用することも、変数 () に出力を書き込み、変数をパラメーター値 ($data = [System.IO.File]::ReadAllBytes('<Path>\<FileName>')$data) として使用することもできます。

証明書ファイルがコマンドを実行している Exchange サーバー上にあり、証明書をインストールするのと同じサーバーである場合は、ローカル パスを使用できます。 それ以外の場合は、UNC パス (\\Server\Share) を使用します。

このパラメーターを使用して PKCS #7 テキスト証明書ファイルをインポートする場合、これらのファイルには、-----BEGIN CERTIFICATE-----および -----END CERTIFICATE----- または -----BEGIN PKCS7----- および -----END PKCS7 が含まれており----- .p7b または .p7c ファイル名拡張子が含まれます。

値にスペースが含まれている場合は、値を二重引用符 (") で囲んでください。

Type:Byte[]
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019

-FileName

: このパラメーターは、UNC パス値を受け入れるため、2022 H1 累積更新プログラムによって Exchange 2016 および Exchange 2019 から削除されました。 FileName パラメーターを使用せずに証明書ファイルをインポートするには、FileData パラメーターを使用します。

このパラメーターは Exchange Server 2013 でのみ使用できます。

FileName パラメーターは、インポートする証明書ファイルを指定します。 通常、このパラメーターは、ファイル名の拡張子が .cer、.crt、.der、.p12、または .pfx の PKCS #12 証明書のバイナリ ファイルに使用します。 この種類のバイナリの証明書ファイルは、ファイルに秘密キーまたは信頼チェーンが含まれている場合、パスワードで保護されます。

証明書ファイルがコマンドを実行している Exchange サーバー上にあり、証明書をインストールするのと同じサーバーである場合は、ローカル パスを使用できます。 それ以外の場合は、UNC パス (\\Server\Share) を使用します。

値にスペースが含まれている場合は、値を二重引用符 (") で囲んでください。

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2013

-FriendlyName

FriendlyName パラメーターは、証明書のフレンドリ名を指定します。 値は 64 文字未満にする必要があります。

フレンドリ名の値は説明テキストであり、証明書の機能には影響しません。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019

-Instance

このパラメーターは非推奨で、もう使用されていません。

Type:String[]
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019

-Password

Password パラメーターは、証明書のインポートを必要とするパスワードを指定します。

このパラメーターの値として、次のメソッドを使用できます:

  • (ConvertTo-SecureString -String '<password>' -AsPlainText -Force).
  • または、このコマンドを実行する前に、パスワードを変数として保存し (たとえば、$password = Read-Host "Enter password" -AsSecureString)、このパラメーターに変数名 ($password) を使用します。
  • このコマンドを実行すると、パスワードの安全な入力を求める (Get-Credential).password メッセージが表示されます。
Type:SecureString
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019

-PrivateKeyExportable

PrivateKeyExportable パラメーターは、証明書にエクスポート可能な秘密キーがあるかどうかを指定し、このサーバーから証明書をエクスポートできるかどうかを制御します。 有効な値は次のとおりです。

  • $true: 秘密キーはエクスポート可能であるため、このサーバーから証明書をエクスポートできます。
  • $false: 秘密キーはエクスポートできないため、このサーバーから証明書をエクスポートすることはできません。 これは既定の値です。
Type:Boolean
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019

-Server

Server パラメーターは、このコマンドの実行先となる Exchange サーバーを指定します。 サーバーを一意に識別する任意の値を使用できます。 次に例を示します。

  • 名前
  • FQDN
  • 識別名 (DN)
  • Exchange の従来の DN

このパラメーターを使用しない場合、コマンドはローカル サーバー上で実行されます。

Type:ServerIdParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019

-WhatIf

WhatIf スイッチは、コマンドの操作をシミュレートします。 このスイッチを使用すると、実際にその変更内容を適用せずに、発生する変更を確認できます。 このスイッチで値を指定する必要はありません。

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019

入力

Input types

このコマンドレットに使用できる入力の種類を確認するには、「コマンドレットの入力および出力の種類」をご覧ください。 コマンドレットで入力の種類のフィールドが空白の場合、そのコマンドレットには入力データを指定できません。

出力

Output types

このコマンドレットに使用できる戻り値の型 (出力の種類) を確認するには、「コマンドレットの入力および出力の種類」をご覧ください。 出力の種類のフィールドが空白の場合、コマンドレットはデータを返しません。