Get-ADDomainController Dapatkan Pengontrol Domain AD Menggunakan PowerShell

Cmdlet Dapatkan-ADDomainController dapat digunakan untuk mendapatkan informasi tentang pengontrol domain di Active Directory. Cmdlet ini adalah bagian dari modul Active Directory untuk PowerShell dan membutuhkan pemasangan komponen RSAT yang terpisah (di Windows 10 1809 dan lebih tinggi, RSAT diinstal dengan cara baru).

Konten:

  • Dapatkan-ADDomainController Cmdlet
  • Kami menggunakan Get-ADDomainController untuk memilih pengontrol domain sesuai dengan kondisi
  • Skrip PowerShell untuk memeriksa ketersediaan semua pengontrol domain

Dapatkan-ADDomainController Cmdlet

Saat memulai Dapatkan-ADDomainController tanpa parameter, cmdlet menampilkan informasi tentang pengontrol domain saat ini (LogonServer), yang digunakan oleh komputer ini untuk otentikasi (DC dipilih saat boot sesuai dengan topologi situs AD).

Cmdlet mengembalikan semua bidang dengan informasi pengontrol domain tersedia di AD.

ComputerObjectDN: CN = mskDC01, OU = Domain Controllers, DC = corp, DC = winitpro, DC = ru DefaultPartition: DC = corp, DC = winitpro, DC = ru Domain: corp.winitpro.ru Diaktifkan: True Forest: winitpro.ru HostName: mskDC01.corp.winitpro.ru Doa Lokasi: 96234a-7fc6-4a32-9e62-3b32343ab4ad IPv4Alamat: 10.1.10.6 IPv6Alamat: IsGlobalKatalog: True IsReadHanya Saja: Ldap PalsuPort: 389 Nama: mskDC pengaturan CNDS CN = Server, CN = MskCenter, CN = Situs, CN = Konfigurasi, DC = winitpro, DC = id OperatingSystem: Windows Server 2008 R2 Standard OperatingSystemHotfix: OperatingSystemServicePack: Paket Layanan 1 OperatingSystemVersion: 6.1 (7601) OperationMasterRoles:  Partisi:  Partisi:  DC = ForestDnsZones, DC = winitpro, DC = ru, DC = DomainDnsZones, DC = corp, DC = winitpro, DC = ru, CN = Skema, CN = Konfigurasi, DC = winitpro, DC = ru ... ServerObjectDN: CN = mskDC01 , CN = Server, CN = MskCenter, CN = Situs, CN = Konfigurasi, DC = winitpro, DC = ru ServerObjectGuid: 8052323-e294-4430-a326-9553234431d6 Situs: MskCenter SslPo rt: 636

Anda juga dapat menemukan pengontrol domain tempat komputer Anda seharusnya dimiliki melalui mekanisme DCLocator:

Dapatkan-ADDomainController -Discover

Anda dapat menemukan DC terdekat yang tersedia dengan peran aktif Layanan Web AD:

Dapatkan-ADDomainController -ForceDiscover -Discover -Layanan ADWS

Parameter Layanan dapat digunakan untuk menemukan PDC di domain:

Dapatkan-ADDomainController -Discover -Service PrimaryDC

Jika pengontrol domain Anda tidak ditemukan atau tidak merespons, Anda dapat menemukan pengontrol domain di situs AD terdekat (ditentukan oleh berat komunikasi lintas situs):

Dapatkan-ADDomainController -Discover -ForceDiscover -NextClosestSite

Untuk membuat daftar semua pengontrol domain di domain saat ini:

Dapatkan-ADDomainController -Filter * | ft

Anda dapat menghitung jumlah pengontrol domain dalam AD menggunakan perintah:

Dapatkan-ADDomainController -Filter * | Measure-Object

Kami akan menampilkan tabel yang lebih nyaman di mana semua pengontrol domain terdaftar dengan nama, alamat IP, versi OS dan nama situs AD:

Dapatkan-ADDomainController -Filter * | Pilih Nama, ipv4Address, OperatingSystem, situs | Sortir-Nama objek

Jika Anda perlu mendapatkan informasi DC dari domain lain, Anda harus menentukan nama DC yang tersedia di domain pihak ketiga menggunakan parameter -Server (mungkin dengan kepercayaan antar domain).

Dapatkan-ADDomainController -Filter * -server dc01.contoso.cpm | Pilih Nama, ipv4Address, IsGlobalCatalog, Situs

Kami menggunakan Get-ADDomainController untuk memilih pengontrol domain sesuai dengan kondisi

Mari kita lihat beberapa cmdlet berguna yang dapat Anda gunakan untuk mendapatkan daftar pengontrol domain dalam AD dengan kriteria tertentu.

Temukan pengontrol domain dengan alamat IP-nya:

Dapatkan-ADDomainController -Identity "10.1.1.120"

Temukan semua DC dengan karakter DC04 dalam namanya:

Dapatkan-ADDomainController -Filter name -like "* dc04 *" | Pilih Nama, ipv4Address, OperatingSystem, situs

Cari semua DC yang tersedia di situs tertentu:

Get-ADDomainController -Discover -ForceDiscover -Site "Nama-Situs"

Daftar DC di situs yang namanya dimulai dengan Mos *:

Dapatkan-ADDomainController -Filter site -like "Mos *" | Pilih Nama, ipv4Address, OperatingSystem, situs

Daftar semua pengontrol domain Hanya Baca:

Dapatkan-ADDomainController -Filter IsReadOnly -eq $ true | Pilih Nama, ipv4Address, OperatingSystem, situs

Temukan DC di situs "Nama Situs", yang mencakup peran Katalog Global:

Dapatkan-ADDomainController -Filter site -eq "Nama Situs" -dan IsGlobalCatalog -eq $ true | Pilih Nama, ipv4Address, OperatingSystem, situs

Skrip PowerShell untuk memeriksa ketersediaan semua pengontrol domain

Desain berikut memungkinkan Anda untuk mengulangi semua pengontrol domain di Active Directory dan melakukan tindakan spesifik untuk masing-masing pengontrol domain:

$ AllDCs = Dapatkan-ADDomainController -Filter *
ForEach ($ DC dalam $ AllDCs)

lakukan sesuatu

Berikut ini adalah contoh skrip PowerShell sederhana yang memeriksa ketersediaan port LDAPS (TCP 636) pada setiap DC dalam domain menggunakan cmdlet Test-NetConnection. Jika port LDAPS di DC tidak tersedia, peringatan akan muncul.

$ AllDCs = Dapatkan-ADDomainController -Filter * | Select-Object Hostname, Ipv4address, isGlobalCatalog, Site, Forest, OperatingSystem
ForEach ($ DC dalam $ AllDCs)

$ PortResult = Tes-NetConnection -ComputerName $ DC.Hostname -Port 636 -InformationLevel Quiet
if ($ PortResult -ne "$ True")
write-host $ DC.Hostname "tidak tersedia" -BackgroundColor Red -ForegroundColor White
lain
host-host $ DC.Hostname "tersedia"

Hasilnya adalah skrip pemantauan ketersediaan DC sederhana. Masih ada berbagai skenario enumerasi semua DC di domain. Pada artikel sebelumnya, kami telah menunjukkan cara menggunakan Get-ADDomainController untuk mencari peristiwa tertentu di log di semua pengontrol domain. Misalnya, untuk: mencari acara penguncian akun pengguna, mencari peristiwa otentikasi NTLMv1, mencari acara ketika pengguna ditambahkan ke grup AD, dll..