![如何从加入域的工作站检查 AD DS 域/林功能级别?](https://linux22.com/image/612542/%E5%A6%82%E4%BD%95%E4%BB%8E%E5%8A%A0%E5%85%A5%E5%9F%9F%E7%9A%84%E5%B7%A5%E4%BD%9C%E7%AB%99%E6%A3%80%E6%9F%A5%20AD%20DS%20%E5%9F%9F%2F%E6%9E%97%E5%8A%9F%E8%83%BD%E7%BA%A7%E5%88%AB%EF%BC%9F.png)
是否可以从加入域的工作站定义 AD DS 域/林功能级别?最好通过 CLI/PS,如果可能的话,无需域管理员权限...我该如何实现?
答案1
以下 Powershell 不需要管理员或域管理员访问权限,我已在加入域的工作站上使用 Powershell v2/v3 以受限用户身份进行了测试。它不需要任何第三方工具或 Powershell 模块。
$dse = ([ADSI] "LDAP://RootDSE")
# Domain Controller Functional Level
$dse.domainControllerFunctionality
# Domain Functional Level
$dse.domainFunctionality
# Forest Functional Level
$dse.forestFunctionality
返回的值将代表不同的功能级别:
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
参考:
答案2
这只是对已接受答案的补充解决方案,因为我或多或少有同样的需求。不同之处在于解码了级别名称:
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}
答案3
您只是想检查它还是实际更改它?更改它需要域/林的某些管理权限。
我能想到的最简单的方法是使用 Joeware 的 ADFIND 命令,而不需要 dsquery 或 PS Get-ADDomain(这需要导入 AD 模块)。
http://www.joeware.net/freetools/tools/adfind/
adfind -rootdse domaincontrollerfunctionality domainfunctionality forestfunctionality
来自我的域的示例输出:
AdFind V01.47.00cpp 乔·理查兹([电子邮件保护])2012年10月
使用服务器:DOMAIN-DC1.hahaha.local:389
目录:Windows Server 2008 R2
域名:
domainFunctionality:4 [Windows Server 2008 R2 域模式]
forestFunctionality:4 [Windows Server 2008 R2 森林模式]
domainControllerFunctionality:4 [Windows Server 2008 R2 模式]
1 返回的对象
答案4
您需要以稍微不同的方式提出这个问题,因为我不确定您想要做什么 - 这句话的意思就是您想要一个 powershell 脚本或批处理文件,它可以执行极其管理性的任务,而无需以能够执行这些任务的用户身份运行。如果您问的是这个,那么从设计上来说这是不可能的。
但是,如果您询问从工作站管理 AD,通过向用户提供可以运行用户原本无法运行的命令的脚本(即,您想从非特权服务帐户查询 AD),我们需要知道您使用的 Powershell 版本以及您使用的服务器版本。
您可能还会考虑使用 AD Web 服务来执行您希望委派的一次性任务。
来自 TechNet 帖子:运行以下 DSQUERY
Dsquery * CN=分区,CN=配置,DC=Mydomain,DC=com -scope base -attr msDS-Behavior-Version
输出:msDS-Behavior-Version 2
指示 DFL 和 FFL 的属性: - 森林级别设置
名称:msDS-Behavior-Version 路径:CN=Partitions, CN=Configuration, DC=, DC=com
值:0 或未设置=混合级森林
1=Windows Server 2003 临时林级别 2=Windows Server 2003 林级别 3=Windows Server 2008 林级别
- 域级别设置
名称:msDS-Behavior-Version 路径:DC=、DC=、DC=com(域根) 值:0 或未设置=混合级别域
1=Windows Server 2003 域级别 2=Windows Server 2003 域级别 3=Windows Server 2008 域级别
- 混合/本机模式设置
名称:ntMixedDomain
路径:DC=、DC=、DC=com(域根目录)
值:0=本机级别域 1=混合级别域
我不确定运行此程序的用户的角色要求,但您不会更改任何内容,并且全部使用 DSQUERY(来自 RSAT,可从 Microsoft 免费下载)。如果我们需要查看它的结尾,请发表评论。