Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Sintomi
Considerare lo scenario descritto di seguito:
Si assegna un certificato rinnovato a uno o più servizi microsoft Exchange Server.
Si tenta di rimuovere il certificato precedente nell'interfaccia di amministrazione di Exchange o usando il cmdlet di PowerShell Remove-ExchangeCertificate .
In questo caso, viene visualizzato il seguente messaggio di errore:
"Si verifica un errore RPC speciale sul nome del server<: questi certificati sono contrassegnati con i seguenti connettori di invio: <Nomi> connettori di invio.> La rimozione e la sostituzione dei certificati da Send Connector interromperebbero il flusso di posta. Se si desidera continuare, sostituire o rimuovere questi certificati da Send Connector e quindi provare questo comando."
Il problema si verifica se il nuovo certificato ha lo stesso nome dell'autorità di certificazione e lo stesso nome soggetto usati dal certificato precedente.
Causa
Per evitare interruzioni del flusso di posta, Exchange Server impedisce la rimozione di un certificato se il nome dell'autorità di certificazione e il nome del soggetto sono specificati nella proprietà TlsCertificateName di qualsiasi connettore di invio. Il formato del valore della TlsCertificateName
proprietà è "<I>IssuerName<S>SubjectName". Se il TlsCertificateName
valore corrisponde sia al vecchio che al nuovo certificato, Exchange Server impedirà la rimozione di entrambi i certificati.
Risoluzione
Per rimuovere il certificato precedente, seguire questa procedura. Se non diversamente specificato, eseguire i comandi di PowerShell seguenti in Exchange Management Shell (EMS).
Ottenere le identificazioni personali dei certificati nuovi e precedenti. A tale scopo, ottenere un elenco di tutti i certificati Exchange Server eseguendo il comando seguente. Identificare quindi i certificati nuovi e precedenti nell'elenco.
Get-ExchangeCertificate | Format-List FriendlyName,Subject,Issuer,CertificateDomains,Thumbprint,NotBefore,NotAfter
Per ogni connettore di invio segnalato nel messaggio di errore, usare il cmdlet Get-SendConnector per compilare un elenco aggregato di server di trasporto di origine associati:
Get-SendConnector -Identity <connector name> | Format-List SourceTransportServers
In alternativa, identificare i server di trasporto di origine nell'interfaccia di amministrazione di Exchange come indicato di seguito:
Passare a Flusso> di postaConnettori di invio.
Per ogni connettore di invio segnalato nel messaggio di errore:
Fare doppio clic per aprire il connettore.
Passare alserverdi origine dell'ambito> per visualizzare i server associati a tale connettore.
Per ridurre al minimo i problemi relativi al flusso di posta durante questa procedura, arrestare il servizio Trasporto di Microsoft Exchange eseguendo il comando seguente in ogni server di trasporto di origine rilevato nel passaggio 2. Il comando non deve essere eseguito in EMS, ma richiede una sessione di PowerShell con privilegi elevati.
Stop-Service MSExchangeTransport
In alternativa, arrestare il servizio Trasporto di Microsoft Exchange usando lo snap-in Services.msc in ogni server di trasporto di origine.
Nota
Dopo aver arrestato il servizio di trasporto, il flusso di posta in ogni server di trasporto di origine viene arrestato fino a quando non si riavvia il servizio Trasporto di Microsoft Exchange nel passaggio finale di questa procedura. Per altre informazioni sul flusso di posta in Exchange Server, vedere Code e messaggi nelle code.
Per ogni connettore di invio segnalato nel messaggio di errore, usare il cmdlet Set-SendConnector per cancellare la relativa
TlsCertificateName
proprietà:Set-SendConnector -Identity <connector name> -TlsCertificateName $Null
Nota
Se si dispone di un ambiente di grandi dimensioni che usa siti diversi, potrebbe essere necessario forzare la replica di Active Directory a rimuovere completamente il valore della
TlsCertificateName
proprietà nei server di trasporto di origine interessati.Per ogni server di trasporto di origine trovato nel passaggio 2, rimuovere il certificato precedente eseguendo il comando seguente:
Remove-ExchangeCertificate -Server <server name> -Thumbprint <old certificate thumbprint>
In alternativa, è possibile rimuovere il certificato precedente nell'interfaccia di amministrazione di Exchange come indicato di seguito:
Passare a Certificati server>.
Per ogni server di trasporto di origine trovato nel passaggio 2:
Selezionare il server.
Selezionare il certificato precedente e quindi eliminarlo.
Nota
Se non si rimuove il certificato precedente da tutti i server di trasporto di origine applicabili prima di riassegnare il valore della
TlsCertificateName
proprietà, sarà necessario ripetere la procedura di risoluzione per rimuovere le istanze rimanenti del certificato precedente.Generare il valore della
TlsCertificateName
proprietà eseguendo i comandi seguenti:$cert = Get-ExchangeCertificate -Thumbprint <new certificate thumbprint> $tlscertificatename = "<i>$($cert.Issuer)<s>$($cert.Subject)"
Per ogni connettore di invio segnalato nel messaggio di errore, eseguire il comando seguente per assegnare il valore della
TlsCertificateName
proprietà generato nel passaggio 6:Set-SendConnector -Identity <connector name> -TlsCertificateName $tlscertificatename
Riavviare il servizio Trasporto di Microsoft Exchange eseguendo il comando seguente in ogni server di trasporto di origine trovato nel passaggio 2. Il comando non deve essere eseguito in EMS, ma richiede una sessione di PowerShell con privilegi elevati.
Start-Service MSExchangeTransport
In alternativa, è possibile avviare il servizio Trasporto di Microsoft Exchange nello snap-in Services.msc in ogni server di trasporto di origine.
Ulteriori informazioni
Per determinare il certificato usato da un connettore di invio o ricezione, seguire questa procedura:
Abilitare la registrazione del protocollo per il connettore. Per altre informazioni sulla registrazione dei protocolli, vedere Registrazione del protocollo in Exchange Server.
Aprire il file di log del protocollo più recente per il connettore. È possibile determinare il percorso della cartella di log applicabile eseguendo il comando seguente in EMS:
Get-TransportService | Format-List Identity,*ProtocolLogPath
Nel file di log del protocollo trovare le informazioni sul certificato per il connettore cercando una voce che inizia con "Invio di certificato" nella
context
colonna . Le informazioni sul certificato si trova nelladata
colonna della stessa riga. Il formato delle informazioni sul certificato è "Subject>Issuer><SerialNumber><Thumbprint><NotBefore><NotAfter><CertificateDomains>".<<È possibile trovare il certificato di Exchange Server corrispondente eseguendo il comando seguente in EMS:
Get-ExchangeCertificate | Format-List Subject,Issuer,SerialNumber,Thumbprint,NotBefore,NotAfter,CertificateDomains
Per altre informazioni sulla gestione dei certificati, vedere Procedure dei certificati in Exchange Server.