Hallo,
habe bei Enable-Certificate zu schnell Enter gedrückt und das Default SMTP Zertifikat mit unserem Wildcard Zertifikat überschrieben, weil "Ja" die Default Antwort ist.
Ist das ein Problem? Lese überall nan solle mit Nein antworten?!
Geht um Exchange 2019.
Danke und Grüße,
Mike
Das kommt auf eure Umgebung an. Ansonsten einfach das vorherige Zertifikat nochmal enablen und mit ja antworten. ;)
Ok. Werd ich machen. Ich habe auch ein Skript gefunden das die Default Zertifikate ausliest. Der Link wird aber leider als Spam erkannt.
Danke!
VG. MG
Ich habe auch ein Skript gefunden da
Und was tut das bzw. Wozu brauchst du das?
@norbertfe Es zeigt an, welches Zertifikat das Default ist. Unbedingt brauchen tu ich das nicht.
Es zeigt an, welches Zertifikat das Default ist.
wie denn? ;) also woran macht das Script das denn fest, welches das default smtp Zertifikat ist? Das was bei der Installation erzeugt wurde, das aktuellste? Beides irgendwie keine besonders passenden Kriterien.
@norbertfe Das ist im AD gespeichert. Irgendwoher muss ja auch Exchange wissen, wieso es behaupten kann, dass das Default-Zertifikat überschrieben wird.
Echt? Wo denn?
Each object that is retrieved contains multiple attributes. One of these attributes is msExchServerInternalTLSCert. This attribute contains the actual certificate used by the environment. If you look it up trough ADSI Edit (adsiedit.msc), then you'll find a string of number (hex, octal, decimal) values.
Not very human readable… And definitely not useful to determine the actual certificate.
PowerShell to the rescue!
We now know the Active Directory object and attribute to look for. Let's bring it all together and solve the riddle using Windows PowerShell.
Running PowerShell
Run the following PowerShell script:
#Specify a name of one of the Exchange Servers
$TargetExchangeServer = "Your Exchange Server"
$ExistingSessions = Get-PSSession
if($ExistingSessions.ConfigurationName -notcontains "Microsoft.Exchange"){
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri " http://$TargetExchangeServer/PowerShell /" -Authentication Kerberos
Import-PSSession $Session
}
else{
Write-Host "Use existing session" -ForegroundColor Green
}
#Get all Exchange Servers in the environment
$ExchangeServers = (Get-ExchangeServer |Where-Object {$_.ServerRole -like "mailbox"} )| Select-Object Name,DistinguishedName
$Results = @()
#Process Information
ForEach($Server in $ExchangeServers){
$TransportCert = (Get-ADObject -Identity $Server.DistinguishedName -Properties *).msExchServerInternalTLSCert
$Cert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2
$CertBlob = [System.Convert]::ToBase64String($TransportCert)
$Cert.Import([Convert]::FromBase64String($CertBlob))
$server | Add-Member -MemberType NoteProperty -Name DefaultTLSCertSubject -Value $Cert.Subject
$server | Add-Member -MemberType NoteProperty -Name DefaultTLSCertFriendlyName -Value $Cert.FriendlyName
$server | Add-Member -MemberType NoteProperty -Name DefaultTLSCertThumbprint -Value $Cert.Thumbprint
$server | Add-Member -MemberType NoteProperty -Name DefaultTLSCertExpireDate -Value $Cert.NotAfter
$Results += $Server
}
#Show result
$Results | Out-GridView
Cool. Danke. 👍
@norbertfe Danke auch Dir. Anhand des Skriptes konnte ich dann halt sehen, dass meine Änderungen gegriffen haben. Gewusst hätte ich es auch so ;-)