Export-ExchangeCertificate

Este cmdlet está disponível somente no Exchange local.

Use o cmdlet Export-ExchangeCertificate para exportar certificados existentes e solicitações de certificado pendentes (também conhecidas como solicitações de assinatura de certificado ou CSRs) de servidores exchange.

Para saber mais sobre os conjuntos de parâmetros na seção Sintaxe, abaixo, consulte Exchange cmdlet syntax.

Syntax

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>]

Description

O cmdlet Export-ExchangeCertificate cria os seguintes tipos de arquivos:

  • Arquivos de certificado: quando você exporta um certificado, o comando cria um arquivo PKCS #12. PKCS #12 é o padrão de sintaxe do Exchange de Informações Pessoais especificado pelos Laboratórios RSA. Para obter mais informações, consulte PKCS #12: Personal Information Exchange Syntax Standard.

    Para exportar um certificado de um servidor exchange, a propriedade PrivateKeyExportable do certificado precisa ter o valor True. Para importar um certificado exportado em outro servidor do Exchange, você precisa exportar o certificado usando o parâmetro Senha para incluir a chave privada ou a cadeia de confiança no arquivo de certificado. O certificado autoassinado padrão Microsoft Exchange ou novos certificados autoassinados que você cria no centro de administração do Exchange ou usando as configurações padrão do cmdlet New-ExchangeCertificate não são exportáveis, pois a chave privada não é exportável (o valor padrão do parâmetro PrivateKeyExportable é $false).

  • Arquivos de solicitação de certificado: quando você exporta uma solicitação de certificado, o comando cria um arquivo PKCS #10. PKCS #10 é o padrão de Sintaxe de Solicitação de Certificação especificado pelo RFC 2314. Para obter mais informações, consulte PKCS #10: Sintaxe da Solicitação de Certificação.

    Normalmente, você exporta um arquivo de solicitação de certificado se precisar reenviar a solicitação de certificado para a autoridade de certificação. Você não pode importar uma solicitação de certificado exportada em outro servidor.

Para executar esse cmdlet, você precisa ter permissões. Embora este tópico liste todos os parâmetros do cmdlet, talvez você não tenha acesso a alguns parâmetros se eles não estiverem incluídos nas permissões atribuídas a você. Para localizar as permissões necessárias para executar qualquer cmdlet ou parâmetro em sua organização, confira Find the permissions required to run any Exchange cmdlet.

Exemplos

Exemplo 1

Export-ExchangeCertificate -Thumbprint 5113ae0233a72fccb75b1d0198628675333d010e -FileName "C:\Data\HT cert.pfx" -BinaryEncoded -Password (Get-Credential).password

No Exchange 2013, este exemplo exporta um certificado do servidor exchange local para um arquivo com as seguintes configurações:

  • O certificado a ser exportado tem o valor de impressão digital 5113ae0233a72fccb75b1d019862867333d010e.
  • O arquivo de certificado exportado é codificado por DER (binário), não Base64.
  • Insira a senha quando solicitado.
  • O certificado é exportado para o arquivo C:\Data\HT cert.pfx.

Observação: o parâmetro FileName só está disponível no Exchange 2013. Para exportar o certificado no Exchange 2016 ou exchange 2019, consulte Exemplo 2.

Exemplo 2

$bincert = Export-ExchangeCertificate -Thumbprint 5113ae0233a72fccb75b1d0198628675333d010e -BinaryEncoded -Password (Get-Credential).password

[System.IO.File]::WriteAllBytes('C:\Data\HT cert.pfx', $bincert.FileData)

Este exemplo exporta o mesmo certificado do Exemplo 1. Esse método é necessário no Exchange 2016 e no Exchange 2019 porque o parâmetro FileName não está disponível.

Exemplo 3

Export-ExchangeCertificate -Thumbprint 72570529B260E556349F3403F5CF5819D19B3B58 -Server Mailbox01 -FileName "\\FileServer01\Data\Fabrikam.req"

No Exchange 2013, este exemplo exporta uma solicitação de certificado pendente para um arquivo com as seguintes configurações:

  • A solicitação de certificado a ser exportada tem o valor de impressão digital 72570529B260E556349F3403F5CF5819D19B3B58 e está localizada no servidor exchange chamado Mailbox01.
  • O arquivo de solicitação de certificado exportado é codificado base64, portanto, as informações gravadas no arquivo também são exibidas na tela.
  • A solicitação de certificado é exportada para o arquivo \\FileServer01\Data\Fabrikam.req.

Observação: o parâmetro FileName só está disponível no Exchange 2013. Para exportar a solicitação de certificado pendente no Exchange 2016 ou exchange 2019, consulte Exemplo 4.

Exemplo 4

$txtcert = Export-ExchangeCertificate -Thumbprint 72570529B260E556349F3403F5CF5819D19B3B58 -Server Mailbox01

[System.IO.File]::WriteAllBytes('\\FileServer01\Data\Fabrikam.req', [System.Text.Encoding]::Unicode.GetBytes($txtcert))

Este exemplo exporta a mesma solicitação de certificado pendente do Exemplo 3. Esse método é necessário no Exchange 2016 e no Exchange 2019 porque o parâmetro FileName não está disponível.

Parâmetros

-BinaryEncoded

A opção BinaryEncoded codifica o arquivo de solicitação de certificado ou certificado exportado usando Distinguished Encoding Rules (DER). Não é preciso especificar um valor com essa opção.

Normalmente, você usa essa opção ao exportar um certificado, pois pode armazenar o certificado e sua chave privada ou cadeia de confiança em um único arquivo binário quando você também usa o parâmetro Senha. Se você não usar essa opção, o arquivo de certificado exportado será codificado base64 e você precisará exportar certificados intermediários ou raiz na cadeia de confiança separadamente.

Type:SwitchParameter
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

-Confirm

A opção Confirm especifica se a solicitação de confirmação deve ser mostrada ou ocultada. Como essa opção afeta o cmdlet dependerá do fato de o cmdlet exigir ou não confirmação antes de continuar.

  • Cmdlets destrutivos (por exemplo, cmdlets Remove-*) têm uma pausa interna que força você a reconhecer o comando antes de prosseguir. Para estes cmdlets, você pode pular o pedido de confirmação usando esta sintaxe exata: -Confirm:$false.
  • A maioria dos outros cmdlets (por exemplo, cmdlets New-* e Set-*) não tem uma pausa interna. Para esses cmdlets, especificar a opção Confirm sem um valor introduz uma pausa que força você a confirmar o comando antes de continuar.
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

O parâmetro DomainController especifica o controlador de domínio que é usado por esse cmdlet para ler dados ou gravar dados no Active Directory. Você identifica o controlador de domínio por seu FQDN (nome de domínio totalmente qualificado). Por exemplo, dc01.contoso.com.

O parâmetro DomainController não é compatível com os servidores de Transporte do Microsoft Edge. Um servidor de Transporte do Microsoft Edge usa a instância local dos Serviços AD LDS para ler e gravar dados.

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

-FileName

Observação: esse parâmetro foi removido do Exchange 2016 e do Exchange 2019 pelo Atualizações Cumulativo H1 2022 porque aceita valores de caminho UNC. Para exportar o certificado ou a solicitação de certificado para um arquivo sem usar o parâmetro FileName, use os métodos descritos no Exemplo 2 e exemplo 4.

Esse parâmetro está disponível apenas no Exchange 2013.

O parâmetro FileName especifica o nome e o caminho do arquivo de solicitação de certificado ou certificado exportado. Você pode usar um caminho local se a solicitação de certificado ou certificado estiver localizada no mesmo servidor do Exchange em que você está executando o comando. Caso contrário, use um caminho UNC (\\Server\Share). Se o valor contiver espaços, coloque-o entre aspas (").

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

-Identity

O parâmetro Identity especifica a solicitação de certificado ou certificado que você deseja exportar. Os valores válidos são:

  • ServerNameOrFQDN\Thumbprint
  • Thumbprint

Você pode encontrar o valor da impressão digital usando o cmdlet Get-ExchangeCertificate.

Você não pode usar esse parâmetro com o parâmetro Servidor.

O parâmetro de impressão digital, não o parâmetro Identidade, é o parâmetro posicional para esse cmdlet. Portanto, ao especificar um valor de impressão digital por si só, o comando usará esse valor no parâmetro Impressão Digital.

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

-Password

O parâmetro Senha especifica a senha da chave privada ou cadeia de confiança no arquivo de certificado exportado. Para importar o arquivo de certificado exportado em outro servidor, você precisa saber a senha.

Você pode usar os seguintes métodos como um valor para este parâmetro:

  • (ConvertTo-SecureString -String '<password>' -AsPlainText -Force).
  • Antes de executar esse comando, armazene a senha como uma variável (por exemplo, $password = Read-Host "Enter password" -AsSecureString), e use a variável ($password) para o valor.
  • (Get-Credential).password a ser solicitado a inserir a senha com segurança ao executar esse comando.
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

-Server

O parâmetro Servidor especifica o servidor Exchange em que você deseja executar esse comando. É possível usar qualquer valor que identifique o servidor com exclusividade. Por exemplo:

  • Nome
  • FQDN
  • DN (nome diferenciado)
  • DN Herdado do Exchange

DN Herdado do Exchange

Você não pode usar esse parâmetro com o parâmetro Identity, mas pode usá-lo com o parâmetro Thumbprint.

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

-Thumbprint

O parâmetro Thumbprint especifica a solicitação de certificado ou certificado que você deseja exportar. Você pode encontrar o valor da impressão digital usando o cmdlet Get-ExchangeCertificate.

O parâmetro de impressão digital, não o parâmetro Identidade, é o parâmetro posicional para esse cmdlet. Portanto, ao especificar um valor de impressão digital por si só, o comando usará esse valor no parâmetro Impressão Digital.

Type:String
Position:1
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

-WhatIf

A opção WhatIf simula as ações do comando. Você pode usar essa opção para exibir as alterações que ocorreriam sem realmente aplicar essas alterações. Não é preciso especificar um valor com essa opção.

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

Entradas

Input types

Para ver os tipos de entrada que este cmdlet aceita, confira Tipos de entrada e saída de cmdlet. Se o campo Tipo de Entrada de um cmdlet estiver em branco, isso significa que o cmdlet não aceita dados de entrada.

Saídas

Output types

Para ver os tipos de retorno, também conhecidos como tipos de saída, que este cmdlet aceita, consulte Tipos de entrada e saída de cmdlet. Se o campo Tipo de Saída estiver em branco, o cmdlet não retorna dados.