Konfigurasikan cadangan pengontrol domain Direktori Aktif

Di artikel ini, kita akan berbicara tentang fitur-fitur dari pengontrol domain Active Directory cadangan, lihat cara mengatur cadangan AD otomatis menggunakan PowerShell dan alat-alat Windows Server bawaan..

Konten:

  • Apakah saya perlu membuat cadangan Direktori Aktif?
  • Cara memeriksa tanggal cadangan terakhir dari pengontrol domain Direktori Aktif?
  • Mencadangkan pengontrol domain AD menggunakan Windows Server Backup
  • Mencadangkan Active Directory dengan PowerShell

Apakah saya perlu membuat cadangan Direktori Aktif?

Lebih dari sekali saya mendengar dari administrator yang akrab dengan gagasan bahwa jika Anda memiliki beberapa (5, 10, dll.) Yang tersebar secara geografis pengontrol domain Direktori Aktif, maka Anda tidak perlu membuat cadangan AD, karena di beberapa DC Anda telah memberikan ketahanan domain yang tinggi. Memang, dalam skema seperti itu, probabilitas kegagalan simultan dari semua DC cenderung ke 0, dan jika satu kontroler domain jatuh, lebih cepat untuk menggunakan DC baru di situs, dan menghapus yang lama menggunakan ntdsutil.

Namun, dalam praktik saya, saya bertemu dengan berbagai skenario ketika semua pengontrol domain ternyata rusak: dalam satu kasus, semua pengontrol domain (ada lebih dari 20 di kota yang berbeda) dienkripsi karena intersepsi kata sandi domain oleh penyandi melalui utilitas mimikatz (untuk mencegah hal tersebut untuk skema, lihat artikel "Melindungi Windows dari mimikatz" dan "Melindungi grup administrator istimewa"), dalam kasus lain, domain meletakkan replikasi file NTDS.DIT ​​yang rusak.

Secara umum, AD cadangan mungkin dan perlu. Minimal, Anda harus secara teratur mencadangkan pengontrol domain utama, pemilik peran FSMO (operasi tunggal-master yang fleksibel). Anda bisa mendapatkan daftar pengontrol domain dengan peran FSMO menggunakan perintah:

permintaan netdom fsmo

Cara memeriksa tanggal cadangan terakhir dari pengontrol domain Direktori Aktif?

Anda dapat memeriksa kapan cadangan pengendali domain Direktori Aktif saat ini dibuat menggunakan utilitas repadmin:

repadmin / showbackup

Dalam contoh ini, terlihat bahwa terakhir kali partisi DC dan AD dicadangkan adalah 2017-02-18 18:01:32 (kemungkinan besar itu belum dilakukan sejak pengendali domain dikerahkan).

Anda bisa mendapatkan status cadangan semua DC di domain dengan perintah:

repadmin / showbackup *

Jika pengontrol domain Anda berjalan pada mesin virtual dan Anda membuat cadangan melalui snapshot (lihat contoh dengan cadangan Hyper-V), maka tanggal ini tidak diperbarui untuk cadangan karena alasan yang jelas. Di sebagian besar alat pencadangan modern, ada opsi yang memungkinkan Anda menentukan bahwa itu adalah DC dan ketika Anda mencadangkan, Anda perlu memperbarui data di direktori LDAP.

Mencadangkan pengontrol domain AD menggunakan Windows Server Backup

Jika Anda tidak memiliki perangkat lunak cadangan khusus, Anda dapat menggunakan Cadangan Server Windows bawaan untuk membuat cadangan (komponen ini menggantikan NTBackup). Anda dapat mengatur pekerjaan pencadangan otomatis di GUI Cadangan Server Windows, tetapi ada beberapa keterbatasan. Kerugian utama adalah bahwa cadangan server baru akan selalu menimpa yang lama..

Saat Anda mencadangkan pengontrol domain melalui WSB, Anda membuat cadangan Status sistem (Status sistem) Status Sistem mencakup Basis Direktori Aktif (NTDS.DIT), GPO, konten direktori SYSVOL, registri, metadata IIS, database AD CS, dan file serta sumber daya sistem lainnya. Cadangan dibuat melalui layanan salinan bayangan VSS.

Anda dapat memverifikasi bahwa komponen Cadangan Server Windows diinstal menggunakan PowerShell cmdlet Get-WindowsFeature:

Dapatkan-WindowsFeature Windows-Server-Backup

Jika komponen WSB hilang, Anda dapat menginstalnya menggunakan PowerShell:

Tambahkan-Windows Fitur Windows-Server-Cadangan -Menambahkan fitur ruang

Atau instal dari Server Manager -> Fitur.

Saya akan menyimpan cadangan pengontrol domain AD ini ke folder jaringan pada server khusus yang terpisah untuk cadangan. Misalnya, jalur direktori adalah \\ srvbak1 \ backup \ dc01. Konfigurasikan izin NTFS pada folder ini: beri izin baca-tulis untuk direktori ini hanya untuk Admin domain dan Pengontrol domain.

Mencadangkan Active Directory dengan PowerShell

Mari kita coba membuat cadangan pengontrol domain menggunakan PowerShell. Untuk menyimpan beberapa level salinan AD, kami akan menyimpan setiap cadangan dalam direktori terpisah dengan tanggal salinan dibuat sebagai nama folder.

ServerManager Impor-Modul
[string] $ date = get-date -f 'yyyy-MM-dd'
$ path = ”\\ srvbak1 \ backup \ dc1 \”
$ TargetUNC = $ path + $ date
$ TestTargetUNC = Jalur-Tes -Path $ TargetUNC
if (! ($ TestTargetUNC))
Item-Baru -Path $ TargetUNC -ItemType direktori

$ WBadmin_cmd = "wbadmin.exe MULAI CADANGAN -backupTarget: $ TargetUNC -sistemState -noverify -vssCopy -quiet"
Invoke-Expression $ WBadmin_cmd

Jalankan skrip ini. Konsol wbadmin akan muncul dengan informasi tentang proses pembuatan salinan (bayangan) cadangan disk:

Operasi pencadangan ke \\ srvbak1 \ backup \ dc1 \ 2019-10-10 dimulai. Membuat salinan bayangan volume yang ditentukan untuk cadangan ... 

Upaya pertama saya untuk membuat cadangan DC gagal dengan kesalahan (pengontrol domain adalah mesin virtual VMWare):

Kesalahan terperinci: Sintaksis nama file, nama direktori, atau label volume salah. Pencadangan kondisi sistem gagal [10/10/2019 8:31].

Saya membuka log kesalahan WSB - C: \ Windows \ Logs \ WindowsServerBackup \ Backup_Error-10-10-2019_08-30-24.log.

File berisi satu kesalahan:

Kesalahan dalam cadangan C: \ windows \\ systemroot \ selama penghitungan: Kesalahan [0x8007007b] Nama file, nama direktori, atau sintaks label volume tidak benar.

Ke depan, saya akan mengatakan bahwa masalahnya ada di jalur yang salah di salah satu driver VMWware Tools.

Untuk memperbaiki kesalahan ini, buka prompt perintah dengan hak administrator dan jalankan:

DiskShadow / L writers.txt
daftar penulis rinci

Setelah membuat daftar, ketik berhenti dan buka file "C: \ Windows \ System32 \ writers.txt". Temukan di dalamnya garis yang berisi "windows \\”.

Dalam kasus saya, string yang ditemukan terlihat seperti ini:

Daftar File: Path = c: driver \ windows \\ systemroot \ system32 \, Filespec = vsock.sys

Seperti yang Anda lihat, jalur yang salah ke driver VSOCK.SYS digunakan.

Untuk memperbaiki jalur, buka editor registri dan buka bagian HKLM \ SYSTEM \ CurrentControlSet \ Services \ vsock.

Ubah nilai ImagePath dengan
\ systemroot \ system32 \ DRIVERS \ vsock.sys
pada
System32 \ DRIVERS \ vsock.sys

Jalankan kembali skrip cadangan.

Jika cadangan berhasil, pesan berikut akan muncul di log:

Operasi pencadangan berhasil diselesaikan. Pencadangan volume (C :) selesai dengan sukses. Cadangan status sistem berhasil diselesaikan [10/10/2019 9:52]. 

Periksa tanggal cadangan terakhir di DC:

repadmin / showbackup

Sekarang di sini ditunjukkan bahwa terakhir kali cadangan kontroler domain dilakukan hari ini.

Pada server cadangan, ukuran direktori dengan cadangan pengontrol domain adalah sekitar 9 GB. Pada dasarnya, Anda mendapatkan file vhdx pada output, yang dapat Anda gunakan untuk mengembalikan OS melalui WSB, atau Anda dapat secara manual me-mount file vhdx dan menyalin file atau folder yang diperlukan dari itu.

Jika ada beberapa DC di situs, maka tidak perlu membuat cadangan semuanya. Untuk menghemat ruang, cukup mencadangkan secara berkala database AD - file ntds.dit. Untuk melakukan ini, gunakan perintah berikut:

$ WBadmin_cmd = "wbadmin mulai cadangan -backuptarget: $ path -sertakan: C: \ Windows \ NTDS \ ntds.dit -quiet"
Invoke-Expression $ WBadmin_cmd

Ukuran cadangan seperti itu hanya 50-500 MB, tergantung pada ukuran pangkalan AD.

Untuk pencadangan otomatis, Anda perlu membuat skrip c: \ ps \ backup_ad.ps1 di DC. Skrip ini harus dijalankan sesuai jadwal melalui Penjadwal Tugas. Anda dapat membuat tugas penjadwal dari GUI atau dari PowerShell. Persyaratan utama adalah bahwa tugas harus dijalankan atas nama SISTEM dengan opsi Jalankan dengan hak istimewa tertinggi diaktifkan. Untuk cadangan harian pengontrol domain AD, buat tugas berikut:

$ Trigger = New-ScheduledTaskTrigger -At 01:00 -Hari
$ User = "NT AUTHORITY \ SYSTEM"
$ Action = New-ScheduledTaskAction -Execute "PowerShell.exe" -Argument "c: \ ps \ backup_ad.ps1"
Registrasi-ScheduledTask -TaskName "StartupScript_PS" -Trigger $ Trigger -User $ User -Action $ Action -RunLevel Tertinggi -Force

Jadi, kami menyiapkan cadangan status AD, dan pada artikel berikutnya kita akan berbicara tentang cara untuk mengembalikan AD dari cadangan yang ada dari kontroler domain.