Jawaban:
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:
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}
-identity $ForestRoot
bagian - 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.
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 (joe@joeware.net) 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
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
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
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
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.