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) dos servidores Exchange.

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

Sintaxe

Thumbprint

Export-ExchangeCertificate
    [-Thumbprint] <String>
    [-Server <ServerIdParameter>]
    [-BinaryEncoded]
    [-Confirm]
    [-DomainController <Fqdn>]
    [-FileName <String>]
    [-Password <SecureString>]
    [-WhatIf]
    [<CommonParameters>]

Identity

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 de troca de informações pessoais especificado pela RSA Laboratories. 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 Exchange, você precisa exportar o certificado usando o parâmetro Password para incluir a chave privada ou a cadeia de confiança no arquivo de certificado. O certificado autoassinado padrão do Microsoft Exchange ou os novos certificados autoassinados criados no Centro de administração do Exchange ou usando as configurações padrão do cmdlet do 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 pela RFC 2314. Para obter mais informações, consulte PKCS #10: Sintaxe de 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. Não é possível importar uma solicitação de certificado exportada em outro servidor.

Para executar esse cmdlet, você precisa ter permissões. Embora este artigo 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 5113ae0233a72fccb75b1d0198628675333d010e.
  • O arquivo de certificado exportado é codificado em DER (binário), não em Base64.
  • Insira a senha quando solicitado.
  • O certificado é exportado para o arquivo C:\Data\HT cert.pfx.

Observação: O parâmetro FileName está disponível apenas no Exchange 2013. Para exportar o certificado no Exchange 2016 ou no Exchange 2019, consulte o 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 em 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 está disponível apenas no Exchange 2013. Para exportar a solicitação de certificado pendente no Exchange 2016 ou no Exchange 2019, consulte o 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

Aplicável: Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Server SE

O comutador BinaryEncoded codifica o certificado exportado ou o arquivo de solicitação de certificado usando o DER (Distinguished Encoding Rules). 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 também usa o parâmetro Password. Se você não usar essa opção, o arquivo de certificado exportado será codificado em Base64 e você precisará exportar todos os certificados intermediários ou raiz na cadeia de confiança separadamente.

Propriedades do parâmetro

Tipo:SwitchParameter
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-Confirm

Aplicável: Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Server SE

A opção Confirm especifica se a solicitação de confirmação deve ser mostrada ou ocultada. A forma como essa opção afeta o cmdlet depende se o cmdlet requer confirmação antes de continuar.

  • Cmdlets destrutivos (por exemplo, Remover- cmdlets) têm uma pausa interna que força você a confirmar o comando antes de continuar. Para estes cmdlets, você pode pular o pedido de confirmação usando esta sintaxe exata: -Confirm:$false.
  • A maioria dos outros cmdlets (por exemplo, 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 reconhecer o comando antes de continuar.

Propriedades do parâmetro

Tipo:SwitchParameter
Valor padrão:None
Dá suporte a curingas:False
DontShow:False
Aliases:cf

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-DomainController

Aplicável: Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Server SE

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.

Propriedades do parâmetro

Tipo:Fqdn
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-FileName

Aplicável: Exchange Server 2013

Observação: esse parâmetro foi removido do Exchange 2016 e do Exchange 2019 pelas Atualizações Cumulativas do S1 de 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 no Exemplo 4.

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

O parâmetro FileName especifica o nome e o caminho do certificado exportado ou do arquivo de solicitação de certificado. Você poderá usar um caminho local se o certificado ou a solicitação de certificado estiver localizado no mesmo servidor 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 (").

Propriedades do parâmetro

Tipo:String
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-Identity

Aplicável: Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Server SE

O parâmetro Identity especifica o certificado ou solicitação de 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.

Propriedades do parâmetro

Tipo:ExchangeCertificateIdParameter
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

Identity
Cargo:1
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-Password

Aplicável: Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Server SE

O parâmetro Password especifica a senha para a 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 esse 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 será solicitado a inserir a senha com segurança ao executar esse comando.

Propriedades do parâmetro

Tipo:SecureString
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-Server

Aplicável: Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Server SE

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

Não é possível usar esse parâmetro com o parâmetro Identity, mas você pode usá-lo com o parâmetro Thumbprint.

Propriedades do parâmetro

Tipo:ServerIdParameter
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

Thumbprint
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-Thumbprint

Aplicável: Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Server SE

O parâmetro Thumbprint especifica o certificado ou a solicitação de 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.

Propriedades do parâmetro

Tipo:String
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

Thumbprint
Cargo:1
Obrigatório:True
Valor do pipeline:True
Valor do pipeline pelo nome da propriedade:True
Valor dos argumentos restantes:False

-WhatIf

Aplicável: Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Server SE

A opção WhatIf mostra o que o comando faz sem fazer nenhuma alteração. Não é preciso especificar um valor com essa opção.

Propriedades do parâmetro

Tipo:SwitchParameter
Valor padrão:None
Dá suporte a curingas:False
DontShow:False
Aliases:wi

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

CommonParameters

Este cmdlet dá suporte aos parâmetros comuns: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Para obter mais informações, confira about_CommonParameters.

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.