segunda-feira, 13 de maio de 2013

Afinal, o que é diretiva de loopback?

Olá Pessoal.

Resolvi escrever esse artigo pois sinto uma grande dificuldade por parte dos alunos em compreender o funcionamento da diretiva de loopback.

Primeiro é necessário entender o comportamento padrão no processamento das diretivas. Todo GPO possui dois escopos de configuração: "Configurações do Computador" e "Configurações do Usuário". Diretivas definidas dentro de "Configurações do Computador" serão aplicadas diretamente para os computadores, independente do usuário que fizer uso do mesmo. Já as diretivas definidas dentro de "Configurações do Usuário" serão aplicadas diretamente para os usuários, independente do computador em uso. Vejamos o exemplo abaixo:

Figura 1. Gerenciamento de Diretiva de Grupo


Imagine que na unidade organizacional "Usuários" existe um usuário chamado Libardi, na unidade organizacional "Desktops" um computador nomeado WIN7-CLT01. O que acontece quando o usuário Libardi efetua logon no computador WIN7-CLT01? Para o usuário Libardi serão aplicadas as diretivas existentes no escopo "Configurações do Usuário" do GPO-01, já para o computador WIN7-CLT01 serão aplicadas as diretivas existentes no escopo "Configurações do Computador" do GPO-02. Esse é o comportamento padrão para o processamento das diretivas.

Em alguns casos torna-se necessário que diretivas especificas para usuários sejam processadas de acordo com o computador onde o logon do usuário foi efetuado. É nesse ponto que destaca-se a importância da diretiva de loopback. Vejamos mais um exemplo:

Quando o usuário Libardi efetuar logon no computador WIN7-CLT-01 as diretivas configuradas no escopo "Configurações do Usuário" do GPO-01 devem ser imediatamente ignoradas, já as diretivas configuradas no escopo "Configurações do usuário" do GPO-02 devem ser imediatamente aplicadas. Isso garante configurações exclusivas para qualquer usuário que utiliza o computador WIN7-CLT01. Para que essa configuração seja efetua com sucesso, é necessário habilitar a diretiva de loopback dentro do GPO-02 no seguinte caminho:

Configurações do Computador -> Diretivas -> Modelos Administrativos - Sistema -> Diretiva de Grupo -> Modo de processamento de loopback de diretiva de grupo de usuários:

Figura 2. Modo de Processamento de loopback de diretiva de grupo de usuários

Observe que depois de habilitada, a diretiva possui dois modos de trabalho: "Substituir" e "Mesclar". No modo Substituir as diretivas configuradas no escopo "Diretivas do Usuário" do GPO-01 serão automaticamente ignoradas (Exemplo acima), já no modo Mesclar as diretivas do escopo "Diretivas do Usuário" do GPO-01 serão combinadas com as diretivas do escopo "Diretivas do Usuário" do GPO-02. Em caso de conflito, as "Diretivas do Usuários" do GPO-02 (onde o processo de loopback foi habilitado) terão um peso maior e portando serão aplicadas.

Esse tipo de configuração é muito útil quando usamos Remote Desktop Services (RDS) e queremos que diferentes diretivas sejam aplicadas quando os usuários efetuarem logon em um servidor RDS especifico.

Concluindo, a diretiva de loopback é exclusiva do escopo "Configurações do Computador", portando deve ser habilitada somente em GPOs ligados à unidades organizacionais que contenham objetos do tipo computador.

Recomendo que todos os interessados realizem testes relacionados a essa diretiva, além de útil, é muito cobrada nos exames 70-640 (Windows Server 2008 Active Directory, Configuring) e 70-411 (Administering Windows Server 2012).

Abraços!







terça-feira, 7 de maio de 2013

Replicação de GPOs

Olá Pessoal.

Vimos na publicação anterior que um GPO é formado basicamente por dois componentes: GPC (Group Policy Container) e GPT (Group Policy Template). Esses componentes são replicados entre os controladores de domínio utilizando mecanismos distintos.

O GPC no Active Directory é replicado pelo Directory Replication Agent (DRA), que utiliza a topologia gerada automaticamente pelo Knowledge Consistency Checker (KCC). Com isso podemos afirmar que o GPC é replicado praticamente de forma instantânea entre controladores de domínio presentes em um mesmo site, e em intervalos preestabelecidos entre controladores de domínio em sites distintos.

O GPT no SYSVOL é replicado por padrão utilizando o File Replication Service (FRS). Se todos os controladores de domínio estiverem utilizando Windows Server 2008 ou superior, é possível replicar o SYSVOL através do DFRS (Distributed File System Replication) que é uma tecnologia muito mais eficaz.

Como são utilizados mecanismos distintos para replicação, é possível que por um curto período de tempo o conteúdo do GPT seja diferente do GPC (o contrário também poderá ocorrer). É nesse ponto que ressaltamos a importância do atributo VersionNumber, presente no GPC e no GPT.

Se o GPC for replicado para um controlador de domínio antes do GPT, os sistemas que obtiveram a lista de GPOs disponíveis a partir desse controlador de domínio tentarão fazer o download das diretivas armazenas no GPT, como o atributo VersionNumber é diferente, um evento de erro será registrado no Event Viewer do cliente.

Se o GPT for replicado para um controlador de domínio antes do GPC, nada acontecerá ate o GPC ser replicado.

Aprenderemos agora utilizar a ferramenta gpotool.exe para diagnosticar esse tipo de problema em uma infraestrutura do Active Directory.

Faça o download isolado da ferramenta Aqui.

A partir do prompt de comando executaremos algumas analises para identificar possíveis problemas relacionados à replicação do GPC e GPT.

Se o comando for executado sem parâmetros adicionais, a seguinte saída será exibida:

Saída padrão do comando gpotool.exe
O gpotool.exe retorna a lista de todas as GPOs disponíveis, verificando a compatibilidade do atributo VersionNumber presente dentro do GPC e GPT em todos os controladores de domínio. Observe que não existe nenhum problema de replicação nas seis políticas existentes no domínio de exemplo.

É possível checar o status da replicação somente em um controlador de domínio, para isso utilize a seguinte parâmetro do comando gpotool.exe:

gpotool.exe /DC:WS2008R2-01.nwtraders.msft (nome do controlador de domínio).

Podemos também consultar o status de um GPO especifico:

gpotool.exe  /GPO:{88323D67-3BF3-47FB-BA17-73412D9305A5} (GUID do GPO).
Status de um GPO específico

O parâmetro /Verbose pode ser usado em qualquer contexto e exibe mais informações sobre o GPO:

gpotool.exe /DC:WS2008R2-01.nwtraders.msft /GPO:{88323D67-3BF3-47FB-BA17-73412D9305A5} /Verbose

Status de um GPO em modo detalhado
 Para finalizar, simulei o erro do atributo VersionNumber em um GPT qualquer. Observe a saída do comando:

Erro de replicação do atributo VersionNumber
Grande abraço a todos e até a próxima.

quarta-feira, 1 de maio de 2013

Como os GPOs são armazenados no Active Directory?

Olá Pessoal.

Para administradores habituados com o gerenciamento e administração do Active Directory, GPO (Group Policy Objects) são objetos criados através do GPMC (Group Policy Management Console) ou mesmo a partir de cmdlets específicos do PowerShell. Mas como esses GPOs são armazenados dentro dos controladores de domínio?

Para nós administradores, cada GPO é formado por um único objeto, agrupando uma ou mais configurações de diretivas. Para o Active Directory, cada GPO é representada por dois componentes: O GPC (Group Policy Container) e o GPT (Group Policy Template). Vamos agora entender a importância de cada um deles.

GPC (Group Policy Container)

O GPC é um objeto do Active Directory armazenado no contexto de nomenclatura padrão do domínio, ou seja, na partição "domínio" do arquivo NTDS.DIT (arquivo de banco de dados do Active Directory). Para cada GPO adicionado ao sistema, um objeto da classe GroupPoliceContainer é criado e nomeado com um GUID (Globally Unique Identifier), um identificador global exclusivo que o Active Directory utiliza para nomear seus objetos internamente. Na figura a baixo podemos visualizar esses objetos:

Objetos da classe GPC (Group Policy Container)

O GPC define os atributos básicos do GPO mas não armazena qualquer tipo de configuração, ou seja, as diretivas que configuramos para cada GPO não ficam armazenadas no GPC. Na figura abaixo podemos observar o atributo "VersionNumber", que é incrementado toda vez que alguma modificação é realizada no GPO.

Atributos do GPC (Group Policy Container)

 GPT (Group Policy Template)

Todas as diretivas que configuramos para um GPO ficam armazenadas no GPT, mais precisamente no compartilhamento SYSVOL (%SystemRoot%\Sysvol\Domínio\Policies\GPOGUID). Na figura abaixo podemos visualizar o GPT:

GPT (Group Policy Template) de um GPO qualquer

Sempre que editamos um GPO podemos configurar diretivas para computadores ou para usuários. As configurações relacionadas aos computadores ficam salvas na pasta "Machine", as configurações relacionadas aos usuários na pasta "User". O arquivo GPT.INI é responsável também por armazenar a versão do GPO.

É a partir do GPT que os computadores clientes fazem downloads das diretivas que deverão ser aplicadas durante o logon (diretivas de usuários) e durante a inicialização da maquina (diretivas de computador).

No próximo artigo abordarei a replicação dos GPOs entre os controladores de domínio, explicando de uma forma mais detalhada o atributo "VersionNumber" presente no GPC e no  GPT.

Abraços!