terça-feira, 20 de agosto de 2013

Server Core no Windows Server 2012

A partir do Windows Server 2008 é possível realizar a instalação do sistema sem interface gráfica, essa categoria de instalação foi batizada como "Server Core". Esse novo método reduz consideravelmente o espaço em disco ocupado pela instalação (cerca de 4GB a menos), diminui a superfície de ataque e consequentemente otimiza a utilização de um hardware "menos potente".

No Windows Server 2012 o recurso foi aprimorado, a interface gráfica, mais conhecida como GUI (Graphical User Interface) é uma feature do sistema, isto é, pode ser adicionada e removida a qualquer momento. Um grande progresso em relação ao Windows Server 2008, onde o sistema precisava ser completamente reinstalado para dar ou não suporte a interface gráfica. 

Também existe um modo intermediário denominado "Minimal Server Interface", que torna possível o uso do "Server Manager", "Microsoft Management Console (MMC)" e algumas ferramentas do painel de controle.

Já que estamos tratando de novidades, um novo recurso chamado "Features on Demand" permite que binários de instalação não implantados no servidor sejam completamente removidos do sistema, preservando ao máximo o espaço em disco. 

Nesse artigo realizei a instalação do Windows Server 2012 Standard sem interface gráfica (opção padrão para a instalação do Windows Server 2012).

Figura 01. Instalação padrão (Server Core)
Após o processo de instalação ser concluído, é possível acessar o utilitário sconfig.cmd e realizar as configurações básicas do servidor.

Figura 02. Sconfig.cmd
Para executar o Windows PowerShell, digite PowerShell no prompt de comando. Utilize o cmdlet Get-WindowsFeatures para visualizar todos os recursos que podem ser instalados no servidor.

Figura 03. Recursos disponíveis para instalação

Dentro da categoria "User Interface and Infrastructure"existem três subitens:

  • Graphical Management Tools and Infrastructure: Se instalado, habilita o modo intermediário denominado "Minimal Server Interface".
  • Desktop Experience: Se instalado, inclui recursos do Windows 8, como Windows Media Player e temas da área de trabalho.
  • Server Graphical Shell: Se instalado, fornece interface gráfica completa.

Observe que na terceira e ultima coluna (Install State) é informado o status atual do recurso: Instalado, Removido e Disponível. Os binários de recursos com status "removidos" não se encontram disponíveis para instalação, se nenhuma fonte externa (mídia) for informada, o recurso será automaticamente baixando da Internet (Features on Demand).

Uso do Get-WindowsFeature: 

Exibe todos os recursos que podem ser instalados no servidor:
Get-WindowsFeature

Exibe todos os recursos que possuem a palavra "Gui" em seu nome:
Get-WindowsFeature *Gui*

Exibe todos os recursos que encontram-se atualmente instalados, removidos e disponíveis: 
Get-WindowsFeature | Where-Object {$_.InstallState -eq "Installed"}
Get-WindowsFeature | Where-Object {$_.InstallState -eq "Removed"}
Get-WindowsFeature | Where-Object {$_.InstallState -eq "Available"}

Adicionando Interface Gráfica Completa ao Servidor:

Os seguintes recursos devem ser instalados: Graphical Management Tools and Infrastructure e Server Graphical Shell. Como os dois recursos não estão disponíveis diretamente no sistema operacional, uma fonte externa deve ser informada, caso contrario, os binários serão baixados a partir da Internet. Nesse exemplo vamos montar a mídia do Windows Server 2012 e usa-la como fonte de instalação.

Listando os índices da imagem:
Get-WindowsImage -ImagePath X:\Sources\Install.wim

Figura 04. Saída do comando Get-WindowsImage
Observe que o índice dois representa a mídia do Windows Server 2012 Stantard.

Montando a imagem de instalação a partir do arquivo Install.wim no diretório C:\ImageStore:
Mount-WindowsImage -ImagePath D:\sources\install.wim -Index 2 -Path C:\ImageStore -ReadOnly

Observação: Não esqueça de criar o diretório  "C:\ImageStore" antes de montar a imagem.

Finalmente, os recursos exigidos são instalados:
Install-WindowsFeature Server-Gui-Mgmt-Infra,Server-Gui-Shell -Source C:\ImageStore\Windows\WinSxS

Se você não quiser montar a imagem, use o seguinte comando para realizar a instalação dos recursos diretamente do arquivo Install.wim:

Install-WindowsFeature Server-Gui-Mgmt-Infra,Server-Gui-Shell -Source wim:X:\Sources\Install.wim:2

Após conclusão da instalação, reinicie o servidor.

Figura 05. Interface gráfica disponível

A interface gráfica pode ser removida a qualquer momento pelo Server Manager, ou através do cmdlet Unistall-WindowsFeature.

Abraços.







 



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!


























terça-feira, 30 de abril de 2013

Motivação para escrita do blog

Olá Pessoal.

Como professor universitário e instrutor Microsoft, percebo que os estudantes preocupam-se cada vez mais com as atividades práticas, não se importando em ignorar uma boa parte dos conceitos existentes por trás dos comandos e telas de configurações presentes nos sistemas operacionais. Talvez isso esteja acontecendo pelo fato das informações (muitas delas, sem sentido algum) estarem "jogadas" de forma desordenada na internet, sendo muito mais fácil e prático seguir um pequeno "How-To" do que parar alguns instantes para pensar na possível solução de um determinado problema.
Se não pararmos para refletir o quanto isso é prejudicial para o nosso aprendizado, teremos cada vez mais instituições especializadas em formar "apertadores de parafusos".
A intenção desse blog não é somente a de compartilhar guias de configuração, mas sim discutir de uma forma um pouco mais aprofundada o "por quê" das coisas.