Como verificar o nível funcional do domínio / floresta do AD DS a partir da estação de trabalho associada ao domínio?

8

É possível definir os níveis funcionais do domínio / floresta do AD DS a partir da estação de trabalho associada ao domínio? De preferência através do CLI / PS e, se possível, sem direitos de administrador do domínio ... Como posso conseguir isso?

    
por Mikhail 31.05.2013 / 11:58

5 respostas

10

O seguinte Powershell não requer acesso de administrador ou administrador de domínio, testei como um usuário limitado em uma estação de trabalho de domínio associado ao Powershell v2 / v3. Não requer ferramentas de terceiros ou módulos Powershell.

$dse = ([ADSI] "LDAP://RootDSE")

# Domain Controller Functional Level
$dse.domainControllerFunctionality

# Domain Functional Level
$dse.domainFunctionality

# Forest Functional Level
$dse.forestFunctionality

Os valores retornados representarão um nível funcional distinto:

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

Referências:

por 31.05.2013 / 15:31
3

Apenas uma solução complementar à resposta aceita, pois acabei aqui mais ou menos com a mesma necessidade. A diferença é obter o nome do nível decodificado:

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}
    
por 10.06.2015 / 13:04
2

Você só quer verificá-lo ou alterá-lo? A alteração exigiria certos direitos administrativos no domínio / floresta.

A maneira mais fácil que eu posso pensar sem dsquery ou PS Get-ADDomain (o que exigiria a importação do módulo do AD) é usar o comando ADFIND do Joeware.

link

adfind -rootdse domaincontrollerfunctionality domainfunctionality forestfunctionality

Exemplo de saída do meu domínio:

AdFind V01.47.00cpp Joe Richards ([email protected]) October 2012

Using server: DOMAIN-DC1.hahaha.local:389

Directory: Windows Server 2008 R2

dn:

domainFunctionality: 4 [Windows Server 2008 R2 Domain Mode]

forestFunctionality: 4 [Windows Server 2008 R2 Forest Mode]

domainControllerFunctionality: 4 [Windows Server 2008 R2 Mode]

     

1 Objetos retornados

    
por 31.05.2013 / 15:15
1

Para uma abordagem baseada em GUI, você pode usar o Active Directory Explorer . Clique com o botão direito do mouse no nó superior do domínio, clique em Propriedades e verifique o valor de domainControllerFunctionality, domainFunctionality ou forestFunctionality. Eles têm valores inteiros correspondentes a:

0 = Win 2000
1 = Win 2003 misturado / interino
2 = Win 2003
3 = Win 2008
4 = Win 2008 R2
5 = Ganhe 2012
6 = Win 2012 R2
7 = Ganhe 2016

    
por 10.01.2017 / 14:06
0

Você precisa fazer essa pergunta de forma um pouco diferente, porque não tenho certeza do que está tentando fazer. A maneira como se lê é que você quer um script PowerShell ou um arquivo em lotes que pode executar tarefas extremamente administrativas sem executar como um usuário que é capaz de realizar essas tarefas. Se é isso que você está pedindo, não é possível, por design.

No entanto, se você estiver perguntando sobre como administrar AD de uma estação de trabalho, entregando a um usuário um script que pode executar comandos que o usuário não conseguiria (ou seja, você deseja consultar o AD de uma conta de serviço não privilegiada), precisa saber qual versão do Powershell você está usando e qual versão do Servidor você está usando.

Você também pode considerar os serviços da Web do AD para tarefas individuais que deseja delegar.

De uma postagem do TechNet: Execute o abaixo DSQUERY

Dsquery * CN = Partições, CN = Configuração, DC = Mydomain, DC = com -scope base -attr msDS-Behavior-Version

Saída:    msDS-Behavior-Version    2

Os atributos que indicam o DFL e o FFL: - Configuração do nível da floresta

Nome: msDS-Behavior-Version Caminho: CN = Partições, CN = Configuração, DC =, DC = com

Valor: 0 ou não definido = floresta de nível misto

1 = nível de floresta provisório do Windows Server 2003 2 = nível de floresta do Windows Server 2003 3 = nível de floresta do Windows Server 2008

  • Configuração no nível do domínio

Nome: msDS-Behavior-Version Caminho: DC =, DC =, DC = com (raiz do domínio) Valor: 0 ou não definido = domínio de nível misto

1 = nível de domínio do Windows Server 2003 2 = nível de domínio do Windows Server 2003 3 = nível de domínio do Windows Server 2008

  • Configuração do modo misto / nativo

Nome: ntMixedDomain

Caminho: DC =, DC =, DC = com (raiz do domínio)

Valor: 0 = domínio de nível nativo                 1 = domínio de nível misto

Não tenho certeza sobre os requisitos de função do usuário para executar isso, mas você não está alterando nada com ele e está tudo usando o DSQUERY (do RSAT, download gratuito da Microsoft). Comente se precisarmos olhar para esse fim.

    
por 31.05.2013 / 14:49