Bagaimana cara memeriksa tingkat fungsional domain / hutan AD DS dari domain yang bergabung dengan workstation?

8

Apakah mungkin untuk menentukan tingkat fungsi domain DS AD / hutan dari domain yang bergabung dengan workstation? Lebih disukai melalui CLI / PS dan jika mungkin tanpa Hak Admin Domain ... Bagaimana saya bisa mencapainya?

Mikhail
sumber

Jawaban:

10

Powershell berikut tidak memerlukan akses admin atau domain, saya sudah menguji sebagai pengguna terbatas pada workstation yang bergabung dengan domain dengan Powershell v2 / v3. Itu tidak memerlukan alat pihak ketiga atau modul Powershell.

$dse = ([ADSI] "LDAP://RootDSE")

# Domain Controller Functional Level
$dse.domainControllerFunctionality

# Domain Functional Level
$dse.domainFunctionality

# Forest Functional Level
$dse.forestFunctionality

Nilai yang dikembalikan akan mewakili tingkat fungsional yang berbeda:

Value  Forest        Domain             Domain Controller
0      2000          2000 Mixed/Native  2000
1      2003 Interim  2003 Interim       N/A
2      2003          2003               2003
3      2008          2008               2008
4      2008 R2       2008 R2            2008 R2
5      2012          2012               2012
6      2012 R2       2012 R2            2012 R2
7      2016          2016               2016

Referensi:

jscott
sumber
3

Hanya solusi pelengkap untuk jawaban yang diterima, karena saya berakhir di sini kurang lebih dengan kebutuhan yang sama. Perbedaannya adalah seseorang mendapatkan nama level yang diterjemahkan:

Import-Module ActiveDirectory
$ForestRoot = 'top.domain'

(get-adforest -identity $ForestRoot).ForestMode

(get-adforest -identity $ForestRoot).Domains |
ForEach-Object {Get-ADDomain -Identity $_ |
ft DNSRoot,DomainMode -AutoSize}
ErikE
sumber
1
+1. Perlu dicatat bahwa Anda memerlukan Modul AD Microsoft Powershell. Contoh ADSI tidak.
jscott
Benar, mengeditnya ..
ErikE
Perbaikan kecil. Anda sebenarnya tidak perlu memasukkan -identity $ForestRootbagian - bagian dari perintah get-adforest ketika Anda menjalankannya dari mesin yang bergabung ke hutan yang Anda coba tanyakan. Cmdlet hanya akan mengambil info mesin saat ini.
Ryan Bolger
2

Anda hanya ingin memeriksanya atau benar-benar mengubahnya? Mengubahnya akan memerlukan hak administratif tertentu pada domain / hutan.

Cara termudah yang dapat saya pikirkan tanpa dsquery atau PS Get-ADDomain (yang akan membutuhkan mengimpor modul AD) adalah dengan menggunakan perintah ADFIND Joeware.

http://www.joeware.net/freetools/tools/adfind/

adfind -rootdse domaincontrollerfunctionality domainfunctionality forestfunctionality

Contoh keluaran dari domain saya:

AdFind V01.47.00cpp Joe Richards ([email protected]) Oktober 2012

Menggunakan server: DOMAIN-DC1.hahaha.local: 389

Direktori: Windows Server 2008 R2

dn:

domainFunctionality: 4 [Mode Server Windows Server 2008 R2]

forestFunctionality: 4 [Mode Hutan Windows Server 2008 R2]

domainControllerFunctionality: 4 [Mode Windows Server 2008 R2]

1 Objek dikembalikan

Pembersih
sumber
1

Untuk pendekatan berbasis GUI Anda dapat menggunakan Active Directory Explorer . Klik kanan pada simpul atas domain, klik Properti dan periksa nilai domainControllerFunctionality, domainFunctionality atau forestFunctionality. Mereka memiliki nilai integer yang sesuai dengan:

0 = Menangkan 2000
1 = Menangkan campuran 2003 / sementara
2 = Menangkan 2003
3 = Menangkan 2008
4 = Menangkan 2008 R2
5 = Menangkan 2012
6 = Menangkan 2012 R2
7 = Menangkan 2016

bogdan
sumber
0

Anda perlu mengajukan pertanyaan ini sedikit berbeda, karena saya tidak yakin apa yang Anda coba lakukan - Cara ini berbunyi adalah Anda menginginkan skrip PowerShell atau file batch yang dapat melakukan tugas-tugas yang sangat administratif tanpa berjalan sebagai pengguna yang mampu melakukan tugas-tugas tersebut. Jika itu yang Anda tanyakan, itu tidak mungkin, dengan desain.

Namun, jika Anda bertanya tentang cara mengelola AD dari workstation, dengan memberikan skrip yang dapat menjalankan perintah kepada pengguna, jika tidak, pengguna tidak akan dapat (yaitu Anda ingin meminta AD dari akun layanan yang tidak memiliki hak pribadi), kami perlu mengetahui versi Powershell apa yang Anda gunakan, dan versi Server apa yang Anda gunakan.

Anda juga dapat mempertimbangkan layanan web AD untuk tugas satu per satu yang ingin Anda delegasikan.

Dari posting TechNet: Jalankan DSQUERY di bawah ini

Dsquery * CN = Partisi, CN = Konfigurasi, DC = Mydomain, DC = basis com -cope -attr msDS-Behavior-Version

Output: msDS-Behavior-Version 2

Atribut yang menunjukkan DFL dan FFL: - Pengaturan level hutan

Nama: Jalur Versi-perilaku-msDS: CN = Partisi, CN = Konfigurasi, DC =, DC = com

Nilai: 0 atau tidak diset = hutan tingkat campuran

1 = Windows Server 2003 tingkat hutan sementara 2 = Windows Server 2003 tingkat hutan 3 = Windows Server 2008 tingkat hutan

  • Pengaturan level domain

Nama: msDS-Behavior-Version Path: DC =, DC =, DC = com (domain root) Nilai: 0 atau tidak diset = domain level campuran

1 = domain Windows Server 2003 level 2 = domain Windows Server 2003 level 3 = level domain Windows Server 2008

  • Pengaturan mode campuran / Asli

Nama: ntMixedDomain

Path: DC =, DC =, DC = com (root domain)

Nilai: 0 = Domain tingkat asli 1 = Domain tingkat campuran

Saya tidak yakin tentang persyaratan peran pengguna untuk menjalankan ini, tetapi Anda tidak mengubah apa pun dengannya dan itu semua menggunakan DSQUERY (Dari RSAT, unduh gratis dari Microsoft). Beri komentar jika kita perlu mencermati ujungnya.

pengguna1467163
sumber
Pertanyaan saya adalah untuk situasi ketika katakanlah anggota departemen TI yang bukan admin domain perlu dengan cepat memverifikasi / memeriksa domain dua kali / tingkat fungsional hutan tanpa mengganggu admin domain yang seharusnya tahu daripada & memiliki semua konsol & alat yang tepat untuk memeriksanya. .. Metode cepat & sederhana apa pun akan berhasil untuk saya
Mikhail
1
Saya mendapatkan bahwa pertanyaan ini adalah latihan dalam "bagaimana hal ini bisa dilakukan", namun demikian saya tidak dapat memikirkan satu skenario di mana seorang anggota tim IT yang tidak memiliki hak yang sesuai perlu melakukan ini dalam perjalanan pekerjaan mereka.
joeqwerty
Saya bekerja di sebuah perusahaan besar, dan informasi seperti ini akan berguna di perusahaan seperti itu. Berikut ini contohnya: lokasi Anda memiliki domain dengan penuaan DC dan Anda perlu menerapkan fitur FL yang lebih baru untuk memenuhi permintaan tiket. Anda mungkin tidak akrab dengan admin domain yang sudah kelebihan beban. Untuk memastikan peningkatan yang diperlukan, Anda harus mengumpulkan proses, yang murni penelitian sehingga Anda bisa mendapatkan permintaan perubahan bersama - ini adalah persyaratan ITIL. Ini akan sangat berguna dalam situasi seperti itu.
user1467163