Export-ExchangeCertificate
Questo cmdlet è disponibile solo in Exchange locale.
Usare il cmdlet Export-ExchangeCertificate per esportare i certificati esistenti e le richieste di certificati in sospeso (note anche come richieste di firma del certificato o CSR) dai server Exchange.
Per informazioni sui set di parametri nella sezione Sintassi, vedere Sintassi del cmdlet di Exchange.
Sintassi
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>]
Descrizione
Il cmdlet Export-ExchangeCertificate consente di creare i seguenti tipi di file:
File di certificato: quando si esporta un certificato, il comando crea un file PKCS #12. PKCS #12 è lo standard Personal Information Exchange Syntax specificato da RSA Laboratories. Per altre informazioni, vedere PKCS #12: Personal Information Exchange Syntax Standard.
Per esportare un certificato da un server Exchange, la proprietà PrivateKeyExportable del certificato deve avere il valore True. Per importare un certificato esportato in un altro server Exchange, è necessario esportare il certificato usando il parametro Password per includere la chiave privata o la catena di attendibilità nel file del certificato. L'impostazione predefinita Microsoft certificato autofirmati di Exchange o nuovi certificati autofirmati creati nell'interfaccia di amministrazione di Exchange o usando le impostazioni predefinite del cmdlet New-ExchangeCertificate non è esportabile, perché la chiave privata non è esportabile (il valore predefinito del parametro PrivateKeyExportable è $false).
File di richiesta di certificato: quando si esporta una richiesta di certificato, il comando crea un file PKCS #10. PKCS #10 è lo standard Certification Request Syntax specificato da RFC 2314. Per altre informazioni, vedere PKCS #10: Certification Request Syntax.For more information, see PKCS #10: Certification Request Syntax.
In genere, si esporta un file di richiesta di certificato se è necessario inviare nuovamente la richiesta di certificato all'autorità di certificazione. Non è possibile importare una richiesta di certificato esportata in un altro server.
È necessario disporre delle autorizzazioni prima di poter eseguire questo cmdlet. Sebbene in questo argomento vengano elencati tutti i parametri relativi al cmdlet, si potrebbe non avere accesso ad alcuni di essi qualora non siano inclusi nelle autorizzazioni assegnate. Per individuare le autorizzazioni necessarie per eseguire cmdlet o parametri nell'organizzazione, vedere Trovare le autorizzazioni necessarie per eseguire i cmdlet di Exchange.
Esempio
Esempio 1
Export-ExchangeCertificate -Thumbprint 5113ae0233a72fccb75b1d0198628675333d010e -FileName "C:\Data\HT cert.pfx" -BinaryEncoded -Password (Get-Credential).password
In Exchange 2013 questo esempio esporta un certificato dal server Exchange locale in un file con le impostazioni seguenti:
- Il certificato da esportare ha il valore di identificazione personale 5113ae0233a72fccb75b1d0198628675333d010e.
- Il file del certificato esportato è codificato der (binario), non Base64.
- Immettere la password quando richiesto.
- Il certificato viene esportato nel file C:\Data\HT cert.pfx.
Nota: il parametro FileName è disponibile solo in Exchange 2013. Per esportare il certificato in Exchange 2016 o Exchange 2019, vedere l'esempio 2.
Esempio 2
$bincert = Export-ExchangeCertificate -Thumbprint 5113ae0233a72fccb75b1d0198628675333d010e -BinaryEncoded -Password (Get-Credential).password
[System.IO.File]::WriteAllBytes('C:\Data\HT cert.pfx', $bincert.FileData)
In questo esempio viene esportato lo stesso certificato dall'esempio 1. Questo metodo è necessario in Exchange 2016 ed Exchange 2019 perché il parametro FileName non è disponibile.
Esempio 3
Export-ExchangeCertificate -Thumbprint 72570529B260E556349F3403F5CF5819D19B3B58 -Server Mailbox01 -FileName "\\FileServer01\Data\Fabrikam.req"
In Exchange 2013 questo esempio esporta una richiesta di certificato in sospeso in un file con le impostazioni seguenti:
- La richiesta di certificato da esportare ha il valore di identificazione personale 72570529B260E556349F3403F5CF5819D19B3B58 e si trova nel server Exchange denominato Mailbox01.
- Il file della richiesta di certificato esportata usa la codifica Base64, quindi sullo schermo vengono visualizzate anche le informazioni scritte nel file.
- La richiesta di certificato viene esportata nel file \\FileServer01\Data\Fabrikam.req.
Nota: il parametro FileName è disponibile solo in Exchange 2013. Per esportare la richiesta di certificato in sospeso in Exchange 2016 o Exchange 2019, vedere l'esempio 4.
Esempio 4
$txtcert = Export-ExchangeCertificate -Thumbprint 72570529B260E556349F3403F5CF5819D19B3B58 -Server Mailbox01
[System.IO.File]::WriteAllBytes('\\FileServer01\Data\Fabrikam.req', [System.Text.Encoding]::Unicode.GetBytes($txtcert))
In questo esempio viene esportata la stessa richiesta di certificato in sospeso dall'esempio 3. Questo metodo è necessario in Exchange 2016 ed Exchange 2019 perché il parametro FileName non è disponibile.
Parametri
-BinaryEncoded
L'opzione BinaryEncoded consente di codificare il certificato o la richiesta di certificato esportato utilizzando DER (Distinguished Encoding Rules). Con questa opzione non è necessario specificare alcun valore.
In genere, si utilizza questa opzione quando si esporta un certificato, poiché è possibile archiviare il certificato e la relativa chiave privata o la catena di certificati in un unico file binario quando si utilizza anche il parametro Password. Se non si utilizza questa opzione, il file di certificato esportato è codificato mediante Base64 e sarà necessario esportare separatamente tutti i certificati intermedi o radice nella catena di certificati.
Tipo: | SwitchParameter |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
Si applica a: | Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019 |
-Confirm
L'opzione Confirm consente di specificare se visualizzare o nascondere la richiesta di conferma. L'impatto di questa opzione sul cmdlet dipende dalla richiesta di conferma del cmdlet prima di procedere.
- I cmdlet distruttivi , ad esempio i cmdlet Remove-*, hanno una pausa predefinita che impone di confermare il comando prima di procedere. Per questi cmdlet, è possibile ignorare la richiesta di conferma usando questa precisa sintassi:
-Confirm:$false
. - La maggior parte degli altri cmdlet (ad esempio, i cmdlet New-* e Set-*) non hanno una pausa predefinita. Per questi cmdlet, specificando l'opzione Confirm senza un valore viene introdotta una pausa che impone all'utente di confermare il comando prima di procedere.
Tipo: | SwitchParameter |
Alias: | cf |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
Si applica a: | Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019 |
-DomainController
Il parametro DomainController consente di specificare il controller di dominio utilizzato da questo cmdlet per la lettura o la scrittura dei dati in Active Directory. Identificare il controller di dominio mediante il relativo nome di dominio completo (FQDN). Ad esempio, dc01.contoso.com.
Il parametro DomainController non è supportato sui server Trasporto Edge. Un server Trasporto Edge usa l'istanza locale di Active Directory Lightweight Directory Services (AD LDS) per leggere e scrivere i dati.
Tipo: | Fqdn |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
Si applica a: | Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019 |
-FileName
Nota: questo parametro è stato rimosso da Exchange 2016 ed Exchange 2019 dal Aggiornamenti cumulativo 2022 H1 perché accetta i valori del percorso UNC. Per esportare il certificato o la richiesta di certificato in un file senza usare il parametro FileName, usare i metodi descritti nell'esempio 2 e nell'esempio 4.
Questo parametro è disponibile solo in Exchange 2013.
Il parametro FileName consente di specificare il nome e il percorso relativo al file del certificato o della richiesta di certificato esportato. È possibile usare un percorso locale se il certificato o la richiesta di certificato si trova nello stesso server Exchange in cui si esegue il comando. In caso contrario, usare un percorso UNC (\\Server\Share
). Se il valore contiene degli spazi, è necessario racchiuderlo tra virgolette (").
Tipo: | String |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
Si applica a: | Exchange Server 2013 |
-Identity
Il parametro Identity consente di specificare il certificato o la richiesta di certificato da esportare. I valori validi sono:
ServerNameOrFQDN\Thumbprint
Thumbprint
È possibile trovare il valore di identificazione personale utilizzando il cmdlet Get-ExchangeCertificate.
Non è possibile usare questo parametro con il parametro Server.
Il parametro Thumbprint, non il parametro Identity, rappresenta il parametro posizionale per questo cmdlet. Di conseguenza, quando si specifica un valore di Thumbprint, il comando usa tale valore per il parametro identificazione personale.
Tipo: | ExchangeCertificateIdParameter |
Posizione: | 1 |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
Si applica a: | Exchange Server 2013, Exchange Server 2016, Exchange Server 2019 |
-Password
Il parametro Password consente di specificare la password per la chiave privata o la catena di certificati nel file del certificato esportato. Per importare il file del certificato esportato in un altro server, è necessario conoscere la password.
È possibile usare i metodi seguenti come valore per questo parametro:
-
(ConvertTo-SecureString -String '<password>' -AsPlainText -Force)
. - Prima di eseguire questo comando, archiviare la password come variabile , ad esempio ,
$password = Read-Host "Enter password" -AsSecureString
e quindi usare la variabile ($password
) per il valore . -
(Get-Credential).password
per richiedere di immettere la password in modo sicuro quando si esegue questo comando.
Tipo: | SecureString |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
Si applica a: | Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019 |
-Server
Il parametro Server specifica il server Exchange in cui si vuole eseguire il comando. È possibile utilizzare qualsiasi valore che identifichi il server in maniera univoca. Ad esempio:
- Nome
- FQDN
- Nome distinto (DN)
- DN legacy di Exchange
DN legacy di Exchange
Non è possibile utilizzare questo parametro con quello Identity. Tuttavia, è possibile utilizzarlo con il parametro Thumbprint.
Tipo: | ServerIdParameter |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
Si applica a: | Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019 |
-Thumbprint
Il parametro Thumbprint consente di specificare il certificato o la richiesta di certificato da esportare. È possibile trovare il valore di identificazione personale utilizzando il cmdlet Get-ExchangeCertificate.
Il parametro Thumbprint, non il parametro Identity, rappresenta il parametro posizionale per questo cmdlet. Di conseguenza, quando si specifica un valore di Thumbprint, il comando usa tale valore per il parametro identificazione personale.
Tipo: | String |
Posizione: | 1 |
Valore predefinito: | None |
Necessario: | True |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | False |
Si applica a: | Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019 |
-WhatIf
L'opzione WhatIf consente di simulare le azioni del comando. È possibile utilizzare tale opzione per visualizzare le modifiche che verrebbero applicate senza effettivamente applicarle. Con questa opzione non è necessario specificare alcun valore.
Tipo: | SwitchParameter |
Alias: | wi |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
Si applica a: | Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019 |
Input
Input types
Per verificare i tipi di input accettati da questo cmdlet, vedere Tipi di input e output dei cmdlet. Se il campo relativo al tipo di input di un cmdlet è vuoto, il cmdlet non accetta dati di input.
Output
Output types
Per verificare i tipi restituiti, detti anche tipi di output, accettati da questo cmdlet, vedere Tipi di input e output dei cmdlet. Se il campo relativo al tipo di output è vuoto, il cmdlet non restituisce dati.