Câu trả lời:
Powershell sau đây không yêu cầu quyền truy cập của quản trị viên hoặc quản trị viên tên miền, tôi đã thử nghiệm với tư cách là người dùng hạn chế trên máy trạm gia nhập miền với Powershell v2 / v3. Nó không yêu cầu bất kỳ công cụ của bên thứ ba hoặc mô-đun Powershell.
$dse = ([ADSI] "LDAP://RootDSE")
# Domain Controller Functional Level
$dse.domainControllerFunctionality
# Domain Functional Level
$dse.domainFunctionality
# Forest Functional Level
$dse.forestFunctionality
Các giá trị được trả về sẽ đại diện cho một mức chức năng riêng biệt:
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
Người giới thiệu:
Chỉ là một giải pháp bổ sung cho câu trả lời được chấp nhận, vì tôi đã kết thúc ở đây ít nhiều với cùng một nhu cầu. Sự khác biệt là người ta được giải mã tên cấp độ:
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
phần của các lệnh get-adforest khi bạn đang chạy nó từ một máy tham gia vào khu rừng mà bạn đang cố gắng truy vấn. Lệnh ghép ngắn sẽ chỉ lấy thông tin của máy hiện tại.
Bạn chỉ muốn kiểm tra nó hoặc thực sự thay đổi nó? Thay đổi nó sẽ yêu cầu một số quyền quản trị nhất định trên miền / rừng.
Cách dễ nhất mà tôi có thể nghĩ đến mà không cần đến DSquery hoặc PS Get-ADDomain (sẽ yêu cầu nhập mô-đun AD) là sử dụng lệnh ADFIND của Jocare.
http://www.joware.net/freetools/tools/adfind/
adfind -rootdse domaincontrollerfunctionality domainfunctionality forestfunctionality
Ví dụ đầu ra từ tên miền của tôi:
AdFind V01.47.00cpp Joe Richards (joe@jonterest.net) Tháng 10 năm 2012
Sử dụng máy chủ: DOMAIN-DC1.hahaha.local: 389
Thư mục: Windows Server 2008 R2
đn:
domainF rốiality: 4 [Chế độ miền Windows Server 2008 R2]
ForestF rốiality: 4 [Chế độ rừng Windows Server 2008 R2]
domainControllF rốiality: 4 [Chế độ Windows Server 2008 R2]
Trả lại 1 đối tượng
Đối với cách tiếp cận dựa trên GUI, bạn có thể sử dụng Active Directory Explorer . Nhấp chuột phải vào nút trên cùng của tên miền, nhấp vào Thuộc tính và kiểm tra giá trị của domainControllF rốiality, domainF rốiality hoặc ForestF rốiality. Chúng có các giá trị nguyên tương ứng với:
0 = Win 2000
1 = Win 2003 hỗn hợp / tạm thời
2 = Win 2003
3 = Win 2008
4 = Win 2008 R2
5 = Win 2012
6 = Win 2012 R2
7 = Win 2016
Bạn cần phải hỏi câu hỏi này một chút khác biệt, bởi vì tôi không chắc bạn đang cố gắng làm gì- Cách đọc này là bạn muốn một tập lệnh powershell hoặc tập tin bó có thể thực hiện các tác vụ cực kỳ quản trị mà không cần chạy như một người dùng có khả năng thực hiện các nhiệm vụ đó. Nếu đó là những gì bạn đang hỏi, thì không thể, theo thiết kế.
Tuy nhiên, nếu bạn đang hỏi về việc quản trị AD từ máy trạm, bằng cách trao cho người dùng một tập lệnh có thể chạy các lệnh mà người dùng sẽ không thể (nghĩa là bạn muốn truy vấn AD từ tài khoản dịch vụ không được ưu tiên), chúng tôi sẽ cần biết phiên bản Powershell nào bạn đang sử dụng và phiên bản Máy chủ nào bạn đang sử dụng.
Bạn cũng có thể xem xét các dịch vụ web AD cho các nhiệm vụ một lần mà bạn muốn ủy quyền.
Từ một bài đăng trên TechNet: Chạy DSQUERY bên dưới
Dsquery * CN = Phân vùng, CN = Cấu hình, DC = Mydomain, DC = com -scope base -attr msDS-Behavior-Version
Đầu ra: msDS-Behavior-Phiên bản 2
Các thuộc tính chỉ ra DFL và FFL: - Cài đặt cấp rừng
Tên: msDS-Hành vi Phiên bản Đường dẫn: CN = Phân vùng, CN = Cấu hình, DC =, DC = com
Giá trị: 0 hoặc không được đặt = rừng cấp hỗn hợp
1 = Windows Server 2003 tạm thời cấp rừng 2 = Windows Server 2003 rừng cấp 3 = cấp rừng Windows Server 2008
Tên: msDS-Hành vi-Phiên bản Đường dẫn: DC =, DC =, DC = com (tên miền gốc) Giá trị: 0 hoặc không được đặt = tên miền cấp hỗn hợp
1 = cấp miền Windows Server 2003 2 = cấp miền Windows Server 2003 3 = cấp miền Windows Server 2008
Tên: ntMixedDomain
Đường dẫn: DC =, DC =, DC = com (tên miền gốc)
Giá trị: 0 = Miền cấp độ bản địa 1 = Miền cấp độ hỗn hợp
Tôi không chắc chắn về các yêu cầu vai trò của người dùng để chạy cái này, nhưng bạn không thay đổi bất cứ điều gì với nó và tất cả đều sử dụng DSQUERY (Từ RSAT, tải xuống miễn phí từ Microsoft). Nhận xét nếu chúng ta cần nhìn vào kết thúc của nó.