Можно ли определить функциональные уровни домена / леса 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). Прокомментируйте, если нам нужно взглянуть на этот конец.