Condividi tramite


Import-ExchangeCertificate

Questo cmdlet è disponibile solo in Exchange locale.

Usare 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 Cryptographic Messaging Syntax Concepts.For more information, see PKCS #7 Cryptographic Messaging Syntax Concepts.
  • 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: Personal Information Exchange Syntax v1.1.

Dopo aver importato un certificato in un server Exchange, è necessario assegnare il certificato a uno o più servizi di Exchange usando il cmdlet Enable-ExchangeCertificate.

È necessario considerare diversi fattori quando si configurano certificati per i servizi Transport Layer Security (TLS) e Secure Sockets Layer (SSL). Occorre comprendere come tali fattori possano influenzare la configurazione complessiva. Per altre informazioni, vedere Certificati digitali e crittografia in Exchange Server.

SSL (Secure Sockets Layer) verrà sostituito da TLS (Transport Layer Security) come protocollo utilizzato per crittografare i dati inviati tra sistemi di computer. Sono così simili che spesso i termini "SSL" e "TLS" (senza indicare le versioni) sono usati in modo interscambiabile. A causa di questa somiglianza, i riferimenti a "SSL" negli argomenti di Exchange, l'interfaccia di amministrazione di Exchange e Exchange Management Shell sono stati spesso usati per includere sia i protocolli SSL che TLS. In genere, con "SSL" si fa riferimento all'effettivo protocollo SSL solo quando viene fornita anche una versione (ad esempio, SSL 3.0). Per altre informazioni, vedere Exchange Server procedure consigliate per la configurazione di TLS.

È necessario disporre delle autorizzazioni prima di poter eseguire questo cmdlet. Anche se questo articolo elenca tutti i parametri per il cmdlet, è possibile che non si abbia accesso ad alcuni parametri se non sono inclusi nelle autorizzazioni assegnate all'utente. 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 questo esempio importa il certificato dal file PKCS #12 da \\FileServer01\Data\Exported Fabrikam Cert.pfx al server Exchange denominato Mailbox01. Questo file richiede la password del file. Questo 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, usare 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

Questo esempio importa lo stesso file di certificato dall'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

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-*) 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, specificando l'opzione Confirm senza un valore viene introdotta una pausa che impone all'utente 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

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

Il parametro FileData specifica i contenuti del file del certificato che si desidera importare.

Per un valore valido per questo parametro è necessario leggere il file in un oggetto con codifica byte usando 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 usare 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, usare un percorso UNC (\\Server\Share).

Quando si usa questo parametro per importare file di certificato di testo PKCS #7, questi file contengono: -----BEGIN CERTIFICATE----- e -----END CERTIFICATE----- o -----BEGIN PKCS7----- e -----END PKCS7----- e dispongono di estensioni di file con estensione 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 dal Aggiornamenti cumulativo 2022 H1 perché accetta i valori del percorso UNC. Per importare un file di certificato senza usare il parametro FileName, usare 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, usare 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

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 è 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

Questo parametro è deprecato e non è più usato.

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

Il parametro Password specifica la password necessaria per importare il certificato.

È 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" -AsSecureStringe 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.

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

Il parametro PrivateKeyExportable specifica 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 è possibile esportare il certificato da questo server. Questo valore è 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

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

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.

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.