Export-ExchangeCertificate

Este cmdlet solo está disponible en el entorno local de Exchange.

Use el cmdlet Export-ExchangeCertificate para exportar certificados existentes y solicitudes de certificado pendientes (también conocidas como solicitudes de firma de certificados o CSR) desde servidores exchange.

Para obtener más información acerca de los conjuntos de parámetros de la sección Sintaxis a continuación, vea Sintaxis del cmdlet de Exchange.

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

El cmdlet Export-ExchangeCertificate crea los siguientes tipos de archivos:

  • Archivos de certificado: al exportar un certificado, el comando crea un archivo PKCS #12. PKCS #12 es el estándar de sintaxis de intercambio de información personal especificado por laboratorios RSA. Para obtener más información, vea PKCS #12: Personal Information Exchange Syntax Standard.

    Para exportar un certificado desde un servidor exchange, la propiedad PrivateKeyExportable del certificado debe tener el valor True. Para importar un certificado exportado en otro servidor de Exchange, debe exportar el certificado mediante el parámetro Password para incluir la clave privada o la cadena de confianza en el archivo de certificado. El Microsoft certificado autofirmado de Exchange o los nuevos certificados autofirmados que cree en el Centro de administración de Exchange o mediante la configuración predeterminada del cmdlet New-ExchangeCertificate no se pueden exportar, ya que la clave privada no es exportable (el valor predeterminado del parámetro PrivateKeyExportable es $false).

  • Archivos de solicitud de certificado: al exportar una solicitud de certificado, el comando crea un archivo PKCS #10. PKCS #10 es el estándar de sintaxis de solicitud de certificación que se especifica en RFC 2314. Para obtener más información, vea PKCS #10: Sintaxis de solicitud de certificación.

    Generalmente, exporta el archivo de una solicitud de certificado si necesita volver a enviar la solicitud de certificado a la entidad de certificación. No puede importar una solicitud de certificado exportada de otro servidor.

Deberá tener asignados permisos antes de poder ejecutar este cmdlet. Aunque en este tema se enumeran todos los parámetros correspondientes a este cmdlet, tal vez no tenga acceso a algunos parámetros si no están incluidos en los permisos que se le han asignado. Para obtener los permisos necesarios para ejecutar cualquier cmdlet o parámetro en su organización, consulte Find the permissions required to run any Exchange cmdlet.

Ejemplos

Ejemplo 1

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

En Exchange 2013, este ejemplo exporta un certificado del servidor exchange local a un archivo con la siguiente configuración:

  • El certificado que se va a exportar tiene el valor de huella digital 5113ae0233a72fccb75b1d0198628675333d010e.
  • El archivo de certificado exportado está codificado en DER (binario), no en Base64.
  • Escriba la contraseña cuando se le solicite.
  • El certificado se exporta al archivo C:\Data\HT cert.pfx.

Nota: El parámetro FileName solo está disponible en Exchange 2013. Para exportar el certificado en Exchange 2016 o Exchange 2019, consulte el ejemplo 2.

Ejemplo 2

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

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

En este ejemplo se exporta el mismo certificado del ejemplo 1. Este método es necesario en Exchange 2016 y Exchange 2019 porque el parámetro FileName no está disponible.

Ejemplo 3

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

En Exchange 2013, este ejemplo exporta una solicitud de certificado pendiente a un archivo con la siguiente configuración:

  • La solicitud de certificado que se va a exportar tiene el valor de huella digital 72570529B260E556349F3403F5CF5819D19B3B58 y se encuentra en el servidor Exchange denominado Mailbox01.
  • El archivo de la solicitud de certificado que se ha exportado se ha codificado en Base64, por lo que también se muestra en pantalla la información que se escribe en el archivo.
  • La solicitud de certificado se exporta al archivo \\FileServer01\Data\Fabrikam.req.

Nota: El parámetro FileName solo está disponible en Exchange 2013. Para exportar la solicitud de certificado pendiente en Exchange 2016 o Exchange 2019, consulte el ejemplo 4.

Ejemplo 4

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

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

En este ejemplo se exporta la misma solicitud de certificado pendiente del ejemplo 3. Este método es necesario en Exchange 2016 y Exchange 2019 porque el parámetro FileName no está disponible.

Parámetros

-BinaryEncoded

El modificador BinaryEncoded codifica el archivo de la solicitud de certificado o del certificado exportado mediante las reglas de codificación distinguida (DER). No es necesario especificar un valor con este modificador.

Normalmente, este modificador se usa cuando se exporta un certificado, ya que puede almacenar el certificado y su clave privada o la cadena de confianza en un único archivo binario cuando también se usa el parámetro Password. Si no usa este modificador, el archivo de certificado exportado está codificado en Base64 y necesitará exportar por separado cualquier certificado intermediario o raíz en la cadena de confianza.

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

El modificador Confirm especifica si se debe mostrar u ocultar el mensaje de confirmación. Cómo afecta este modificador el cmdlet depende de si el cmdlet requiere confirmación antes de continuar.

  • Los cmdlets destructivos (por ejemplo, cmdlets Remove-*) tienen una pausa integrada que obliga a confirmar el comando antes de continuar. Para estos cmdlets, puede omitir el mensaje de confirmación mediante esta sintaxis exacta: -Confirm:$false.
  • La mayoría de los demás cmdlets (por ejemplo, los cmdlets New-* y Set-*) no tienen una pausa integrada. En estos cmdlets, si se especifica el modificador Confirm sin ningún valor, se introduce una pausa que obliga a confirmar el 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

El parámetro DomainController especifica el controlador de dominio que el cmdlet usa para leer datos de Active Directory o escribirlos. El controlador de dominio se identifica por su nombre de dominio completo (FQDN). Por ejemplo, dc01.contoso.com.

El parámetro DomainController no es compatible con los servidores de transporte perimetral. Un servidor de transporte perimetral usa la instancia local de Active Directory Lightweight Directory Services (AD LDS) para leer y escribir datos.

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

Nota: Este parámetro se quitó de Exchange 2016 y Exchange 2019 por la Novedades acumulativa de 2022 H1 porque acepta valores de ruta de acceso UNC. Para exportar el certificado o la solicitud de certificado a un archivo sin usar el parámetro FileName, use los métodos descritos en el ejemplo 2 y el ejemplo 4.

Este parámetro solo está disponible en Exchange 2013.

El parámetro FileName especifica el nombre y la ruta de acceso del archivo de la solicitud de certificado o del certificado exportado. Puede usar una ruta de acceso local si el certificado o la solicitud de certificado se encuentra en el mismo servidor de Exchange donde ejecuta el comando. De lo contrario, use una ruta de acceso UNC (\\Server\Share). Si el valor contiene espacios, escriba el valor entre comillas (").

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

-Identity

El parámetro Identity especifica el certificado o la solicitud de certificado que desea exportar. Los valores admitidos son:

  • ServerNameOrFQDN\Thumbprint
  • Thumbprint

Puede encontrar el valor de huella digital utilizando el cmdlet Get-ExchangeCertificate.

Este parámetro no se puede usar con el parámetro Server.

El parámetro Thumbprint, y no el parámetro Identity, es el parámetro de posición de este cmdlet. Por lo tanto, cuando se especifica un valor de huella digital por sí solo, el comando usa ese valor para el parámetro Thumbprint.

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

El parámetro Password especifica la contraseña de la clave privada o la cadena de confianza en el archivo de certificado exportado. Para importar el archivo de certificado exportado en otro servidor, debe conocer la contraseña.

Puede usar los métodos siguientes como valor para este parámetro:

  • (ConvertTo-SecureString -String '<password>' -AsPlainText -Force).
  • Antes de ejecutar este comando, almacene la contraseña como variable (por ejemplo, ) y, a continuación, $password = Read-Host "Enter password" -AsSecureStringuse la variable ($password) para el valor.
  • (Get-Credential).password para que se le pida que escriba la contraseña de forma segura al ejecutar este 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

El parámetro Server especifica el servidor Exchange en el que desea ejecutar este comando. Puede usar cualquier valor que identifique de forma exclusiva el servidor. Por ejemplo:

  • Name
  • FQDN
  • Distinguished name (DN)
  • Nombre distintivo (DN) heredado de Exchange

Nombre distintivo (DN) heredado de Exchange

No puede usar este parámetro con el parámetro Identity, pero puede usarlo con el 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

El parámetro Thumbprint especifica el certificado o la solicitud de certificado que desea exportar. Puede encontrar el valor de huella digital utilizando el cmdlet Get-ExchangeCertificate.

El parámetro Thumbprint, y no el parámetro Identity, es el parámetro de posición de este cmdlet. Por lo tanto, cuando se especifica un valor de huella digital por sí solo, el comando usa ese valor para el parámetro Thumbprint.

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

El modificador WhatIf simula las acciones del comando. Puede usar este modificador para ver los cambios que se producirían, pero sin aplicar los cambios. No es necesario especificar un valor con este modificador.

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 los tipos de entrada que acepta este cmdlet, consulte Tipos de entrada y salida de cmdlet. Si el campo Tipo de entrada de un cmdlet está en blanco, el cmdlet no acepta datos de entrada.

Salidas

Output types

Para ver los tipos de valor devuelto (también conocidos como tipos de resultado) que acepta este cmdlet, consulte Tipos de entrada y salida de cmdlet. Si el campo Tipo de resultado está en blanco, el cmdlet no devuelve datos.