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 Laboratories. Дополнительные сведения см. в разделе PKCS No 12: Стандарт синтаксиса Обмена персональными данными.

    Чтобы экспортировать сертификат с сервера Exchange Server, свойство PrivateKeyExportable сертификата должно иметь значение True. Чтобы импортировать экспортированный сертификат на другой сервер Exchange Server, необходимо экспортировать сертификат с помощью параметра Password, чтобы включить закрытый ключ или цепочку доверия в файл сертификата. По умолчанию Майкрософт самозаверяющий сертификат Exchange или новые самозаверяющие сертификаты, созданные в Центре администрирования Exchange или с помощью параметров командлета New-ExchangeCertificate по умолчанию, не экспортируются, так как закрытый ключ не экспортируется (значение по умолчанию параметра 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.
  • Экспортированный файл сертификата имеет кодировку DER (двоичный), а не Base64.
  • Введите пароль при появлении запроса.
  • Сертификат экспортируется в файл 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. Этот метод является обязательным в Exchange 2016 и Exchange 2019, так как параметр FileName недоступен.

Пример 3

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

В Exchange 2013 этот пример экспортирует ожидающий запрос сертификата в файл со следующими параметрами:

  • Запрос на экспорт сертификата имеет значение отпечатка 72570529B260E556349F3403F5CF5819D19B3B58 и находится на сервере Exchange с именем Mailbox01.
  • Запрос на сертификат экспортируется в кодировке 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. Этот метод является обязательным в Exchange 2016 и Exchange 2019, так как параметр FileName недоступен.

Параметры

-BinaryEncoded

Параметр BinaryEncoded кодирует экспортируемый файл сертификата или запроса на сертификат по правилам DER. Указывать значение для этого параметра необязательно.

Как правило, этот параметр используется при экспорте сертификата, так как позволяет хранить сертификат и его закрытый ключ или цепочку сертификатов в едином двоичном файле, если при этом также выбран параметр Password. Если не использовать этот параметр, к экспортируемому файлу сертификата будет применяться кодировка Base64, и вам нужно будет экспортировать все промежуточные или корневые сертификаты в цепочке сертификатов отдельно.

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

Переключатель подтверждения указывает, показывать или скрывать запрос подтверждения. Влияние этого параметра на командлет зависит от того, требуется ли командлету подтверждение перед выполнением.

  • Деструктивные командлеты (например, командлеты 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. Вы определяете контроллер домена по его полному доменному имени (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

-FileName

Примечание. Этот параметр был удален из Exchange 2016 и Exchange 2019 накопительным Обновления H1 за 2022 год, так как он принимает значения пути UNC. Чтобы экспортировать сертификат или запрос сертификата в файл без использования параметра FileName, используйте методы, описанные в примерах 2 и 4.

Этот параметр доступен только в Exchange 2013.

Параметр FileName определяет имя экспортируемого файла сертификата или запроса на сертификат и путь к нему. Вы можете использовать локальный путь, если сертификат или запрос сертификата находится на том же сервере Exchange Server, где выполняется команда. В противном случае используйте UNC-путь (\\Server\Share). Если значение содержит пробелы, его необходимо заключить в кавычки (").

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

-Identity

Параметр Identity определяет сертификат или запрос на сертификат, который нужно экспортировать. Допустимые значения:

  • ServerNameOrFQDN\Thumbprint
  • Thumbprint

Значение отпечатка можно найти с помощью командлета Get-ExchangeCertificate.

Этот параметр нельзя использовать вместе с параметром Server.

В качестве позиционного параметра для этого командлета выступает параметр Thumbprint, а не параметр Identity. Поэтому, когда указывается только значение отпечатка, команда использует это значение для параметра 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

Параметр 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

-Server

Параметр Server задает сервер Exchange, на котором следует выполнить эту команду. Можно использовать любое значение, однозначно определяющее сервер. Примеры:

  • Имя.
  • полное доменное имя;
  • различающееся имя (DN);
  • Устаревшее различающееся имя Exchange

Устаревшее различающееся имя Exchange

Этот параметр нельзя использовать с параметром Identity, но можно использовать с параметром 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

Параметр Thumbprint определяет сертификат или запрос на сертификат, который нужно экспортировать. Значение отпечатка можно найти с помощью командлета Get-ExchangeCertificate.

В качестве позиционного параметра для этого командлета выступает параметр Thumbprint, а не параметр Identity. Поэтому, когда указывается только значение отпечатка, команда использует это значение для параметра 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

Переключатель 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

Сведения о типах возвращаемых данных, которые также называются типами выходных данных, которые принимает этот командлет, см. в разделе Типы входных и выходных данных командлетов. Если поле Тип вывода пусто, командлет не возвращает данные.