Export-ExchangeCertificate
このコマンドレットは、オンプレミスの Exchange でのみ使用可能です。
Export-ExchangeCertificate コマンドレットを使用して、既存の証明書と保留中の証明書要求 (証明書署名要求または CSR とも呼ばれる) を Exchange サーバーからエクスポートします。
以下の構文セクションのパラメーター セットの詳細については、「Exchangeのコマンドレット構文」を参照してください。
構文
Export-ExchangeCertificate
[-Thumbprint] <String>
[-Server <ServerIdParameter>]
[-BinaryEncoded]
[-Confirm]
[-DomainController <Fqdn>]
[-FileName <String>]
[-Password <SecureString>]
[-WhatIf]
[<CommonParameters>]
Export-ExchangeCertificate
[[-Identity] <ExchangeCertificateIdParameter>]
[-BinaryEncoded]
[-Confirm]
[-DomainController <Fqdn>]
[-FileName <String>]
[-Password <SecureString>]
[-WhatIf]
[<CommonParameters>]
説明
Export-ExchangeCertificate コマンドレットにより、次の種類のファイルが作成されます。
証明書ファイル: 証明書をエクスポートすると、そのコマンドは PKCS #12 ファイルを作成します。 PKCS #12 は、RSA ラボラトリ社によって指定されている個人情報交換の構文の標準です。 詳細については、「PKCS #12: 個人情報交換構文標準 (Personal Information Exchange Syntax Standard)」 を参照してください。
Exchange サーバーから証明書をエクスポートするには、証明書の PrivateKeyExportable プロパティの値が True である必要があります。 エクスポートされた証明書を別の Exchange サーバーにインポートするには、Password パラメーターを使用して証明書をエクスポートし、秘密キーまたは信頼チェーンを証明書ファイルに含める必要があります。 Exchange 管理センターまたは New-ExchangeCertificate コマンドレットの既定の設定を使用して作成した既定の Microsoft Exchange 自己署名証明書または新しい自己署名証明書は、秘密キーがエクスポートできないためエクスポートできません (PrivateKeyExportable パラメーターの既定値は$false)。
証明書要求ファイル: 証明書要求をエクスポートすると、コマンドによって PKCS #10 ファイルが作成されます。 PKCS #10 は、RFC 2314 で指定された認証要求構文標準です。 詳細については、「PKCS #10: 認定要求構文」を参照してください。
証明機関に証明書要求を再送信する必要がある場合は、通常、証明書要求ファイルをエクスポートします。 エクスポートした証明書要求を別のサーバー上にインポートすることはできません。
このコマンドレットを実行する際には、あらかじめアクセス許可を割り当てる必要があります。 このトピックにはこのコマンドレットのすべてのパラメーターが一覧表示されていますが、自分に割り当てられているアクセス許可に含まれていない一部のパラメーターにはアクセスできません。 コマンドレットを組織内で実行するために必要になるアクセス許可とパラメーターを調べるには、「 Find the permissions required to run any Exchange cmdlet」を参照してください。
例
例 1
Export-ExchangeCertificate -Thumbprint 5113ae0233a72fccb75b1d0198628675333d010e -FileName "C:\Data\HT cert.pfx" -BinaryEncoded -Password (Get-Credential).password
Exchange 2013において、この例ではローカル Exchange サーバーからファイルに、次の設定を使用して証明書をエクスポートします。
- エクスポートする証明書の拇印の値は 5113ae0233a72fccb75b1d0198628675333d010e です。
- エクスポートされた証明書ファイルは、Base64 ではなく DER エンコード (バイナリ) です。
- プロンプトで促されたら、管理者のパスワードを入力します。
- 証明書は C:\Data\HT cert.pfx ファイルにエクスポートされます。
注: FileName パラメーターは、Exchange 2013 でのみ使用できます。 Exchange 2016 または Exchange 2019 で証明書をエクスポートするには、例 2 を参照してください。
例 2
$bincert = Export-ExchangeCertificate -Thumbprint 5113ae0233a72fccb75b1d0198628675333d010e -BinaryEncoded -Password (Get-Credential).password
[System.IO.File]::WriteAllBytes('C:\Data\HT cert.pfx', $bincert.FileData)
この例では、例 1 と同じ証明書をエクスポートします。 このメソッドは、FileName パラメーターを使用できないため、Exchange 2016 および Exchange 2019 で必要です。
例 3
Export-ExchangeCertificate -Thumbprint 72570529B260E556349F3403F5CF5819D19B3B58 -Server Mailbox01 -FileName "\\FileServer01\Data\Fabrikam.req"
Exchange 2013 では、この例では保留中の証明書要求を次の設定でファイルにエクスポートします:
- エクスポートする証明書要求は拇印の値 72570529B260E556349F3403F5CF5819D19B3B58 を持ち、Mailbox01 という名前で Exchange サーバー上にあります。
- エクスポートされた証明書要求ファイルは Base64 でエンコードされているので、ファイルに書き込まれる情報は画面にも表示されます。
- 証明書要求はファイル \\FileServer01\Data\Fabrikam.req にエクスポートされます。
注: FileName パラメーターは、Exchange 2013 でのみ使用できます。 Exchange 2016 または Exchange 2019 で保留中の証明書要求をエクスポートするには、例 4 を参照してください。
例 4
$txtcert = Export-ExchangeCertificate -Thumbprint 72570529B260E556349F3403F5CF5819D19B3B58 -Server Mailbox01
[System.IO.File]::WriteAllBytes('\\FileServer01\Data\Fabrikam.req', [System.Text.Encoding]::Unicode.GetBytes($txtcert))
この例では、例 3 と同じ保留中の証明書要求をエクスポートします。 このメソッドは、FileName パラメーターを使用できないため、Exchange 2016 および Exchange 2019 で必要です。
パラメーター
-BinaryEncoded
BinaryEncoded スイッチは、DER (Distinguished Encoding Rules) を使用して、エクスポートされた証明書ファイルまたは証明書要求ファイルをエンコードします。 このスイッチで値を指定する必要はありません。
Password パラメーターも使用する場合は、証明書とその秘密キーまたは信頼チェーンを 1 つのバイナリ ファイルに格納できるため、通常、証明書をエクスポートするときにこの切り替えを使用します。 このスイッチを使用しない場合、エクスポートされた証明書ファイルは Base64 でエンコードされ、信頼チェーン内の中間証明書またはルート証明書を個別にエクスポートする必要があります。
型: | SwitchParameter |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
適用対象: | Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019 |
-Confirm
Confirm スイッチは、確認プロンプトを表示するか非表示にするかを指定します。 このスイッチがコマンドレットにどのような影響を与えるかは、先に進む前にコマンドレットで確認が必要となるかどうかで決まります。
- 破壊的なコマンドレット (Remove-* コマンドレットなど) には、続行する前にコマンドの確認を強制する組み込みの一時停止があります。 これらのコマンドレットでは、正確な構文
-Confirm:$false
を使用して、確認プロンプトを省略できます。 - 他のほとんどのコマンドレット (New-* コマンドレットや Set-* コマンドレットなど) には、一時停止が組み込まれています。 これらのコマンドレットの場合、値なしで Confirm スイッチを指定すると、先に進む前に、一時停止してコマンドを確認する必要があります。
型: | SwitchParameter |
Aliases: | cf |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
適用対象: | 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) のローカル インスタンスを使用してデータの読み書きを行います。
型: | Fqdn |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
適用対象: | Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019 |
-FileName
注: このパラメーターは、UNC パス値を受け入れるため、2022 H1 累積更新プログラムによって Exchange 2016 および Exchange 2019 から削除されました。 FileName パラメーターを使用せずに証明書または証明書要求をファイルにエクスポートするには、例 2 と例 4 で説明されているメソッドを使用します。
このパラメーターは Exchange Server 2013 でのみ使用できます。
FileName パラメーターには、エクスポートされた証明書ファイルまたは証明書要求ファイルの名前とパスを指定します。 コマンドを実行しているのと同じ Exchange サーバーに証明書または証明書要求がある場合は、ローカル パスを使用できます。 それ以外の場合は、UNC パス (\\Server\Share
) を使用します。 値にスペースが含まれている場合は、値を二重引用符 (") で囲んでください。
型: | String |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
適用対象: | Exchange Server 2013 |
-Identity
Identity パラメーターは、エクスポートする証明書または証明書要求を指定します。 有効な値は次のとおりです。
ServerNameOrFQDN\Thumbprint
Thumbprint
Get-ExchangeCertificate コマンドレットを使用して拇印値を検索できます。
このパラメーターは Server パラメーターと併用できません。
このコマンドレットの位置パラメーターは、Identity パラメーターではなく Thumbprint パラメーターです。 したがって、単独で拇印値を指定すると、コマンドは Thumbprint パラメーターのこの値を使用します。
型: | ExchangeCertificateIdParameter |
配置: | 1 |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
適用対象: | 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
メッセージが表示されます。
型: | SecureString |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
適用対象: | Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019 |
-Server
Server パラメーターは、このコマンドの実行先となる Exchange サーバーを指定します。 サーバーを一意に識別する任意の値を使用できます。 次に例を示します。
- 名前
- FQDN
- 識別名 (DN)
- Exchange の従来の DN
このパラメーターを使用しない場合、コマンドはローカル サーバー上で実行されます。
このパラメーターを Identity パラメーターと併用することはできませんが、Thumbprint パラメーターとであれば併用できます。
型: | ServerIdParameter |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
適用対象: | Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019 |
-Thumbprint
Thumbprint パラメーターは、エクスポートする証明書または証明書要求を指定します。 Get-ExchangeCertificate コマンドレットを使用して拇印値を検索できます。
このコマンドレットの位置パラメーターは、Identity パラメーターではなく Thumbprint パラメーターです。 したがって、単独で拇印値を指定すると、コマンドは Thumbprint パラメーターのこの値を使用します。
型: | String |
配置: | 1 |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
適用対象: | Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019 |
-WhatIf
WhatIf スイッチは、コマンドの操作をシミュレートします。 このスイッチを使用すると、実際にその変更内容を適用せずに、発生する変更を確認できます。 このスイッチで値を指定する必要はありません。
型: | SwitchParameter |
Aliases: | wi |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
適用対象: | Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019 |
入力
Input types
このコマンドレットに使用できる入力の種類を確認するには、「コマンドレットの入力および出力の種類」をご覧ください。 コマンドレットで入力の種類のフィールドが空白の場合、そのコマンドレットには入力データを指定できません。
出力
Output types
このコマンドレットに使用できる戻り値の型 (出力の種類) を確認するには、「コマンドレットの入力および出力の種類」をご覧ください。 出力の種類のフィールドが空白の場合、コマンドレットはデータを返しません。