Como identificar se o comando o adprep /domainprep /gpprep foi executado ?

O Active Directory do Windows Server 2003 trouxe uma nova funcionalidade chamada Group Policy Modeling, que permite simular a execução das policies de computador e usuário antes de aplicá-la no ambiente em produção, tudo isso a partir de uma console centralizada, o GPMC (Group Policy Management Console).

Mais detalhes sobre o Group Policy Modeling acesse o link: https://technet.microsoft.com/en-us/library/cc781242(WS.10).aspx

O que o Group Policy Modeling tem a ver com o /gpprep?

Tem tudo a ver, para que o Group Policy Modeling funcione em um domínio que foi atualizado de Windows 2000 para Windows 2003/2008, é necessário executar o comando adprep /domainprep /gpprep, que adiciona a permissão de Read and Execute para o grupo ENTERPRISE DOMAIN CONTROLLERS, na pasta %systemroot%\SYSVOL\sysvol\<DNSDomainName>\Policies.

NOTA: Essa permissão não é visível na pasta Policies, mas será herdada para nova GPOs criadas.

Imaginando que o seu domínio tenha sido atualizado em 2003/2004, é bem possível que ninguém lembre se, durante a atualização do domínio, o comando /gpprep foi executado.

Para verificar se o adprep /domainprep /gpprep já foi executado, verifique se todas as policies criadas após a execução do comando possuem o grupo ENTERPRISE DOMAIN CONTROLLERS com permissão de Read & Execute, conforme abaixo:

 

Untitled

Como possivelmente ninguém sabe a data que o comando foi executado (ou não), crie uma nova GPO de teste, e verifique as permissões da GPO:

  • Se aparecer o grupo ENTERPRISE DOMAIN CONTROLLERS, o comando já foi executado.
  • Se não aparecer o grupo, o comando não foi executado.

NOTA: Mesmo que o comando já tenha sido executado, não há problema algum executá-lo novamente, conforme pode ser visto abaixo:

C:\Temp\ADPREP>adprep /domainprep /gpprep
Running domainprep ...
Domain-wide information has already been updated.
[Status/Consequence]
Adprep did not attempt to rerun this operation.

Para que a funcionalidade Group Policy Modeling para as GPOs criadas anteriormente à execução do comando, instale o GPMC em um dos Domain Controllers, abra a pasta %programfiles%\gpmc\scripts e execute o seguinte comando:

Cscript GrantPermissionOnAllGPOs.wsf "Enterprise Domain Controllers" /Permission:Read /Domain::<DNSDomainName>

Importante: Executar o script GrantPermissionOnAllGPOs.wsf não substituí a execução do adprep /domainprep /gpprep, pois o adprep modifica as permissões default do sysvol de forma que as novas GPOs criadas já estarão com a permissão correta, Já o script altera somente as GPOs existentes no domínio, as novas voltarão a ficar com a permissão “errada”.

Todo o conteúdo deste post vale SOMENTE para ambientes que foram atualizados de Windows 2000 para Windows 2003, caso o Active Directory tenha começado com Windows 2003 ou superior não é necessário executa nem o comando adprep /gpprep nem o script. As permissões já estarão ajustadas.