Export-ExchangeCertificate
이 cmdlet은 온-프레미스 Exchange에서만 제공됩니다.
Export-ExchangeCertificate cmdlet을 사용하여 Exchange 서버에서 기존 인증서 및 보류 중인 인증서 요청(인증서 서명 요청 또는 CSR이라고도 함)을 내보냅니다.
아래 구문 섹션에 있는 매개 변수 집합에 대한 자세한 내용은 Exchange cmdlet 구문을 참조하십시오.
구문
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
Export-ExchangeCertificate cmdlet은 다음 형식의 파일을 만듭니다.
인증서 파일: 인증서를 내보낼 때 명령은 PKCS #12 파일을 만듭니다. PKCS #12는 RSA Laboratories에서 지정하는 개인 정보 교환 구문 표준입니다. 자세한 내용은 PKCS #12: 개인 정보 교환 구문 표준을 참조하세요.
Exchange 서버에서 인증서를 내보내려면 인증서의 PrivateKeyExportable 속성에 True 값이 있어야 합니다. 다른 Exchange 서버에서 내보낸 인증서를 가져오려면 암호 매개 변수를 사용하여 인증서 파일에 프라이빗 키 또는 신뢰 체인을 포함시켜 인증서를 내보내야 합니다. 기본 Microsoft Exchange 관리 센터에서 만들거나 New-ExchangeCertificate cmdlet의 기본 설정을 사용하여 만든 Exchange 자체 서명된 인증서 또는 새 자체 서명된 인증서는 프라이빗 키를 내보낼 수 없으므로 내보낼 수 없습니다(PrivateKeyExportable 매개 변수의 기본값은 $false).
인증서 요청 파일: 인증서 요청을 내보낼 때 명령은 PKCS #10 파일을 만듭니다. PKCS #10은 RFC 2314에 지정된 인증 요청 구문 표준입니다. 자세한 내용은 PKCS #10: 인증 요청 구문을 참조하세요.
일반적으로 인증 기관에 인증서 요청을 다시 제출하는 경우 인증서 요청 파일을 내보내게 됩니다. 내보낸 인증서 요청을 다른 서버로 가져올 수 없습니다.
이 cmdlet을 실행하려면 먼저 사용 권한을 할당받아야 합니다. 이 항목에는 해당 cmdlet의 모든 매개 변수가 나열되지만 사용자에게 할당된 사용 권한에 포함되지 않은 일부 매개 변수에는 액세스할 수 없습니다. 조직에서 cmdlet 또는 매개 변수를 실행하는 데 필요한 사용 권한을 확인하려면 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입니다.
- 내보낸 인증서 파일은 Base64가 아닌 DER 인코딩(이진)입니다.
- 메시지가 표시되면 암호를 입력합니다.
- 인증서는 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에서 동일한 인증서를 내보냅니다. FileName 매개 변수를 사용할 수 없으므로 이 메서드는 Exchange 2016 및 Exchange 2019에서 필요합니다.
예 3
Export-ExchangeCertificate -Thumbprint 72570529B260E556349F3403F5CF5819D19B3B58 -Server Mailbox01 -FileName "\\FileServer01\Data\Fabrikam.req"
Exchange 2013에서 이 예제에서는 다음 설정을 사용하여 보류 중인 인증서 요청을 파일로 내보냅니다.
- 내보내기 인증서 요청의 지문 값은 72570529B260E556349F3403F5CF5819D19B3B58이며 Mailbox01이라는 Exchange 서버에 있습니다.
- 내보낸 인증서 요청 파일은 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에서 동일한 보류 중인 인증서 요청을 내보냅니다. FileName 매개 변수를 사용할 수 없으므로 이 메서드는 Exchange 2016 및 Exchange 2019에서 필요합니다.
매개 변수
-BinaryEncoded
BinaryEncoded 스위치는 DER(Distinguished Encoding Rule)를 사용하여 내보낸 인증서 또는 인증서 요청 파일을 인코딩합니다. 이 스위치를 사용하면 값을 지정할 필요가 없습니다.
일반적으로 Password 매개 변수도 사용할 경우 인증서와 해당 개인 키 또는 신뢰 체인을 단일 이진 파일에 저장할 수 있기 때문에 인증서를 내보낼 때 이 스위치를 사용합니다. 이 스위치를 사용하지 않으면 내보낸 인증서 파일이 Base64로 인코딩되며 신뢰 체인의 모든 중간 인증서 또는 루트 인증서를 따로 내보내야 합니다.
형식: | SwitchParameter |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
적용 대상: | Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019 |
-Confirm
Confirm 스위치는 확인 메시지를 표시할지 여부를 지정합니다. 진행하기 전에 cmdlet이 확인을 요구하는지에 따라 이 스위치가 cmdlet에 미치는 영향이 달라집니다.
- 파괴적인 cmdlet(예: Remove-* cmdlet)에는 계속하기 전에 명령을 강제로 승인하도록 하는 기본 제공 일시 중지가 있습니다. 이러한 cmdlet의 경우 정확한 구문
-Confirm:$false
를 사용하여 확인 메시지를 건너뛸 수 있습니다. - 대부분의 다른 cmdlet(예: New-* 및 Set-* cmdlet)에는 기본 제공 일시 중지가 없습니다. 이러한 cmdlet의 경우 값 없이 스위치를 지정하면 계속하기 전에 명령을 강제로 확인하도록 하는 일시 중지가 추가됩니다.
형식: | SwitchParameter |
별칭: | cf |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
적용 대상: | Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019 |
-DomainController
DomainController 매개 변수는 Active Directory에서 데이터를 읽거나 쓰기 위해 이 cmdlet이 사용하는 도메인 컨트롤러를 지정합니다. FQDN(정규화된 도메인 이름)으로 도메인 컨트롤러를 식별합니다. 예: dc01.contoso.com
Microsoft Edge 전송 서버에서는 DomainController 매개 변수가 지원되지 않습니다. Microsoft Edge 전송 서버는 AD LDS(Active Directory Lightweight Directory Service)의 로컬 인스턴스를 사용하여 데이터를 읽고 씁니다.
형식: | Fqdn |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
적용 대상: | Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019 |
-FileName
참고: 이 매개 변수는 UNC 경로 값을 허용하므로 2022 H1 누적 업데이트 Exchange 2016 및 Exchange 2019에서 제거되었습니다. FileName 매개 변수를 사용하지 않고 인증서 또는 인증서 요청을 파일로 내보내려면 예제 2 및 예제 4에 설명된 메서드를 사용합니다.
이 매개 변수는 Exchange 2013에서만 사용할 수 있습니다.
FileName 매개 변수는 내보낸 인증서 또는 인증서 요청 파일의 이름 및 경로를 지정합니다. 인증서 또는 인증서 요청이 명령을 실행하는 동일한 Exchange 서버에 있는 경우 로컬 경로를 사용할 수 있습니다. 그렇지 않으면 UNC 경로(\\Server\Share
)를 사용합니다. 값에 공백이 포함되어 있으면 값을 큰따옴표(")로 묶습니다.
형식: | String |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
적용 대상: | Exchange Server 2013 |
-Identity
Identity 매개 변수는 내보낼 인증서 또는 인증서 요청을 지정합니다. 유효한 값은 다음과 같습니다.
ServerNameOrFQDN\Thumbprint
Thumbprint
Get-ExchangeCertificate cmdlet을 사용하여 지문 값을 찾을 수 있습니다.
이 매개 변수는 Server 매개 변수와 함께 사용할 수 없습니다.
Identity 매개 변수가 아닌 Thumbprint 매개 변수는이 cmdlet의 위치 매개 변수입니다. 따라서 지문 값을 단독으로 지정하면 명령에서 해당 값을 Thumbprint 매개 변수에 사용합니다.
형식: | ExchangeCertificateIdParameter |
Position: | 1 |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
적용 대상: | 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
이 명령을 실행할 때 암호를 안전하게 입력하라는 메시지가 표시됩니다.
형식: | SecureString |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
적용 대상: | Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019 |
-Server
Server 매개 변수는 이 명령을 실행할 Exchange 서버를 지정합니다. 서버를 고유하게 식별하는 모든 값을 사용할 수 있습니다. 예제:
- 이름
- FQDN
- DN(고유 이름)
- Exchange 레거시 DN
Exchange 레거시 DN
이 매개 변수는 Identity 매개 변수와 함께 사용할 수 없지만 Thumbprint 매개 변수와는 함께 사용할 수 있습니다.
형식: | ServerIdParameter |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
적용 대상: | Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019 |
-Thumbprint
Thumbprint 매개 변수는 내보낼 인증서 또는 인증서 요청을 지정합니다. Get-ExchangeCertificate cmdlet을 사용하여 지문 값을 찾을 수 있습니다.
Identity 매개 변수가 아닌 Thumbprint 매개 변수는이 cmdlet의 위치 매개 변수입니다. 따라서 지문 값을 단독으로 지정하면 명령에서 해당 값을 Thumbprint 매개 변수에 사용합니다.
형식: | String |
Position: | 1 |
Default value: | None |
필수: | True |
파이프라인 입력 허용: | True |
와일드카드 문자 허용: | False |
적용 대상: | Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019 |
-WhatIf
Whatif 스위치는 해당 명령의 동작을 시뮬레이션합니다. 이 스위치를 사용하면 변경 내용을 실제로 적용하지 않고 발생할 변경 내용을 확인할 수 있습니다. 이 스위치를 사용하면 값을 지정할 필요가 없습니다.
형식: | SwitchParameter |
별칭: | wi |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
적용 대상: | Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019 |
입력
Input types
이 cmdlet이 수락하는 입력 형식을 보려면 Cmdlet 입출력 형식을 참조하세요. cmdlet의 입력 형식 필드가 비어 있을 경우 cmdlet은 입력 데이터를 수락하지 않습니다.
출력
Output types
이 cmdlet이 수락하는 반환 형식(출력 형식이라고도 함)을 보려면 Cmdlet 입출력 형식을 참조하세요. 출력 형식 필드가 비어 있는 경우 cmdlet은 데이터를 반환하지 않습니다.