Назад | Перейти на главную страницу

Как проверить функциональный уровень домена / леса AD DS с рабочей станции, присоединенной к домену?

Можно ли определить функциональные уровни домена / леса AD DS с рабочей станции, присоединенной к домену? Желательно через CLI / PS и, если возможно, без прав администратора домена ... Как я могу это сделать?

Следующая 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

Ссылки:

Просто дополнительное решение к принятому ответу, поскольку я оказался здесь более или менее с той же потребностью. Разница в том, что имя уровня декодируется:

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}

Вы просто хотите это проверить или изменить? Для его изменения потребуются определенные административные права в домене / лесу.

Самый простой способ, о котором я могу думать без dsquery или PS Get-ADDomain (который потребовал бы импорта модуля AD), - это использовать команду Joeware ADFIND.

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

adfind -rootdse domaincontrollerfunctionality domainfunctionality forestfunctionality

Пример вывода из моего домена:

AdFind V01.47.00cpp Джо Ричардс (joe@joeware.net) октябрь 2012 г.

Используется сервер: DOMAIN-DC1.hahaha.local: 389

Каталог: Windows Server 2008 R2

dn:

domainFunctionality: 4 [режим домена Windows Server 2008 R2]

forestFunctionality: 4 [Windows Server 2008 R2 Forest Mode]

domainControllerFunctionality: 4 [режим Windows Server 2008 R2]

1 возвращенных объектов

Для подхода на основе графического интерфейса вы можете использовать Обозреватель Active Directory. Щелкните правой кнопкой мыши верхний узел домена, выберите Свойства и проверьте значение domainControllerFunctionality, domainFunctionality или forestFunctionality. У них есть целые значения соответствующий кому:

0 = Win 2000
1 = Win 2003 смешанный / промежуточный
2 = Win 2003
3 = Win 2008
4 = Win 2008 R2
5 = Победа 2012
6 = Победа 2012 R2
7 = Победа 2016

Вам нужно задать этот вопрос немного по-другому, потому что я не уверен, что вы пытаетесь сделать. Здесь говорится, что вам нужен сценарий PowerShell или командный файл, который может выполнять чрезвычайно административные задачи, не выполняясь как пользователь, который способен выполнять эти задачи. Если это то, о чем вы спрашиваете, это невозможно по замыслу.

Однако, если вы спрашиваете об администрировании AD с рабочей станции, передавая пользователю сценарий, который может запускать команды, которые пользователь в противном случае не смог бы выполнить (т.е. вы хотите запросить AD из непривилегированной учетной записи службы), нам нужно будет знать какую версию Powershell вы используете, и какую версию сервера вы используете.

Вы также можете рассмотреть веб-службы AD для разовых задач, которые вы хотите делегировать.

Из сообщения TechNet: запустите приведенный ниже DSQUERY

Dsquery * CN = разделы, CN = Configuration, DC = Mydomain, DC = com -scope base -attr msDS-Behavior-Version

Вывод: msDS-Behavior-Version 2

Атрибуты, обозначающие DFL и FFL: - Настройка уровня леса.

Имя: msDS-Behavior-Version Путь: CN = разделы, 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). Прокомментируйте, если нам нужно взглянуть на этот конец.