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

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

5 ответов

Решение

Для следующего 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), является использование команды ADFIND от Joeware.

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

дп:

Функциональность домена: 4 [Режим домена Windows Server 2008 R2]

forestFunctionality: 4 [Лесной режим Windows Server 2008 R2]

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

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

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

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

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

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

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

Из сообщения TechNet: Запустите ниже DSQUERY

Dsquery * CN = разделы,CN= конфигурация, DC = мидомен, DC = базовая область действия -attr msDS-Behavior-Version

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

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

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

Другие вопросы по тегам