Files
dms/befehl.txt
T
2026-04-30 06:01:41 -07:00

55 lines
1.9 KiB
Plaintext

# Altes Zertifikat finden und entfernen (falls vorhanden)
Get-ChildItem Cert:\LocalMachine\My | Where-Object { $_.Subject -like "*byte.trail*" } | Remove-Item -Force
# Neues Zertifikat mit korrekten Einstellungen fuer AD LDAPS
$cert = New-SelfSignedCertificate `
-Subject "CN=SRV-DC01.byte.trail" `
-DnsName "SRV-DC01.byte.trail","byte.trail","10.10.10.10" `
-CertStoreLocation "Cert:\LocalMachine\My" `
-KeyAlgorithm RSA `
-KeyLength 2048 `
-KeyExportPolicy Exportable `
-NotAfter (Get-Date).AddYears(10) `
-Provider "Microsoft RSA SChannel Cryptographic Provider" `
-KeyUsage DigitalSignature, KeyEncipherment `
-TextExtension @("2.5.29.37={text}1.3.6.1.5.5.7.3.1")
# NTDS neu starten - nimmt das Zertifikat automatisch auf
Restart-Service NTDS -Force
Start-Sleep -Seconds 5
# Pruefen ob LDAPS jetzt funktioniert
$tcp = New-Object System.Net.Sockets.TcpClient
$tcp.Connect("localhost", 636)
$ssl = New-Object System.Net.Security.SslStream($tcp.GetStream(), $false, {$true})
$ssl.AuthenticateAsClient("SRV-DC01.byte.trail")
Write-Host "LDAPS funktioniert! Zertifikat: $($ssl.RemoteCertificate.Subject)" -ForegroundColor Green
$ssl.Close(); $tcp.Close()
# Thumbprint holen
$thumb = (Get-ChildItem Cert:\LocalMachine\My | Where-Object { $_.Subject -like "*byte.trail*" }).Thumbprint
Write-Host "Thumbprint: $thumb"
# Pruefen ob der Private Key vorhanden ist
$cert = Get-ChildItem Cert:\LocalMachine\My\$thumb
Write-Host "Hat Private Key: $($cert.HasPrivateKey)"
# In den NTDS Personal Store legen
$ntdsStore = New-Object System.Security.Cryptography.X509Certificates.X509Store("NTDS\Personal","LocalMachine")
$ntdsStore.Open("ReadWrite")
$ntdsStore.Add($cert)
$ntdsStore.Close()
Write-Host "Zertifikat in NTDS Store abgelegt"
# NTDS neu starten
Restart-Service NTDS -Force
Start-Sleep -Seconds 5
# Verifizieren
certutil -verifystore "NTDS\Personal"