Condividi tramite


Import-ExchangeCertificate

Questo cmdlet è disponibile solo in Exchange locale.

Usare il cmdlet Import-ExchangeCertificate per importare 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

Import-ExchangeCertificate
      -FileData <Byte[]>
      [-Confirm]
      [-DomainController <Fqdn>]
      [-FriendlyName <String>]
      [-Password <SecureString>]
      [-PrivateKeyExportable <Boolean>]
      [-Server <ServerIdParameter>]
      [-WhatIf]
      [<CommonParameters>]
Import-ExchangeCertificate
      -Instance <String[]>
      [-Confirm]
      [-DomainController <Fqdn>]
      [-FriendlyName <String>]
      [-Password <SecureString>]
      [-PrivateKeyExportable <Boolean>]
      [-Server <ServerIdParameter>]
      [-WhatIf]
      [<CommonParameters>]
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. 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

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

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.
Type:SwitchParameter
Aliases:cf
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to: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.

Type:Fqdn
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019

-FileData

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 (").

Type:Byte[]
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False
Applies to: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 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 (").

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2013

-FriendlyName

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.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019

-Instance

Questo parametro è obsoleto e non viene più utilizzato.

Type:String[]
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019

-Password

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.
Type:SecureString
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019

-PrivateKeyExportable

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 è il valore predefinito.
Type:Boolean
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to: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

Type:ServerIdParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to: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.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to: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.