Import-ExchangeCertificate
Этот командлет доступен только в локальной среде Exchange.
Используйте командлет Import-ExchangeCertificate для импорта сертификатов на серверах Exchange. Используйте этот командлет для установки сертификатов, экспортированных с других серверов, а также для выполнения ожидающих запросов на сертификацию (также известных как запросы на подписание сертификата, или CSR) от центров сертификации (ЦС).
Сведения о наборах параметров в разделе Синтаксис ниже см. В разделе Синтаксис командлета Exchange.
Синтаксис
FileData
Import-ExchangeCertificate
-FileData <Byte[]>
[-Confirm]
[-DomainController <Fqdn>]
[-FriendlyName <String>]
[-Password <SecureString>]
[-PrivateKeyExportable <Boolean>]
[-Server <ServerIdParameter>]
[-WhatIf]
[<CommonParameters>]
FileName
Import-ExchangeCertificate
-Instance <String[]>
[-Confirm]
[-DomainController <Fqdn>]
[-FriendlyName <String>]
[-Password <SecureString>]
[-PrivateKeyExportable <Boolean>]
[-Server <ServerIdParameter>]
[-WhatIf]
[<CommonParameters>]
Instance
Import-ExchangeCertificate
-FileName <String>
[-Confirm]
[-DomainController <Fqdn>]
[-FriendlyName <String>]
[-Password <SecureString>]
[-PrivateKeyExportable <Boolean>]
[-Server <ServerIdParameter>]
[-WhatIf]
[<CommonParameters>]
Описание
С помощью командлета Import-ExchangeCertificate можно импортировать файлы сертификатов следующих типов на сервер Exchange.
- Файл APKCS 7 сертификата или цепочки сертификатов (P7B или P7C), выданный центром сертификации (ЦС). PKCS 7 — это стандарт Cryptographic Message Syntax (синтаксис, используемый для цифровых подписей или шифрования данных с помощью криптографии на основе открытых ключей, включая сертификаты). Дополнительные сведения см. в статье PKCS #7 Понятия синтаксиса криптографических сообщений.
- Файл сертификата PKCS #12 (.cer, CRT, DER, P12 или PFX), содержащий закрытый ключ. PKCS #12 — это синтаксис обмена личной информацией Standard, формат файлов, используемый для хранения сертификатов с соответствующими закрытыми ключами, защищенными паролем. Дополнительные сведения см. в разделе PKCS #12: Синтаксис обмена персональной информацией v1.1.
После импорта сертификата на сервер Exchange Server необходимо назначить сертификат одной или нескольким службам Exchange с помощью командлета Enable-ExchangeCertificate.
При настройке сертификатов для служб TLS необходимо учитывать множество факторов. Необходимо понять, как эти факторы могут повлиять на общую конфигурацию. Дополнительные сведения см. в статье Цифровые сертификаты и шифрование в Exchange Server.
Протокол TLS заменил протокол SSL в качестве протокола шифрования данных, передаваемых между компьютерными системами. В прошлом термины "TLS" и "SSL" часто использовались как взаимозаменяемые. Любая ссылка на SSL в документации по Exchange фактически означает TLS, если не указан номер версии (например, SSL 3.0). Дополнительные сведения см. в статье Рекомендации по настройке TLS Exchange Server.
Для его запуска необходимо получить соответствующие разрешения. Хотя в этой статье перечислены все параметры командлета, у вас может не быть доступа к некоторым параметрам, если они не включены в назначенные вам разрешения. Сведения о необходимых разрешениях для запуска командлетов и использования параметров в организации см. в статье Find the permissions required to run any Exchange cmdlet.
Примеры
Пример 1
Import-ExchangeCertificate -Server Mailbox01 -FileName "\\FileServer01\Data\Exported Fabrikam Cert.pfx" -Password (Get-Credential).password
В Exchange 2013 этот пример импортирует сертификат из PKCS-файла #12 из \\FileServer01\Data\Exported Fabrikam Cert.pfx на сервер Exchange с именем Mailbox01. Для этого файла требуется пароль файла. Этот сертификат мог быть экспортирован с другого сервера или выдан центром сертификации.
Чтобы экспортировать сертификат в Exchange 2016 или Exchange 2019, используйте параметр FileData, как описано в примере 2.
Пример 2
Import-ExchangeCertificate -Server Mailbox01 -FileData ([System.IO.File]::ReadAllBytes('\\FileServer01\Data\Exported Fabrikam Cert.pfx')) -Password (Get-Credential).password
В этом примере импортируется тот же файл сертификата, что и в примере 1. Этот метод необходим в Exchange 2016 и Exchange 2019, так как параметр FileName недоступен.
Пример 3
Import-ExchangeCertificate -FileData ([System.IO.File]::ReadAllBytes('C:\Certificates\Fabrikam IssuedCert.p7b'))
В этом примере импортируется цепочка сертификатов из PKCS #7 файла C:\Certificates\Fabrikam IssuedCert.p7b на локальном сервере Exchange.
Параметры
-Confirm
Применимо: Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Server SE
Переключатель подтверждения указывает, показывать или скрывать запрос подтверждения. То, как этот переключатель влияет на командлет, зависит от того, требует ли командлет подтверждения перед продолжением.
- Деструктивные командлеты (например, командлеты Remove-) имеют встроенную паузу, которая заставляет вас подтвердить команду перед продолжением. Можно пропускать запросы на подтверждение этих командлетов, используя следующий синтаксис:
-Confirm:$false. - Большинство других командлетов (например, командлеты New- и Set-) не имеют встроенной паузы. Для этих командлетов указание параметра Confirm без значения приводит к паузе, которая вынуждает вас подтвердить команду перед продолжением.
Свойства параметров
| Тип: | SwitchParameter |
| Значение по умолчанию: | None |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
| Aliases: | cf |
Наборы параметров
(All)
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-DomainController
Применимо: Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Server SE
Параметр DomainController указывает контроллер домена, который используется этим командлетом для чтения или записи данных в Active Directory. Вы определяете контроллер домена по его полному доменному имени (FQDN). Например, dc01.contoso.com.
Параметр DomainController не поддерживается пограничными транспортными серверами. Пограничный транспортный сервер использует локальный экземпляр службы Active Directory облегченного доступа к каталогам (AD LDS) для чтения и записи данных.
Свойства параметров
| Тип: | Fqdn |
| Значение по умолчанию: | None |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
Наборы параметров
(All)
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-FileData
Применимо: Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Server SE
Параметр FileData указывает содержимое файла сертификата, который нужно импортировать.
Допустимое значение этого параметра требует чтения файла в объект с байтовой кодировкой со следующим синтаксисом: ([System.IO.File]::ReadAllBytes('<Path>\<FileName>')). Вы можете использовать эту команду в качестве значения параметра или вы можете записать выходные данные в переменную ($data = [System.IO.File]::ReadAllBytes('<Path>\<FileName>')) и использовать переменную как значение параметра ($data).
Локальный путь можно использовать, если файл сертификата находится на сервере Exchange, где выполняется команда, и это тот же сервер, на котором вы хотите установить сертификат. В противном случае используйте UNC-путь (\\Server\Share).
При использовании этого параметра для импорта текстовых файлов сертификатов PKCS #7 следующие файлы содержат: -----BEGIN CERTIFICATE----- и -----END CERTIFICATE----- или -----BEGIN PKCS7----- и -----END PKCS7----- и имеют расширения имен файлов .p7b или .p7c.
Если значение содержит пробелы, его необходимо заключить в кавычки (").
Свойства параметров
| Тип: | Byte[] |
| Значение по умолчанию: | None |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
Наборы параметров
FileData
| Position: | Named |
| Обязательно: | True |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-FileName
Применимо: Exchange Server 2013
Примечание. Этот параметр был удален из Exchange 2016 и Exchange 2019 накопительным обновлением за первое полугодие 2022 г., поскольку он принимает значения путей UNC. Чтобы импортировать файл сертификата без использования параметра FileName, используйте параметр FileData.
Этот параметр доступен только в Exchange 2013.
Параметр FileName указывает файл сертификата, который нужно импортировать. Обычно этот параметр используется для двоичных файлов сертификатов PKCS 12 с расширениями .cer, .crt, .der, .p12 или .pfx. Двоичный файл сертификата этого типа защищен паролем, если содержит закрытый ключ или цепочку сертификатов.
Локальный путь можно использовать, если файл сертификата находится на сервере Exchange, где выполняется команда, и это тот же сервер, на котором вы хотите установить сертификат. В противном случае используйте UNC-путь (\\Server\Share).
Если значение содержит пробелы, его необходимо заключить в кавычки (").
Свойства параметров
| Тип: | String |
| Значение по умолчанию: | None |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
Наборы параметров
Instance
| Position: | Named |
| Обязательно: | True |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-FriendlyName
Применимо: Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Server SE
Параметр FriendlyName указывает понятное имя сертификата. Длина значения не должна превышать 64 символов.
Понятное имя представляет собой описательный текст, который не влияет на функциональность сертификата.
Свойства параметров
| Тип: | String |
| Значение по умолчанию: | None |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
Наборы параметров
(All)
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-Instance
Применимо: Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Server SE
Этот параметр устарел и больше не используется.
Свойства параметров
| Тип: | String[] |
| Значение по умолчанию: | None |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
Наборы параметров
FileName
| Position: | Named |
| Обязательно: | True |
| Значение из конвейера: | True |
| Значение из конвейера по имени свойства: | True |
| Значение из оставшихся аргументов: | False |
-Password
Применимо: Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Server SE
Параметр Password указывает пароль, необходимый для импорта сертификата.
В качестве значения для этого параметра можно использовать следующие методы:
-
(ConvertTo-SecureString -String '<password>' -AsPlainText -Force). - Прежде чем выполнить эту команду,
$password = Read-Host "Enter password" -AsSecureStringсохраните пароль в виде переменной (например ), а затем используйте переменную ($password) в качестве значения. -
(Get-Credential).passwordдля получения запроса на безопасный ввод пароля при выполнении этой команды.
Свойства параметров
| Тип: | SecureString |
| Значение по умолчанию: | None |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
Наборы параметров
(All)
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-PrivateKeyExportable
Применимо: Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Server SE
Параметр PrivateKeyExportable указывает, содержит ли сертификат экспортируемый закрытый ключ, а также определяет, можно ли экспортировать сертификат с этого сервера. Допустимые значения:
- $true. Закрытый ключ можно экспортировать, поэтому сертификат можно экспортировать с этого сервера.
- $false. Закрытый ключ нельзя экспортировать, поэтому экспортировать сертификат с этого сервера невозможно. Это значение используется по умолчанию.
Свойства параметров
| Тип: | Boolean |
| Значение по умолчанию: | None |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
Наборы параметров
(All)
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-Server
Применимо: Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Server SE
Параметр Server задает сервер Exchange, на котором следует выполнить эту команду. Можно использовать любое значение, однозначно определяющее сервер. Примеры:
- Имя.
- полное доменное имя;
- различающееся имя (DN);
- Устаревшее различающееся имя Exchange
Устаревшее различающееся имя Exchange
Свойства параметров
| Тип: | ServerIdParameter |
| Значение по умолчанию: | None |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
Наборы параметров
(All)
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-WhatIf
Применимо: Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Server SE
Переключатель WhatIf показывает, что команда делает без каких-либо изменений. С этим параметром не нужно указывать значение.
Свойства параметров
| Тип: | SwitchParameter |
| Значение по умолчанию: | None |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
| Aliases: | wi |
Наборы параметров
(All)
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
CommonParameters
Этот командлет поддерживает общие параметры: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction и -WarningVariable. Дополнительные сведения см. в статье about_CommonParameters.
Входные данные
Input types
Чтобы просмотреть типы входных данных, которые принимает этот командлет, см. Типы входных и выходных данных командлета. Если поле "Типы входных данных" для командлета пусто, командлет не принимает входные данные.
Выходные данные
Output types
Чтобы просмотреть типы возвращаемых данных, также называемые типами вывода, которые принимает этот командлет, см. раздел Типы ввода и вывода командлета. Если поле "Типы выходных данных" пусто, командлет не возвращает данные.