Import-ExchangeCertificate
Questo cmdlet è disponibile solo in Exchange locale.
Utilizzare il cmdlet Import-ExchangeCertificate per importare i certificati nei server Exchange. Questo cmdlet viene utilizzato per installare certificati esportati da altri server e per completare le richieste di certificato in sospeso (dette anche richieste di firma del certificato o CSR) da parte dell'autorità di certificazione.
Per informazioni sui set di parametri nella sezione Sintassi, vedere Sintassi del cmdlet di Exchange.
Sintassi
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>]
Descrizione
È possibile usare il cmdlet Import-ExchangeCertificate per importare i tipi di file di certificato seguenti in un server Exchange:
- Un file APKCS #7 di certificato o una catena di certificati (.p7b o .p7c) rilasciati da un'autorità di certificazione (CA). PKCS #7 è lo Standard di sintassi dei messaggi crittografati, una sintassi utilizzata per la firma digitale oppure per crittografare i dati utilizzando la crittografia a chiave pubblica, certificati inclusi. Per altre informazioni, vedere PKCS #7 Concetti di sintassi della messaggistica crittografica.
- Un file PKCS #12 di certificato (.cer, .crt, .der, .p12, o .pfx) che contiene la chiave privata. PKCS # 12 è lo Standard di sintassi per lo scambio di informazioni personali, un formato di file utilizzato per archiviare i certificati con chiavi private corrispondenti, protette da password. Per altre informazioni, vedere PKCS #12: Sintassi dello scambio di informazioni personali v1.1.
Dopo aver importato un certificato in un server Exchange, è necessario assegnare il certificato a uno o più servizi Exchange usando il cmdlet Enable-ExchangeCertificate.
Quando si configurano i certificati per i servizi TLS (Transport Layer Security), è necessario considerare molti fattori. Occorre comprendere come tali fattori possano influenzare la configurazione complessiva. Per ulteriori informazioni, vedere Certificati digitali e crittografia in Exchange Server.
TLS ha sostituito Secure Sockets Layer (SSL) come protocollo utilizzato per crittografare i dati inviati tra sistemi informatici. In passato, "TLS" e "SSL" erano spesso usati in modo intercambiabile. Qualsiasi riferimento a SSL nella documentazione di Exchange in realtà significa TLS, a meno che non sia incluso anche un numero di versione (ad esempio, SSL 3.0). Per ulteriori informazioni, vedere Procedure consigliate per la configurazione TLS di Exchange Server.
È necessario disporre delle autorizzazioni prima di poter eseguire questo cmdlet. Anche se questo articolo elenca tutti i parametri per il cmdlet, si potrebbe non avere accesso ad alcuni parametri se non sono 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
Import-ExchangeCertificate -Server Mailbox01 -FileName "\\FileServer01\Data\Exported Fabrikam Cert.pfx" -Password (Get-Credential).password
In Exchange 2013, in questo esempio il certificato viene importato dal file PKCS #12 da \\FileServer01\Data\Exported Fabrikam Cert.pfx al server Exchange denominato Mailbox01. Questo file richiede la password del file. Il certificato potrebbe essere stato esportato da un altro server o emesso da un'Autorità di certificazione.
Per esportare il certificato in Exchange 2016 o Exchange 2019, utilizzare il parametro FileData come descritto nell'esempio 2.
Esempio 2
Import-ExchangeCertificate -Server Mailbox01 -FileData ([System.IO.File]::ReadAllBytes('\\FileServer01\Data\Exported Fabrikam Cert.pfx')) -Password (Get-Credential).password
In questo esempio viene importato lo stesso file di certificato dell'esempio 1. Questo metodo è necessario in Exchange 2016 ed Exchange 2019 perché il parametro FileName non è disponibile.
Esempio 3
Import-ExchangeCertificate -FileData ([System.IO.File]::ReadAllBytes('C:\Certificates\Fabrikam IssuedCert.p7b'))
In questo esempio viene importata una catena di certificati dal file PKCS #7 C:\Certificates\Fabrikam IssuedCert.p7b nel server Exchange locale.
Parametri
-Confirm
Applicabile: Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Server SE
L'opzione Confirm consente di specificare se visualizzare o nascondere la richiesta di conferma. Il modo in cui questa opzione influisce sul cmdlet varia se il cmdlet richiede o meno una conferma prima di procedere.
- I cmdlet distruttivi (ad esempio, i cmdlet Remove-*) dispongono di una pausa incorporata che impone all'utente 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 dispone di una pausa incorporata. Per questi cmdlet, se si specifica l'opzione Confirm senza un valore, viene introdotta una pausa che impone di confermare il comando prima di procedere.
Proprietà dei parametri
| Tipo: | SwitchParameter |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
| Alias: | cfr |
Set di parametri
(All)
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-DomainController
Applicabile: Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Server SE
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.
Proprietà dei parametri
| Tipo: | Fqdn |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
(All)
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-FileData
Applicabile: Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Server SE
Il parametro FileData specifica i contenuti del file del certificato che si desidera importare.
Un valore valido per questo parametro richiede la lettura del file in un oggetto con codifica in byte utilizzando la sintassi seguente: ([System.IO.File]::ReadAllBytes('<Path>\<FileName>')). È possibile usare questo comando come valore del parametro oppure scrivere l'output in una variabile ($data = [System.IO.File]::ReadAllBytes('<Path>\<FileName>')) e utilizzare la variabile come valore del parametro ($data).
È possibile usare un percorso locale se il file del certificato si trova nel server Exchange in cui si esegue il comando e questo è lo stesso server in cui si vuole installare il certificato. In caso contrario, utilizzare un percorso UNC (\\Server\Share).
Quando si usa questo parametro per importare i file di certificati di testo PKCS #7, questi file contengono: -----BEGIN CERTIFICATE----- e -----END CERTIFICATE----- o -----BEGIN PKCS7----- e -----END PKCS7----- e hanno estensioni .p7b o .p7c.
Se il valore contiene degli spazi, è necessario racchiuderlo tra virgolette (").
Proprietà dei parametri
| Tipo: | Byte[] |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
FileData
| Posizione: | Named |
| Obbligatorio: | True |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-FileName
Applicabile: Exchange Server 2013
Nota: questo parametro è stato rimosso da Exchange 2016 ed Exchange 2019 dagli Aggiornamenti cumulativi H1 2022 perché accetta valori di percorso UNC. Per importare un file di certificato senza utilizzare il parametro FileName, utilizzare il parametro FileData.
Questo parametro è disponibile solo in Exchange 2013.
Il parametro FileName specifica il file del certificato che si desidera importare. Solitamente, si utilizza questo parametro per i file binari di certificato PKCS #12 con estensione .cer, .crt, .der, .p12 o .pfx. Questo tipo di file binario del certificato è protetto da password quando il file contiene la chiave privata o una catena di certificati.
È possibile usare un percorso locale se il file del certificato si trova nel server Exchange in cui si esegue il comando e questo è lo stesso server in cui si vuole installare il certificato. In caso contrario, utilizzare un percorso UNC (\\Server\Share).
Se il valore contiene degli spazi, è necessario racchiuderlo tra virgolette (").
Proprietà dei parametri
| Tipo: | String |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
Instance
| Posizione: | Named |
| Obbligatorio: | True |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-FriendlyName
Applicabile: Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Server SE
Il parametro FriendlyName consente di specificare un nome descrittivo per il certificato. Il valore deve contenere meno di 64 caratteri.
Il valore del nome descrittivo è un testo descrittivo e non influisce sulla funzionalità del certificato.
Proprietà dei parametri
| Tipo: | String |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
(All)
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-Instance
Applicabile: Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Server SE
Questo parametro è deprecato e non viene più utilizzato.
Proprietà dei parametri
| Tipo: | String[] |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
FileName
| Posizione: | Named |
| Obbligatorio: | True |
| Valore dalla pipeline: | True |
| Valore dalla pipeline in base al nome della proprietà: | True |
| Valore dagli argomenti rimanenti: | False |
-Password
Applicabile: Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Server SE
Il parametro Password specifica la password necessaria per importare il certificato.
È possibile utilizzare i metodi seguenti come valore per questo parametro:
-
(ConvertTo-SecureString -String '<password>' -AsPlainText -Force). - Prima di eseguire questo comando, archivia la password come variabile (ad esempio,
$password = Read-Host "Enter password" -AsSecureString) e quindi usa la variabile ($password) per il valore. -
(Get-Credential).passwordper visualizzare la richiesta di immissione sicura della password quando si esegue questo comando.
Proprietà dei parametri
| Tipo: | SecureString |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
(All)
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-PrivateKeyExportable
Applicabile: Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Server SE
Il parametro PrivateKeyExportable consente di specificare se il certificato dispone di una chiave privata esportabile e controlla se è possibile esportare il certificato da questo server. I valori validi sono:
- $true: La chiave privata è esportabile, quindi è possibile esportare il certificato da questo server.
- $false: La chiave privata non è esportabile, quindi non puoi esportare il certificato da questo server. Questo è il valore predefinito.
Proprietà dei parametri
| Tipo: | Boolean |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
(All)
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-Server
Applicabile: Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Server SE
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
Proprietà dei parametri
| Tipo: | ServerIdParameter |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
(All)
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-WhatIf
Applicabile: Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Server SE
L'opzione WhatIf mostra le operazioni eseguite dal comando senza apportare modifiche. Con questa opzione non è necessario specificare alcun valore.
Proprietà dei parametri
| Tipo: | SwitchParameter |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
| Alias: | wi |
Set di parametri
(All)
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
CommonParameters
Questo cmdlet supporta i parametri comuni: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Per altre informazioni, vedere about_CommonParameters.
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.