Ini adalah proses yang saya gunakan pada Windows 2012 R2 dan lebih tinggi. Semua kode PowerShell dijalankan dari prompt PowerShell yang ditinggikan. Otomatisasi lengkap dibiarkan sebagai latihan bagi pengguna.
Prasyarat
Pastikan Anda memiliki Templat di Server Sertifikat yang memiliki tombol radio "Supply in the request" yang dipilih di tab Subjek. Karena ini bukan mesin AD, server sertifikat tidak dapat secara memadai meminta Active Directory untuk mendapatkan informasi.
Ekspor Root
Ekspor Sertifikat Otoritas Sertifikasi Root Tepercaya di Server Sertifikat Anda dan kemudian salin file sertifikat itu ke Server Target Anda
certutil --% -ca.cert <name of certificate file>
Percayai Root
Impor sertifikat itu ke Otoritas Sertifikasi Root Tepercaya di Server Target Anda
$PathToCertificate=<name of certificate file>
$RootCertificate=Get-PfxCertificate -FilePath $PathToCertificate
$AlreadyExists=Get-ChildItem -Path "Cert:\LocalMachine\Root" | Where-Object { $_.Thumbprint -eq $RootCertificate.Thumbprint }
if ($AlreadyExists -eq $null) { Import-Certificate -CertStoreLocation "Cert:\LocalMachine\Root" -FilePath $PathToCertificate }
else { Write-Warning "Root certificate already installed" }
Penyedia Kebijakan Direktori Aktif
Tentukan URL untuk Penyedia Kebijakan Direktori Aktif
# Get AD Configuration Context
$RootDSE=[System.DirectoryServices.DirectoryEntry]::new("LDAP://RootDSE")
$ConfigContext="CN=Enrollment Services,CN=Public Key Services,CN=Services,"+$RootDSE.configurationNamingContext
# Get name of Enterprise Root Certificate Autority server
$Server=Get-ADObject -SearchBase $ConfigContext -Filter "*"
if ($Server.Count -eq 1) { throw "No Enterprise Root Certificate Autority server exists" }
else { $Server=$Server[1].Name }
# Get Enrollment URL
$ConfigContext="CN=$Server,"+$ConfigContext
$EnrollmentURL=(Get-ADObject -SearchBase $ConfigContext -Filter "*" -Properties "msPKI-Enrollment-Servers" | Select-Object -ExpandProperty "msPKI-Enrollment-Servers").Split("`n") | Where-Object { $_ -like "http*" }
if ($EnrollmentURL -eq $null) { $EnrollmentURL="" }
# Get AD Enrollment Policy URL
$Server=$Server+$RootDSE.configurationNamingContext.Value.Replace("CN=Configuration","").Replace(",DC=",".")
$WMI=Get-WmiObject -ComputerName $Server -Namespace "root\WebAdministration" -Class Application | Where-Object { $_.Path -eq "/ADPolicyProvider_CEP_UsernamePassword" }
if ($WMI -ne $null) { $PolicyURL="https://"+$Server+$WMI.Path+"/service.svc/CEP" }
else { $PolicyURL="" }
Write-Output "Enrollment URL = $EnrollmentURL"
Write-Output "Policy URL = $PolicyURL"
Kebijakan Pendaftaran
Tambahkan Kebijakan Pendaftaran ke Server Target (Ini hanya berfungsi pada Windows 2012 dan lebih tinggi. Untuk instruksi GUI, lihat di bawah). Pastikan bahwa Kebijakan ditambahkan setelah Anda membuat templat non-domain, jika tidak akan muncul karena kebijakan tidak disegarkan.
$User="<your domain name>\<your domain user name>"
$Pass="<Your domain password>"
$SecPass=ConvertTo-SecureString -String $Pass -AsPlainText -Force
$Cred=[System.Management.Automation.PSCredential]::new($User,$SecPass)
Add-CertificateEnrollmentPolicyServer -Url $PolicyURL -context Machine -NoClobber -AutoEnrollmentEnabled -Credential $Cred
Dapatkan sertifikatnya
Anda sekarang harus dapat mendaftarkan sertifikat menggunakan templat yang diinginkan
$DNS="<FQDN of your server>"
$URL=Get-CertificateEnrollmentPolicyServer -Scope All -Context Machine | Select-Object -ExpandProperty Url | Select-Object -ExpandProperty AbsoluteUri
$Enrollment=Get-Certificate -Url $URL -Template "<Template name (not display name)>" -SubjectName "CN=$DNS" -DnsName $DNS -Credential $Cred -CertStoreLocation cert:\LocalMachine\My
$Enrollment.Certificate.FriendlyName=$DNS
Kebijakan Pendaftaran Pra-Windows 2012 R2
- Buka MMC sertifikat
- Telusuri ke Personal Certificate Store
- Klik kanan "Sertifikat" dan pilih Semua Tugas / Operasi Lanjutan / Kelola
- Kebijakan Pendaftaran dari menu konteks
- Klik tombol "Tambah"
- Rekatkan URL untuk kebijakan pendaftaran
- Pilih Nama Pengguna / kata sandi sebagai jenis Otentikasi
- Klik tombol "Validasi Server" dan masukkan kredensial domain Anda, termasuk domain
- Dengan asumsi Anda telah berhasil memvalidasi, klik tombol "Tambah"
- Pilih kebijakan pendaftaran dan klik tombol "Properties"
- Pastikan bahwa kotak "Aktifkan untuk pendaftaran dan perpanjangan otomatis" dicentang
- Saya belum pernah memeriksa "Memerlukan validasi kuat selama pendaftaran" jadi saya tidak tahu apa fungsinya