 TechNet Magazine May 2008

TechNet Magazine May 2008

Administração do Windows: Backup e restauração do Active Directory no Windows Server 2008

O Windows Server 2008 e o novo utilitário de Backup do Windows Server incluem várias alterações e aprimoramentos bem-vindos ao backup. Aqui está um guia detalhado para fazer o backup e restaurar o Active Directory no novo SO do servidor.

Gil Kirkpatrick Administração do Windows: Criando estruturas de UO que funcionam

Muitos administradores subestimam a importância de uma estrutura de unidade organizacional bem projetada. Descubra por que possuir uma estratégia de UO consistente é importante e determine a melhor estrutura de UO para a sua organização.

Ken St. Cyr Administração do Windows: Extensão do esquema do Active Directory

Muitos aplicativos que dependem do Active Directory definem suas próprias alterações no esquema. Mas é importante que essas alterações não tenham impacto sobre outros aplicativos. Obtenha uma visão geral de como estender o Active Directory por meio dos objetos classSchema e attributeSchema.

Vikas Malhotra System Center: Apresentando o System Center Mobile Device Manager

O novo System Center Mobile Device Manager fornece um conjunto completo de ferramentas para gerenciar dispositivos Windows Mobile por meio de um snap-in do MMC ou via Windows PowerShell. Descubra como essa ferramenta essencial permitirá que você gerencie dispositivos móveis, aumente a segurança e forneça recursos móveis de VPN.

Matt Fontaine System Center: Novidades no System Center Essentials SP1

O Service Pack 1 introduz aprimoramentos significativos no System Center Essentials 2007. Explore algumas das principais alterações que irão aprimorar a experiência do usuário e simplificar a administração.

Pete Zerger Do editor: Uma calorosa recepção a "Explorando o SharePoint"

Joshua Hoffman Cartas: A palavra está com os leitores

Toolbox: Novos produtos para profissionais de TI

Greg Steen Perguntas e respostas do Exchange: Implantação do Exchange 2007 SP1

Nesta edição, damos respostas para as suas dúvidas a respeito do Exchange Server 2007 SP1.

Nino Bilic Utilitário em destaque: Planejamento da capacidade do SharePoint

Explore a ferramenta de planejamento da capacidade do SharePoint e veja como é possível projetar uma topologia para implantar o SharePoint e, em seguida, revisá-la depois das execuções das simulações de carga e de uso.

Peter Skjøtt Larsen and Satish Mathew Explorando o SharePoint: Criando a infra-estrutura do SharePoint

O SharePoint é eficiente, mas sua complexidade pode fazer da implantação um grande desafio. A nossa nova coluna sobre o SharePoint pode ajudar. Nesta primeira parte, apresentamos uma visão geral da arquitetura do SharePoint e mostramos como instalar uma infra-estrutura básica do SharePoint com o WSS 3.0.

Pav Cherny Windows PowerShell: Automatizando o gerenciamento de diretórios

A versão 1 do Windows PowerShell oferece recursos um tanto limitados para o gerenciamento do Active Directory. Descubra como é possível usar suplementos para obter formas de trabalho mais eficazes com objetos do Active Directory no Windows PowerShell.

Don Jones Ei, Equipe de Scripts!: Levantando as sobrancelhas em expressões regulares

A equipe de scripts visita o Louvre, aprende crítica da arte e mostra como usar expressões regulares em um script para fazer uma pesquisa e substituição.

The Microsoft Scripting Guys Security Watch: Princípios da segurança quantum

Saiba como o Princípio da incerteza de Heisenberg e os demais elementos da física quantum podem lançar uma luz sobre estratégias de segurança em evolução. (Observação: nenhum gato foi ferido durante a elaboração deste artigo.)

Jesper M. Johansson Os arquivos da área de trabalho: Deixando o administrador para trás

Por que todos estão em execução como administradores? Wes Miller observa os riscos da execução como Administrador e explora os benefícios da transição dos usuários (inclusive você mesmo) para a execução como Usuário.

Wes Miller Anotações de campo: Múltiplos mouses, um único PC

O que você faz quando o número de alunos excede o de computadores disponíveis em uma sala de aula? A Divisão de Pesquisa da Microsoft da Índia desenvolveu uma solução, chamada MultiPoint, que permite o uso simultâneo de vários mouses em um único computador.

Kentaro Toyama Segredos do Windows: Os ícones de 16 bits estão tão fora de moda

Raymond Chen observa por que o Windows Vista não dá suporte a ícones de 16 bits e se pergunta se alguém chegou a notar isso.

Raymond Chen


 Administra&#231;&#227;o do Windows: Backup e restaura&#231;&#227;o do Active Directory no Windows Server 2008
Administração do Windows Gil Kirkpatrick

Backup e restauração do Active Directory no Windows Server 2008
À primeira vista:
  • NTBACKUP X Backup do Windows Server
  • Opções e ferramentas de backup
  • Opções e ferramentas de recuperação
  • Segredos para uma estratégia de backup segura do Active Directory

Todos vocês sabem que os ADDS (Serviços de Domínio do Active Directory) são um componente de missão crítica na sua infra-estrutura do Windows. Se o Active Directory ficar inativo, sua rede ficará essencialmente inútil. Conseqüentemente, seus planos de backup e recuperação para o Active
Directory são fundamentais para a segurança, a continuidade dos negócios e a conformidade a normas.
O Windows Server® 2008 apresenta vários novos recursos para o Active Directory®, dois dos quais possuem um impacto significativo nos seus planos de backup e recuperação: o novo utilitário de Backup do Windows Server e a capacidade de obter e trabalhar com instantâneos do Serviço de Cópias de Sombra de Volume do Active Directory. Neste artigo, eu descreverei as alterações que esses aprimoramentos apresentam como benefício e como você pode aproveitar essas alterações para simplificar suas atividades de backup do Active Directory.

NTBACKUP X Backup do Windows Server
Configurações de Diretiva de Grupo
O Backup do Windows Server fornece várias configurações de Diretiva de Grupo que proporcionam a você um pouco de controle limitado em relação a como os backups funcionam nos seus servidores. Com essas políticas de backup, você pode atenuar alguns dos riscos associados com as pessoas executarem backups não-autorizados para obter acesso a dados também não-autorizados. As opções incluem:
Permitir somente backup do sistema Se estiver definida, o Backup do Windows Server poderá apenas fazer o backup de volumes críticos do sistema. Ele não poderá executar backups de volume. <br/><title>Não permitir como destino de backup um meio de armazenamento conectado localmente</title> Quando habilitada, essa configuração não permitirá backups em unidades conectadas localmente. Você poderá apenas fazer o backup em um compartilhamento de rede.
Não permitir rede como destino de backup Essa configuração não permite o backup em nenhum compartilhamento de rede.
Não permitir mídia ótica como destino de backup Quando definida, o Backup do Windows Server não pode fazer o backup em nenhum dispositivo ótico, como uma unidade de DVD gravável.
Não permitir backups de execução única Essa configuração não permite que o Backup do Windows Server execute backups ad hoc não-agendados. Apenas backups agendados pelo snap-in do MMC do Backup do Windows Server podem ser executados.

O NTBACKUP que você conhece e ama desde o Windows NT® 3.5 não existe mais. O Backup do Windows Server o substitui. E essa nova ferramenta não é apenas um NTBACKUP adornado; é uma tecnologia de backup totalmente nova que o forçará a pensar novamente na maneira com que você faz o backup dos seus sistemas.
Embora o Backup do Windows® Server seja a única solução de backup pronta para o Windows Server 2008, ele não é uma substituição de recurso por recurso para o NTBACKUP. A maior diferença é que o Backup do Windows Server é uma solução de backup de disco para disco; ele não suporta o backup em fita. Você pode criar imagens de backup em volumes de disco de acesso direto, em compartilhamentos de rede e até mesmo em unidades de disco USB externas em DVDs graváveis de vários volumes. Mas você não pode fazer backup em fita. E apenas para deixar claro, você ainda pode fixar uma unidade de fita em um servidor Windows Server 2008 e copiar as imagens geradas do Backup do Windows Server para a unidade de fita — mas você terá que usar o software de outra pessoa para fazer isso.
Enquanto o NTBACKUP é uma ferramenta de backup e restauração baseada em arquivos, o Backup do Windows Server é baseado em volume e bloco. O Backup do Windows Server lida com sua fonte de backup como um conjunto de volumes, com cada volume como uma coleção de blocos de disco. Isso é consideravelmente mais eficiente do que fazer o backup de arquivos pelo sistema de arquivos. Lidar com backups por bloco também permite que o Backup do Windows Server faça uso de instantâneos do Serviço de Cópias de Sombra de Volume para executar backups incrementais de nível de bloco, bem como criar instantâneos no volume de destino para simplificar o uso de (e reduzir o espaço usado por) vários backups.
Mesmo se você estiver fazendo backups completos, o Backup do Windows Server fornece excelentes eficiências de espaço nos discos de destino. Por exemplo, você pode executar vários backups completos do mesmo volume. Como o Backup do Windows Server usa instantâneos do Serviço de Cópias de Sombra de Volume nos discos de destino onde ele armazena as imagens de backup, os instantâneos apenas irão armazenar os blocos que foram alterados. Isso reduz substancialmente o espaço usado por vários backups completos e elimina a necessidade de executar várias operações de restauração para recuperar um backup incremental. Embora o instantâneo apenas armazene os deltas para cada backup, o Serviço de Cópias de Sombra de Volume faz cada backup parecer completo.
Esteja ciente, no entanto, que você apenas obtém os benefícios dos instantâneos do Serviço de Cópias de Sombra de Volume no destino se fizer o backup para um disco rígido local — o Backup do Windows Server não pode executar operações do Serviço de Cópias de Sombra de Volume em backups armazenados em DVD ou compartilhamentos de rede.
Como um bônus adicional, o Backup do Windows Server armazena suas imagens de backup no formato do Microsoft® VHD (Virtual Hard Disk). Você pode realmente pegar uma imagem de backup e montá-la como um volume em uma máquina virtual executada no Microsoft Virtual Server 2005. Você pode simplesmente montar os VHDs em uma máquina virtual e procurar um arquivo particular, em vez de ter que executar restaurações de teste de fitas para ver em qual o arquivo está. (Uma nota de advertência: você não pode pegar uma imagem de backup e inicializar uma máquina virtual a partir dela. Como a configuração do hardware cujo backup foi feito não corresponde à configuração da máquina virtual, você não pode usar o Backup do Windows Server como uma ferramenta de migração de físico para virtual.)
Há uma desvantagem na orientação de volume e bloco do Backup do Windows Server. Como essa nova ferramenta olha a fonte do backup como um conjunto de volumes e blocos, ela não permite que você faça o backup apenas de arquivos selecionados. Você precisa fazer o backup do volume inteiro. E, ainda mais problemático, por padrão, você não pode armazenar uma imagem de backup em um dos volumes cujo backup está sendo feito (existem algumas maneiras de configurar para resolver esse problema; consulte support.microsoft.com/kb/944530). Isso tem uma implicação profunda no backup de estado do sistema, como discutirei mais tarde neste artigo.

Instalação do Backup do Windows Server
O Backup do Windows Server é um "recurso" do Windows Server 2008 e não é instalado por padrão. Antes que você possa executar um backup com o Backup do Windows Server, você precisa instalar o recurso, usando o Gerenciador de Servidores ou o utilitário de linha de comando SERVERMANAGERCMD:
C:\> servermanagercmd -install Backup-Features
O Backup do Windows Server é composto de dois sub-recursos, Backup do Windows Server e Ferramentas da Linha de Comando. Observe que as Ferramentas da Linha de Comando se referem a um conjunto de cmdlets do Windows PowerShellTM — e não à ferramenta de linha de comando WBADMIN .EXE. Portanto, se você optar por instalar os dois sub-recursos, deverá instalar o recurso Windows PowerShell.
Após instalar o Backup do Windows Server, você poderá encontrar o snap-in do MMC (Console de Gerenciamento Microsoft) no nó de Armazenamento do Gerenciador de Servidores e no menu Ferramentas Administrativas. Se estiver instalando o Backup do Windows Server em uma instalação Server Core do Windows Server 2008, use o comando OCSETUP (é importante observar que o comando OCSETUP diferencia maiúsculas de minúsculas):
C:\> ocsetup WindowsServerBackup
Uma descrição completa do processo de instalação está disponível em go.microsoft.com/fwlink/?LinkId=113146.
Observe que o Backup do Windows Server não pode restaurar imagens criadas com o NTBACKUP. Para esse cenário improvável, a Microsoft disponibilizou uma versão do NTBACKUP que pode ser baixada para Windows Server 2008 (consulte go.microsoft.com/fwlink/?LinkId=113147).

Os componentes do Backup do Windows Server
A maneira na qual o aplicativo de Backup do Windows Server é arquitetado representa uma alteração significativa. Essa nova solução de backup consiste de quatro componentes:
  • Interface de usuário MMC (WBADMIN.MCS)
  • Interface de linha de comando
(WBADMIN.EXE)
  • Serviço de backup (WBENGINE.EXE)
  • Conjunto de cmdlets do Windows PowerShell
Dividir o aplicativo em um cliente e um serviço possui várias vantagens, sendo que a mais importante é mais confiabilidade. Quer você inicie um backup a partir do cliente MMC ou da interface de linha de comando, o serviço WBENGINE estará fazendo a tarefa pesada. Os programas cliente apenas relatam o status do backup. Portanto, encerrar o cliente não resultará em um backup pela metade. O cliente irá parar e o serviço continuará até a conclusão. É claro que se você realmente desejar parar o backup, poderá, mas deverá fazê-lo explicitamente.
A outra vantagem dessa arquitetura dividida é que você pode usar o cliente para gerenciar backups em máquinas remotas. Isso é particularmente interessante quando você precisa fazer o backup de máquinas com vários núcleos do Windows Server 2008.
O Backup do Windows Server suporta restaurações bare-metal usando o Ambiente de Recuperação do Windows, ou WinRE, que acompanha a mídia de instalação do Windows Server 2008. O WinRE simplifica o processo de recuperação de um servidor do zero. Eu discutirei a execução de uma restauração bare-metal posteriormente neste artigo. Vale a pena mencionar que o Backup do Windows Server suporta várias configurações de Diretiva de Grupo para gerenciar backups — descritas no quadro "Configurações de Diretiva de Grupo".

Serviço de Cópias de Sombra de Volume
O Backup do Windows Server usa o Serviço de Cópias de Sombra de Volume de três maneiras diferentes. Quando você inicia um backup completo no Windows Server 2008, a primeira coisa que o aplicativo faz é fazer uma cópia de sombra de todos os volumes de origem. Isso proporciona uma visão consistente do sistema de arquivos para o software de backup com o qual trabalhar. (Isso é semelhante ao que o NTBACKUP fez.) O Backup do Windows Server então copia blocos do volume de origem — bloco por bloco — para destino do backup, criando uma imagem VHD para cada volume cujo backup foi feito no processo.
A menos que você especifique de outra forma, o Backup do Windows Server também cria um instantâneo do volume de origem, de forma que o Serviço de Cópias de Sombra de Volume rastreie todos os blocos alterados no volume. Isso permite que o Backup do Windows Server crie backups incrementais de nível de bloco que apenas exigem a leitura dos blocos alterados do volume de origem. Em vez de ler e gravar um arquivo inteiro porque um bit foi alterado no arquivo, o Backup do Windows Server pode ler e gravar apenas o bloco que foi alterado.
Isso proporciona backups incrementais muito eficientes, mas ao custo de E/S de disco extra para operações de gravação no volume de origem. Se você estiver fazendo o backup de um volume particularmente ocupado ou de desempenho crítico, você deve desativar o instantâneo do Serviço de Cópias de Sombra de Volume no volume de origem selecionando o link Definir Configurações de Desempenho e, em seguida, desativando os backups incrementais nesse volume (como exibido na Figura 1).
Figure 1 Disable incremental backups on busy volumes
Figure 1 Disable incremental backups on busy volumes
Quando o backup estiver completo, o Backup do Windows Server tira um instantâneo do volume de destino (supondo que você esteja fazendo o backup em um disco rígido conectado localmente). Durante o próximo backup, os arquivos VHD de destino são sobrescritos. Mas como o Serviço de Cópias de Sombra de Volume está mantendo cópias de sombra do volume de destino, existem, em vigor, várias versões de cada arquivo VHD correspondentes a cada um dos backups completos. Você essencialmente obtém vários backups completos pelo custo de um backup completo e os blocos alterados.

Backup em compartilhamentos de rede
O backup em um compartilhamento de rede é tão fácil quanto o backup em um volume local. A diferença significativa é que ele não pode criar um instantâneo do Serviço de Cópias de Sombra de Volume do volume remoto. Portanto, cada backup completo sobrescreverá o anterior, deixando-o apenas com a imagem de backup completo mais recente de cada servidor em um compartilhamento de rede. Devido a essa limitação, você não pode usar o agendador do Backup do Windows Server para agendar backups em um compartilhamento de rede. Você pode, no entanto, usar o Agendador de Tarefas do Windows para executar o programa de linha de comando WBADMIN para realizar backups completos em um compartilhamento de rede. Se você optar por agendar backups completos em um compartilhamento de rede dessa maneira, altere a pasta de destino para cada backup para evitar sobrescrever backups anteriores.

Backup em DVDs graváveis
O Backup do Windows Server também suporta o backup em mídia ótica, como DVDs graváveis. E você pode criar conjuntos de backups que se estendem por vários volumes igualmente. O Backup do Windows Server sempre compacta backups em DVDs, o que significa que você pode apenas executar restaurações completas do sistema ou do volume a partir do DVD. O Backup do Windows Server não suporta restaurações e backups de nível do sistema ou de estado do sistema ao usar DVDs. E você não pode agendar backups em DVD.

Backups e restaurações de estado do sistema
Backups de estado do sistema, que incluem apenas determinados arquivos e alguns bancos de dados de aplicativos (e não volumes inteiro) é útil e muitas vezes essencial. Mas compilações anteriores do Windows Server 2008 não suportavam restaurações e backups de estado do sistema . Em vez disso, a ferramenta de backup apenas fazia o backup de volumes críticos do sistema (isto é, qualquer volume necessário para recuperar e reinicializar o SO e aplicativos principais). Esses volumes de sistema críticos eram o equivalente orientado por volume de um backup de estado do sistema.
Reconhecendo os comentários de clientes, a Microsoft acrescentou recursos de restauração e backup de estado do sistema ao Backup do Windows Server. O aplicativo cria vários arquivos VHD, um para cada volume que hospeda os dados de estado do sistema, mas ele apenas copia os arquivos e bancos de dados necessários aos VHDs. Outro problema é que quando você executa um backup de estado do sistema, o Backup do Windows Server não cria um instantâneo do volume de destino como o faz no processo normal de backup. Em vez disso, cada backup de estado do sistema gera um conjunto inteiramente novo de arquivos VHD, o que significa que você não obtém as eficiências de espaço encontradas com os backups de volume baseados em instantâneo .
Você pode executar apenas um backup de estado do sistema usando o programa de linha de comando WBADMIN.EXE — o snap-in do MMC não fornece essa opção. Para executar um backup de estado do sistema, você usa este comando:
C:\> wbadmin start systemstatebackup
–backuptarget:e:
O WBADMIN fará então o backup dos arquivos de sistema e dos bancos de dados do aplicativo críticos para o volume de destino, em uma pasta reservada para backups de estado do sistema. O backup de estado do sistema em um DC (controlador de domínio) do Windows Server 2008 de 32 bits com uma DIT (árvore de informações de diretórios) padrão executa um pouco mais que 6 GB — isso é 5 GB a mais que no Windows Server 2003 devido, em parte, ao fato que o Backup do Windows Server está capturando arquivos principais do SO que o NTBACKUP não capturava.
O tempo necessário para se fazer o backup do estado do sistema também é maior, como você esperaria. Esses números iniciais, é claro, são baseados em uma versão de pré-lançamento do SO. Você certamente precisaria testar isso em seu próprio ambiente, mas é provável que você precise planejar backups de estado do sistema maiores (e períodos de backup mais longos) quando você move seus controladores de domínio para o Windows Server 2008.

Backup de um servidor com o MMC
Quando você executa o MMC do Backup do Windows Server (consulte a Figura 2), você tem a opção de configurar um agendamento de backup ou imediatamente executar um backup ad hoc. Nesse caso, eu seleciono Backup uma vez para executar um backup imediato.
Figure 2 Windows Server Backup MMC
Figure 2 Windows Server Backup MMC
Como você pode ver na Figura 3, posso optar entre fazer o backup de todos os volumes no servidor ou fazer o backup apenas dos volumes específicos que eu escolher. Se eu selecionar servidor Completo, o Backup do Windows Server fará o backup de todos os volumes montados, mas eu não terei a opção de fazer o backup em um disco rígido montado — em vez disso, terei que fazer o backup em um DVD gravável ou em um compartilhamento de rede.
Figure 3 Using the backup configuration dialog to specify all or select volumes
Figure 3 Using the backup configuration dialog to specify all or select volumes
Neste exemplo, desejo fazer o backup em um disco rígido local, então seleciono a opção Personalizado. Uma caixa de diálogo então permite que eu selecione os volumes cujo backup será feito (consulte a Figura 4). Por padrão, o Backup do Windows Server marca a caixa Habilitar recuperação do sistema, que faz com que o Backup do Windows Server selecione o volume de inicialização, o volume do SO e qualquer outro volume com arquivos de sistema e bancos de dados de aplicativos críticos. Em um DC, isso inclui os volumes que hospedam o SYSVOL, a DIT do Active Directory e os logs do Active Directory. Isso é o equivalente de um backup de estado do sistema, mas ele faz o backup de todos os volumes críticos, e não apenas dos arquivos críticos nesses volumes. Na verdade, eu até mesmo tenho a habilidade de executar uma recuperação de estado do sistema a partir de um conjunto de backup de recuperação do sistema.
Figure 4 Selecting specific volumes to back up
Figure 4 Selecting specific volumes to back up
Após selecionar o tipo de destino (disco local ou compartilhamento de rede) e especificar o destino, o Backup do Windows Server solicita que eu selecione um backup de cópia de VSS ou um backup completo de VSS. A terminologia é um pouco confusa, pois as duas opções farão o backup dos volumes selecionados por inteiro. A diferença reside na maneira com que o Backup do Windows Server trata dos arquivos de origem após seu backup ter sido feito. Se você selecionar a opção de copiar, o Backup do Windows Server deixará os arquivos cujo backup foi feito sozinho. Se você escolher a opção completa, o Backup do Windows Server redefinirá o arquivo.

Backup de um servidor a partir da linha de comando
Se desejar fazer o script do processo de backup, ou se estiver fazendo o backup de um servidor em uma instalação Server Core, você poderá usar o programa de linha de comando WBADMIN.EXE. O WBADMIN fornece um conjunto completo de opções que executam essencialmente as mesmas funções do snap-in do MMC, incluindo o gerenciamento de agendamentos de backup.
Suponha que eu queira iniciar o serviço WBENGINE, que, por sua vez, executa o processo de backup. Tudo o que faço é digitar este comando:
C:\> wbadmin start backup –include:c:,d:
–backuptarget:e:
Ou, para fazer o backup de todos os volumes críticos do sistema, eu posso digitar este comando:
C:\> wbadmin start backup -allcritical
–backuptarget:e:
Após iniciar o backup, o WBADMIN continua a executar e mostrar o progresso do backup. Se eu encerrar o WBADMIN, o backup continuará no segundo plano. Eu posso então reconectar o WBADMIN a um backup em execução usando este comando:
C:\> wbadmin get status
E se eu desejar encerrar um backup em execução, apenas digito isto:
C:\> wbadmin stop job

Agendamento de backups com o MMC
O agendador de backups integrado ao Backup do Windows Server é realmente projetado para fazer uma coisa: simplificar o agendamento de backups diários completos do sistema para um volume de disco local. Você pode usar o agendador interno para girar automaticamente backups entre vários volumes de destino. Se você possui discos rígidos de fácil remoção (ou estiver usando discos rígidos conectados por USB), pode usar esse recurso para configurar um esquema de rotação onde você remove o disco de backup e o armazena fora do local e retorna o disco de backup mais antigo para o servidor para o próximo backup agendado.
O agendador do Backup do Windows Server apenas permite que você agende backups que sempre ocorrem diariamente. Não há como agendar backups para, por exemplo, segundas, quartas e sextas. Então, se você não deseja executar seus backups agendados diariamente, você terá que trabalhar diretamente com o Agendador de Tarefas do Windows.
Quando você configura um backup agendado em um disco local, o Backup do Windows Server se responsabiliza pelo disco, formatando-o, configurando uma estrutura de pasta específica e tornando o disco de destino invisível para o Windows Explorer. O disco de destino deve ser um volume básico — o Backup do Windows Server não pode fazer o backup em discos configurados como volumes dinâmicos.
Agendar backups pelo snap-in do MMC é muito fácil. Neste exemplo, eu primeiro seleciono o link Agendamento de Backup, especifico o tipo de backup e os volumes cujo backup será feito e, em seguida, o Backup do Windows Server mostra a caixa de diálogo "Especificar horário do backup" (consulte a Figura 5).
Figure 5 Specifying when daily backups should occur
Figure 5 Specifying when daily backups should occur
Após selecionar os horários nos quais desejo que o backup ocorra, posso selecionar o volume (ou volumes) nos quais desejo fazer o backup. Nesse caso, eu seleciono o volume de backup E:, como exibido na Figura 6. O Backup do Windows Server tenta selecionar um volume de destino apropriado para você, mas se o disco cujo backup você desejar fazer não for exibido, você poderá usar o botão Mostrar Todos os Discos Disponíveis para exibir todos os dispositivos de disco conectados. Após passar por várias caixas de diálogo de "confirmação", o Backup do Windows Server formata o(s) volume(s) de destino e agenda a tarefa de backup usando o Agendador de Tarefas do Windows.
Figure 6 Specifying the destination disk for a scheduled backup
Figure 6 Specifying the destination disk for a scheduled backup
Sempre que um backup agendado for concluído, o Backup do Windows Server tira um instantâneo do volume de destino. E a cada sete dias, ele cria uma nova imagem de referência. A atividade é registrada no log Microsoft/Backup/Operacional. Você pode verificar nele se seus backups foram concluídos com sucesso; pode também associar uma tarefa, como enviar uma mensagem de email, com os eventos de sucesso e falha, de forma que você sempre saberá o status de seus backups agendados.

Agendamento de backups a partir da linha de comando
Se estiver agendando backups em uma instalação Server Core ou apenas desejar fazer o script do processo, você poderá gerenciar o agendamento do backup usando a linha de comando WBADMIN. Para adicionar um backup agendado, você usa o comando WBADMIN ENABLE BACKUP, especificando o destino, a origem e o horário agendado, assim:
C:\> wbadmin enable backup –addtarget:e:
-include:c:,d: -schedule:06:00,12:00,18:00
Esse comando faria o backup das unidades C: e D: para a unidade E: três vezes por dia, às 6 horas, ao meio-dia e às 18 horas. (observe que todos os horários são especificados usando um relógio 24 horas). Para fazer o backup de todos os volumes críticos do sistema (a partir dos quais você pode executar uma restauração bare-metal ou uma restauração de estado do sistema), substitua a opção –include por –allcritical.
Você também pode usar o WBADMIN para desativar todos os backups agendados, assim:
C:\> wbadmin disable backup
Esse comando irá excluir todos os trabalhos de backup agendados criados pelo agendador do Backup do Windows Server e liberar todos os volumes de destino de backup para o uso normal. Observe que você sempre poderá usar o snap-in do MMC WBADMIN para gerenciar remotamente atividades de backup e restauração dos servidores Server Core.

Recuperação bare-metal de um controlador de domínio
Uma das melhorias mais interessantes para o backup e a recuperação é como o WinRE foi incorporado ao processo de instalação. Quando você inicializa o Windows Server 2008 a partir da mídia de instalação, você pode escolher a opção Reparar o seu computador, como exibido na Figura 7. Eu destaco isso porque é fácil perder de vista se você não estiver procurando.
Figure 7 The Repair your computer option is available on the installation screen
Figure 7 The Repair your computer option is available on the installation screen
Após selecionar a opção de reparo na tela de instalação, o Windows permite que eu selecione uma opção de recuperação, como exibido na Figura 8. Nesse caso, eu seleciono Restauração do Windows Complete PC, que invoca o Ambiente de Recuperação do Windows.
Figure 8 Specifying system recovery options
Figure 8 Specifying system recovery options
Após selecionar o sistema operacional que deseja reparar (há normalmente uma única escolha), o WinRE permitirá que você selecione o backup a partir do qual deseja restaurar. Por padrão, o WinRE seleciona o backup completo do sistema mais recente, mas você pode especificar outros backups armazenados em discos locais ou pesquisar na rede backups armazenados em compartilhamentos de arquivos em outros servidores.
No meu exemplo, eu seleciono o backup completo do sistema mais recente. A próxima caixa de diálogo (mostrada na Figura 9) permite que eu formate e reparticione todos os discos antes que eles sejam restaurados. Essa é uma opção apropriada se o problema a partir do qual você estiver recuperando tiver sido causado por algum tipo de falha de disco ou se você tiver substituído uma ou mais unidades de disco no servidor.
Figure 9 You can easily format and repartition disks before they're restored
Figure 9 You can easily format and repartition disks before they're restored
Após algumas caixas de diálogo de confirmação, o WinRE inicia o processo de restauração e o servidor é inicializado. Essa é uma maneira bastante simples de executar uma recuperação bare-metal em um servidor.

Recuperação de estado do sistema de um controlador de domínio
Se precisar recuperar de algum tipo de problema relacionado ao Active Directory — como recuperar uma UO excluída do backup — você deverá restaurar o banco de dados do ADDS para um estado anterior, em vez de restaurar todo o sistema. Embora você possa interromper o ADDS como um serviço no Windows Server 2008, ainda precisará inicializar o servidor no DSRM (Modo de Restauração dos Serviços de Diretório) para executar uma restauração de estado do sistema em um controlador de domínio.
Alterar as opções de inicialização para fazer o Windows Server 2008 inicializar no DSRM não é tão fácil como antes. Todo o ambiente de inicialização do Windows foi reprojetado para suportar a nova EFI (Extensible Firmware Interface) e o antigo arquivo boot.ini não existe mais. Em vez disso, o Windows Server 2008 usa BDC (Dados de Configuração da Inicialização) para controlar o processo de inicialização.
A forma mais simples de gerenciar o BCD é usar o programa de linha de comando BCDEDIT. Uma discussão sobre todas as opções e os comandos BCDEDIT exigiria seu próprio artigo, então apenas mostrarei alguns exemplos úteis aqui.
Para reinicializar o DC do Windows Server 2008 no DSRM, use o seguinte comando:
C:\> bcdedit /set safeboot dsrepair
Isso definirá a opção de inicialização segura para a entrada do carregador de inicialização padrão. Em uma instalação nova do Windows Server 2008, há apenas uma entrada do carregador de inicialização, o WINLOAD.EXE. Para remover a opção de inicialização segura e reinicializar em modo normal, use este comando:
C:\> bcdedit /deletevalue safeboot
Para tornar as coisas um pouco mais fáceis, você pode configurar duas entradas do carregador de inicialização nos seus DCs — uma para uma inicialização normal e uma para uma inicialização DSRM. Dessa maneira, você pode alterar as opções de inicialização usando a caixa de diálogo de configurações de Inicialização e Recuperação disponível em Configurações do Sistema. Para adicionar uma nova entrada do carregador de inicialização, use este comando:
C:\> bcdedit /copy {default}
/d "Directory Service Repair Mode"
Essa ação criará uma nova entrada do carregador de inicialização copiando a entrada do carregador de inicialização padrão. BCDEDIT exibirá algo deste tipo:
The entry was successfully copied to
{c50d4710-a1f0-11dc-9580-0003ff402ae9}.
O GUID identifica a nova entrada. Em seguida, use este comando para definir a opção de inicialização segura para a nova entrada do carregador de inicialização no BCD:
C:\> bcdedit /set {<GUID for new entry>}
safeboot dsrepair
Você pode agora alternar do modo de inicialização normal para o modo de inicialização DSRM, usando as configurações de Inicialização e Recuperação (consulte a Figura 10).
Figure 10 Disable incremental backups on busy volumes
Figure 10 Disable incremental backups on busy volumes
Antes de usar o WBADMIN para iniciar uma restauração de estado do sistema, você deverá identificar o backup a partir do qual deseja fazer a restauração. O WBADMIN pode executar uma restauração de estado do sistema a partir de um backup completo do sistema, um backup que contém apenas os volumes críticos do sistema ou um backup de estado do sistema. Em qualquer um desses casos, você precisa especificar a versão do backup que deseja usar. A maneira mais fácil de identificar as versões de backup disponíveis é usar o seguinte comando do WBADMIN:
C:\> wbadmin get versions
O WBADMIN irá então exibir as versões de backup de uma maneira similar às informações exibidas na Figura 11. Observe que cada backup possui um tempo de backup, destino de backup, um identificador da versão (que, a propósito, é a hora e a data em que o backup foi iniciado no Horário Padrão Universal) e uma lista dos tipos de operações de recuperação que o backup pode suportar.
Figure 11 Identifique backups disponíveis para recuperação (Close Figure 11)
wbadmin 1.0 - Backup command-line tool
(C) Copyright 2004 Microsoft Corp.
Backup time: 11/30/2007 3:47 PM
Backup target: Fixed Disk labeled E:
Version identifier: 11/30/2007-22:47
Can Recover: Application(s), System State
Backup time: 12/1/2007 10:46 PM
Backup target: Fixed Disk labeled Backup(E:)
Version identifier: 12/02/2007-05:46
Can Recover: Volume(s), File(s), Application(s), Bare Metal Recovery, System State
Backup time: 12/2/2007 5:58 PM
Backup target: Fixed Disk labeled Backup(E:)
Version identifier: 12/03/2007-00:58
Can Recover: Volume(s), File(s), Application(s), Bare Metal Recovery, System State
Backup time: 12/3/2007 11:25 AM
Backup target: Fixed Disk labeled E:
Version identifier: 12/03/2007-18:25
Can Recover: Application(s), System State
Nesse caso, eu seleciono o backup mais recente e inicio a restauração de estado do sistema com este comando do WBADMIN:
C:\> wbadmin start systemstaterecovery
–version:12/03/2007-18:25
Isso executará uma restauração não-autoritativa. Se desejar executar uma restauração autoritativa do SYSVOL, você poderá apenas marcar a réplica SYSVOL restaurada como sendo autoritativa, adicionando a opção authsysvol ao comando WBADMIN. Para obter mais informações sobre esse processo, consulte go.microsoft.com/fwlink/?LinkId=113152.

Obtenção de instantâneos do Active Directory
Uma das alterações mais interessantes em termos de backup para o Active Directory não tem nada a ver mesmo com o Backup do Windows Server. No Windows Server 2008, você pode aproveitar-se do fato de que o Active Directory pode fornecer instantâneos do Serviço de Cópias de Sombra de Volume. Esses instantâneos são backups instantâneos muito simples do serviço em execução do Active Directory. E, ainda melhor, eles levam apenas alguns segundos do seu tempo para serem criados! Você pode então montar esses instantâneos e acessá-los usando utilitários normais baseados em LDAP, como a ferramenta LDP.
Você tira instantâneos do ADDS ou ADLDS (Active Directory Lightweight Directory Services) usando o comando NTDSUTIL, como exibido aqui:
ntdsutil: snapshot
snapshot: activate instance ntds
Active instance set to "ntds".
snapshot: create
Creating snapshot...
Snapshot set {42c44414-c099-4f1e-8bd8-4453ef2534a4} generated successfully.
snapshot: quit
ntdsutil: quit
Essa seqüência de comandos NTDSUTIL cria um instantâneo do Serviço de Cópias de Sombra de Volume dos volumes que contêm a DIT, os logs e o SYSVOL do Active Directory. Embora o Active Directory ainda esteja sendo atualizado, o Serviço de Cópias de Sombra de Volume usa uma estratégia de copiar ao gravar para certificar-se de que os instantâneos tirados sejam mantidos adequadamente. Observe que os instantâneos não são uma cópia completa da DIT. Eles são realmente apenas uma coleção de blocos de disco na DIT que foram modificados desde que o instantâneo foi tirado. Combinando esses blocos com a cópia atual da DIT, o VSS pode apresentar a DIT do Active Directory exatamente como ela apareceu no momento do instantâneo. A Figura 12 mostra como excluir instantâneos antigos ou desnecessários.
Figure 12 Exclua instantâneos desnecessários (Close Figure 12)
C:\> ntdsutil
ntdsutil: snapshot
snapshot: list all
 1: 2007/12/03:23:18 {42c44414-c099-4f1e-8bd8-4453ef2534a4}
 2:   C: {c0dd71ba-5bcd-4daf-9fbb-5cfbdd168022}
 3:   D: {2bbd739f-905a-431b-9449-11fba01f9931}
snapshot: delete 1
Snapshot {c0dd71ba-5bcd-4daf-9fbb-5cfbdd168022} mounted as C:\$SNAP_200712032318_VOLUMEC$\
Snapshot {2bbd739f-905a-431b-9449-11fba01f9931} mounted as C:\$SNAP_200712032318_VOLUMED$\
snapshot: quit
ntdsutil: quit
C:\>

Montagem de instantâneos do Active Directory
Para usar um desses instantâneos, você deve primeiro instruir o Serviço de Cópias de Sombra de Volume para disponibilizar o instantâneo ao sistema de arquivos. Você faz isso usando o comando ntdsutil para listar os instantâneos disponíveis e, em seguida, montar o instantâneo no qual está interessado (consulte a Figura 13).
Figure 13 Usando o ntdsutil para montar um instantâneo (Close Figure 13)
C:\> ntdsutil
ntdsutil: snapshot
snapshot: list all
 1: 2007/12/03:23:18 {42c44414-c099-4f1e-8bd8-4453ef2534a4}
 2:   C: {c0dd71ba-5bcd-4daf-9fbb-5cfbdd168022}
 3:   D: {2bbd739f-905a-431b-9449-11fba01f9931}
snapshot: mount 1
Snapshot {c0dd71ba-5bcd-4daf-9fbb-5cfbdd168022} mounted as C:\$SNAP_200712032318_VOLUMEC$\
Snapshot {2bbd739f-905a-431b-9449-11fba01f9931} mounted as C:\$SNAP_200712032318_VOLUMED$\
snapshot: quit
ntdsutil: quit
C:\>
O comando "list all" lista todos os instantâneos disponíveis do Active Directory que estão sendo mantidos no momento pelo Serviço de Cópias de Sombra de Volume. O comando "mount 1" monta os instantâneos selecionados da DIT do Active Directory e dos volumes de log e os disponibiliza no sistema de arquivos. Eles estão localizados em C:\$SNAP_200712032318_VOLUMEC$\ e C:\$SNAP_200712032318_VOLUMED$\.
Se você olhar nessas pastas, verá todo o conteúdo desses volumes como eles eram quando o instantâneo foi tirado. Observe, no entanto, que os instantâneos montados são somente leitura — significando que você não pode modificar nenhum dos arquivos no instantâneo montado.

Recuperação de dados a partir de instantâneos do Active Directory
A tarefa de montar os instantâneos dos volumes que contêm o Active Directory parece um pouco como mágica. Como você pode chegar aos dados do Active Directory contidos nesses instantâneos? O segredo é o comando DSAMAIN. Ele é um executável que executa o ADLDS. Ele é essencialmente um servidor LDAP autônomo que compartilha quase todos os seus códigos com o ADDS. Você pode usar o DSAMAIN para fazer os instantâneos montados parecerem um servidor LDAP somente leitura contendo os dados do Active Directory, como se fosse o momento em que o instantâneo foi tirado.
Considere este comando:
C:\> dsamain –dbpath
c:\$snap_200712032318_volumed$\ntds\dit
\ntds.dit -ldapport 10000
Isso monta o arquivo ntds.dit localizado na pasta c:\$snap_200712032318_volumed$\ntds\dit e o disponibiliza a operações do LDAP na porta TCP 10000 (ou qualquer porta aberta especificada). O DSAMAIN abrirá a porta LDAPS (a porta usada para o LDAP sobre a Camada de Soquete Seguro) na porta que você especificou mais um (nesse caso, 10001), a porta GC (a porta usada para conexões de catálogo global) na porta especificada mais dois (10002) e a porta GCS (Catálogo Global sobre a Camada de Soquete Seguro) na porta especificada mais três (10003).
Você pode usar qualquer programa LDAP (como LDP) para acessar a DIT montada na porta especificada. Mas no Windows Server 2008, ADUC (Usuários e Computadores do Active Directory), Sites e Serviços e Domínios e Relações de Confiança, bem como o ADSIEDIT, foram todos modificados para permitir que você os conecte a uma DIT montada usando DSAMAIN. Se você clicar com o botão direito do mouse no nó de nível superior no painel de navegação de qualquer ADUC e selecionar Alterar Controlador de Domínio, você verá a caixa de diálogo exibida na Figura 14. Se você simplesmente digitar o nome ou endereço IP do servidor que hospeda o instantâneo montado, juntamente com a porta (no meu exemplo, localhost:10000), o ADUC irá conectar ao instantâneo montado, permitindo que você procure o conteúdo do diretório como ele existia no momento do instantâneo. Incrível, não?
Figure 14 Connecting Active Directory users and computers to a mounted snapshot
Figure 14 Connecting Active Directory users and computers to a mounted snapshot
Poder acessar os dados do diretório dessa maneira torna vários tipos de tarefas de recuperação de dados muito mais fáceis do que elas costumavam ser. Por exemplo, para recuperar um objeto excluído de um backup exigia anteriormente que você executasse uma restauração não-autoritativa do backup em um DC existente e, em seguida, executasse uma restauração autoritativa do objeto excluído. E, se o backup restaurado não possuísse os dados corretos, você tinha que começar tudo de novo com um backup diferente. Agora, usando a reanimação de marcas para exclusão e os instantâneos, você pode rapidamente encontrar e recuperar dados excluídos e você nem precisa colocar o controlador de domínio offline para fazê-lo.
Existem algumas limitações, no entanto. Por exemplo, cada instantâneo ativo aumenta a E/S de disco associada a operações de gravação ao diretório, então você provavelmente não deve ter mais de um ou dois instantâneos ativos em nenhum momento em um DC de produção. Além disso, quanto mais tempo você mantiver os instantâneos ativos, maior será o armazenamento delta do Serviço de Cópias de Sombra de Volume — isso pode afetar também o desempenho. E, é claro, simplesmente recuperar um objeto excluído é apenas a primeira parte do problema de recuperação. Você provavelmente terá que recuperar os atributos vinculados do objeto, como associações de grupo, também. Mas mesmo nesse caso, o instantâneo poderá ajudá-lo a identificar todos os grupos dos quais o objeto excluído era um membro.

Uma estratégia de recuperação e backup segura do Active Directory
O Windows Server 2008 apresenta como benefício um sistema inteiramente novo de backup e recuperação. Algumas das alterações podem primeiramente causar choros e ranger de dentes. Mas depois que as organizações de TI tiverem aceitado essas alterações e incorporado a nova tecnologia de backup em suas operações diárias, elas irão terminar com uma implementação de backup e recuperação mais eficaz.
Mesmo com todas as alterações na maneira com que você faz o backup de servidores no Windows Server 2008, a estratégia básica para backup e recuperação do Active Directory não foi realmente muito alterada. Então, ao planejar sua estratégia, certifique-se de manter essas práticas recomendadas em mente:
  • Agende backups completos do sistema periodicamente para que possa recuperar um DC após uma falha de hardware. A freqüência com a qual você agenda backups completos de um DC depende da freqüência com que seus dados são atualizados, sua tolerância de tempo de inatividade e/ou perda de dados e o esforça que pode ser necessário para recriar o DC do zero.
  • Agende backups freqüentes de estado do sistema para fazer o backup de alterações no Active Directory. A freqüência com a qual você executa backups de estado do sistema depende da sua tolerância para dados perdidos do Active Directory. Mas você deveria fazer isso pelo menos uma vez por dia. Se você possui o hardware, mantenha pelo menos um ou dois backups de estado do sistema em um disco local e copie versões mais antigas de estado do sistema para um DVD ou um compartilhamento de rede.
  • Certifique-se de fazer backups de estado do sistema em pelo menos dois DCs em cada domínio. Isso fornecerá alguma garantia caso um dos backups esteja inválido ou indisponível.
Certifique-se de fazer o backup dos DCs com réplicas de partição do aplicativo se as tiver definido. E pense em criar uma partição para o Ambiente de Recuperação do Windows nos seus DCs para que possa rapidamente inicializar no WinRE caso uma unidade do sistema crítica falhe.

Gil Kirkpatrick é o Diretor de Tecnologia (CTO)da NetPro e desenvolve softwares para Active Directory desde 1996. Com Guido Grillenmeier, da HP, ele apresenta os conhecidos workshops sobre recuperação de desastres do Active Directory. Gil também é o fundador da Directory Experts Conference (consulte www.dec2008.com).
© 2007 Microsoft Corporation e CMP Media, LLC. Todos os direitos reservados; é proibida a reprodução parcial ou completa sem autorização..


 Administra&#231;&#227;o do Windows: Criando estruturas de UO que funcionam
Administração do Windows Ken St. Cyr

Criando estruturas de UO que funcionam
À primeira vista:
  • Princípios fundamentais para um bom projeto de UO
  • Modelos de projetos comuns de UO
  • Documente seu projeto de UO

Não subestime a importância — e a complexidade — de criar uma boa estrutura de UO (unidade organizacional). Descobri que os departamentos de TI muitas vezes andam nas duas direções — eles
colocam muita ênfase na estrutura de UO ou não pensam suficientemente nela. De qualquer maneira, isso pode levar a problemas com seu modelo do Active Directory®.
Enfatizar demais a estrutura de UO retira o foco de outras áreas do projeto do Active Directory, como planejar a topologia do local ou pensar no dimensionamento do controlador de domínio. Por outro lado, quando o planejamento de UO é colocado em uma posição secundária, a Diretiva de Grupo e a delegação são afetadas.
Uma das desculpas que ouço ocasionalmente é que a estrutura da UO é flexível e pode ser alterada posteriormente se ela não se adequar. É verdade que a estrutura de UO é flexível; no entanto, os administradores muitas vezes descobrem que alterar a estrutura da UO mais adiante é mais difícil do que eles haviam previsto originalmente. É claro que novas UOs podem ser adicionadas, mas as antigas não são fáceis de apagar.
Uma estrutura de UO com um planejamento ruim tende a impor uma vida própria. Se um novo objeto é criado no diretório e o administrador não sabe em que parte da estrutura da UO colocar o objeto, ele criará uma nova UO ou colocará o objeto em outro lugar ao qual ele não pertence. Existem perigos nesses dois cenários. Criar uma nova UO é fácil, mas difícil de controlar ao longo do tempo. A criação desenfreada de UO contribui para uma estrutura de UO caótica e é fácil deixar as coisas serem inseridas no diretório não-documentado. Por outro lado, se você adicionar um objeto a uma UO existente à qual ele realmente não pertence, o novo objeto pode receber diretivas que não deveria ou permissões para o objeto podem ser delegadas a usuários indesejados.
Ao criar estruturas de UO, você deve manter uma equação básica em mente: simplicidade + adaptabilidade = sustentabilidade. Se seu projeto for muito simples, ele pode não ser adaptável e, portanto, terá que ser alterado com muita freqüência. Se seu projeto for muito adaptável, tudo será compartimentalizado e isso acarreta muita complexidade.
Existem três princípios fundamentais com relação à Diretiva de Grupo, delegação e administração de objetos que podem ajudar a orientar a decisão do seu projeto. Esses princípios podem ser resumidos com três perguntas que você deve se fazer e ajudarão a garantir que a estrutura de UO criada por você agüentará os testes de tempo e alteração organizacional:
  1. Essa UO precisa ser criada de forma que um GPO (Objeto de Diretiva de Grupo) único possa ser aplicado a ela?
  2. Um grupo particular de administradores precisa ter permissões aos objetos nessa UO?
  3. Essa nova UO facilitará a administração dos objetos encontrados nela?
Se a resposta a alguma dessas perguntas for "sim", você deverá provavelmente criar a UO. Se a resposta a todas as perguntas for "não", você deve pensar novamente no layout e determinar se um projeto diferente pode criar um ajuste melhor. Mas antes de me aprofundar mais nesse assunto e mostrar a você como aplicar esses princípios, devo primeiro explicar por que eles são importantes.

Princípio 1: Diretiva de Grupo
O primeiro princípio do projeto de UO é levar em conta os objetos de diretiva de grupo que serão aplicados a uma UO. Um GPO permite que você defina configurações para usuários e computadores de maneira aplicável. Você pode definir vários GPOs no Active Directory e aplicá-los a um domínio inteiro, várias UOs ou até mesmo os locais do domínio. Os GPOs são divididos em duas categorias — uma para usuários e uma para computadores.
As diretivas do computador e do usuário podem ser definidas no mesmo GPO. A seção de Configuração do Usuário do GPO define principalmente a experiência que o usuário terá quando conectado. Esses tipos de configurações existem também na seção de Configuração do Computador, mas essa seção também contém mais configurações relacionadas à segurança do computador, como quem pode fazer logon no computador localmente ou como os dados são criptografados.
Veja alguns conceitos básicos para se ter em mente ao definir UOs para suportar GPOs. Primeiro, apenas porque as diretivas do usuário e do computador podem ser definidas no mesmo GPO, não significa que é uma boa idéia colocar os objetos do usuário e do computador na mesma UO. Combinando-os no mesmo GPO torna os problemas do aplicativo GPO mais difíceis de serem solucionados. Isso se torna muito evidente quando você possui uma diretiva de loopback habilitada.
Segundo, várias pessoas esquecem que você pode aplicar GPOs no nível do local e, portanto, projetam suas estruturas de UO para modelar a estrutura do seu local para os objetivos do aplicativo GPO. Isso é um modelo comum de projeto de UO, conhecido como Modelo Geográfico. Falarei mais sobre esse modelo em breve. Eu seria negligente se não reconhecesse que o Modelo Geográfico tem seu lugar na criação da UO, mas como você verá posteriormente, não acredito que o aplicativo GPO deva ser a razão principal para implementar esse modelo.
Além disso, quando você pensa na sua estrutura de UO em termos de GPOs, o objetivo deve ser eliminar a complexidade. Certifique-se de que a UO é adicionada ao fluxo da herança de GPO. Se sua UO contiver servidores que exigem a mesma diretiva de outros servidores, considere colocar esses objetos do computador sob uma UO de servidores mais ampla e criar várias UOs para diferentes tipos de servidores abaixo da UO de servidores (consulte a Figura 1). Isso pode simplificar a aplicação da diretiva, uma vez que cada objeto de computador nas UOs inferiores irá obter a diretiva da UO dos servidores, bem como qualquer outra diretiva específica àquele tipo próprio de servidor.
Figure 1 Creating multiple OUs for different server types
Figure 1 Creating multiple OUs for different server types
Outro conceito básico é garantir que você não crie desnecessariamente ou vincule vários GPOs. Com um GPO, é possível criar uma diretiva e aplicá-la a várias UOs. Isso às vezes é útil, ms também pode ser prejudicial. Se você precisar alterar uma configuração de GPO e possuir um sistema exageradamente complexo de GPOs vinculados, você poderia acidentalmente aplicar uma alteração nos objetos errados. Quanto mais vínculos criar, mais difícil será compreender o escopo de uma diretiva. Do mesmo modo, você deve evitar criar diretivas adicionais com as mesmas configurações de outras diretivas. Se julgar que faz isso com freqüência, pense em modificar sua estrutura de UO para aplicar um novo modelo de herança de GPO.
E, finalmente, você deve quase sempre criar uma nova UO para objetos do usuário e do computador. Por padrão, objetos do usuário e do computador são colocados em contêineres, que não permitem a você vincular GPOs diretamente a eles. Os GPOs podem ser aplicados aos contêineres de Usuários e Computadores a partir do domínio, mas, a menos que você bloqueie a herança em outro lugar, essas diretivas serão aplicadas a todos os usuários e computadores do domínio. No Windows Server® 2003, você pode usar as ferramentas rediruser.exe e redircomp.exe para alterar o local padrão para objetos do usuário e do computador para a UO que você criou para eles.

Princípio 2: Delegação
É importante que você crie a estrutura da UO de uma maneira que seja consistente com o modo como as permissões são delegadas no domínio. Tenha em mente que quando as permissões são delegadas no Active Directory, as alterações de permissão são feitas apenas para o objeto. Então, se você precisasse conceder a um usuário Controle Total para um determinado objeto do computador, essa pessoa poderia modificar os atributos do objeto, mas não teria privilégios de administrador no computador em si.
Veja algumas práticas recomendadas com relação à delegação para quando você criar uma estrutura de UO:
Crie com a herança de permissão em mente Por exemplo, digamos que você queira que os administradores da camada 1 possam alterar a senha para a maioria das contas. Há um grupo especial de usuários para os quais os administradores não devem ter a capacidade de redefinir senhas, mas os administradores precisam poder alterar os nomes de exibição nessas contas.
Há duas opções reais aqui. Primeiro, você poderia criar duas UOs paralelas separadas e separar os usuários especiais dos usuários regulares. Isso, no entanto, significa que se você desejar alterar as opções de delegação para todos os usuários, precisará alterar essas permissões em dois locais diferentes. Isso também contradiz a prática de não desnecessariamente fazer a vinculação múltipla de diretivas (consulte a Figura 2).
Figure 2 Maintaining two separate parallel OUs
Figure 2 Maintaining two separate parallel OUs
A outra opção é criar uma UO aninhada e colocar uma permissão de negação explícita na UO com usuários especiais nela. Qualquer especialista em delegação dirá a você que uma negação explícita não é preferível — mas, nesse caso, você precisa selecionar o menos pior dos dois males (consulte a Figura 3). Você pode duplicar e manter as configurações em duas UOs separadas ou pode colocar uma negação explícita em uma das UOs. A negação explícita é realmente a melhor decisão a longo prazo.
Figure 3 Using an explicit deny permission
Figure 3 Using an explicit deny permission
Cuidado com o AdminSDHolder Esse exemplo funciona bem, a menos que os usuários especiais pertençam todos a um dos grupos de Administradores (Admins. do Domínio, Administradores do Esquema, Administradores de Empresa ou Administradores), uma vez que as permissões para contas nesses grupos são tratadas de modo diferente. A idéia é que você não deseja fornecer acidentalmente a alguém permissões para uma conta de administradores.
Se você criar uma UO separada para os administradores, descobrirá que as permissões que você delega a eles continuam desaparecendo. Isso ocorre devido ao AdminSDHolder, que é um contêiner especial que aplica sua Lista de Controle de Acesso a todas as contas de administradores a um intervalo específico. Como resultado, qualquer alteração de delegação feita a uma conta de administrador será revertida se as alterações não forem feitas também ao contêiner AdminSDHolder. Então, você não deve separar contas de administradores de outras contas para o objetivo da delegação. É preferível, no entanto, separar as contas de administradores para fins da Diretiva de Grupo — isso é válido especialmente no Windows Server 2008, onde você pode ter várias diretivas de senha.

Princípio 3: Administração de Objetos
A UO deve facilitar a administração dos objetos. Agrupar objetos na mesma UO pode muitas vezes facilitar a execução de alterações em massa. O snap-in Usuários e Computadores do Active Directory permite que você edite certos atributos em uma seleção de vários objetos. Então, se você precisa alterar regularmente um atributo em um grupo de objetos, é mais fácil fazê-lo se eles estiverem todos na mesma UO.
Isso também é particularmente útil se você estiver fazendo atualizações com um script. Os idiomas de script facilitam bastante a enumeração de todos os objetos em uma UO e o tratamento deles um por um. A outra opção é pesquisar e modificar cada objeto individualmente. Simplesmente colocar os objetos na mesma UO para administração pode às vezes economizar horas de trabalho desnecessário a cada semana.
Outra maneira de ajudar com a administração de objetos é separar os objetos em diferentes UOs com base no seu tipo. Criar uma UO separada para objetos da impressora ou compartilhamentos publicados garante que esses objetos não precisem ser eliminados quando você executar a administração em outros objetos da UO. Essa prática também se alinha com a prática de não agrupar contas de usuário e do computador juntas na mesma UO.

Escolhendo um modelo
Agora que tratei dos princípios da criação da UO, posso examinar mais de perto alguns modelos comuns de projeto. Observe que existem muito mais modelos do que o espaço que possuo aqui para falar deles. E você não está limitado a trabalhar dentro das restrições de um único modelo. Você pode escolher partes de cada um e criar o seu próprio modelo híbrido que atenda às suas necessidades específicas.
Praticamente qualquer modelo pode ser bem-sucedido em uma pequena escala, mas quando sua empresa cresce, sua capacidade de manter o controle do ambiente diminui. Então, certifique-se de primeiro testar a fundo seu modelo em um ambiente de laboratório adequado. E lembre-se de que, embora as estruturas de UO possam ser alteradas facilmente de início, quanto mais tempo elas estiverem em vigor, poderá ser mais difícil alterá-las.

O modelo raso
O modelo raso obtém seu nome a partir do fato de que ele é mantido na maior parte do tempo simples. Nesse modelo, algumas UOs de alto nível contêm a maioria dos objetos (consulte a Figura 4). Esse modelo é mais realizado em empresas menores, onde há uma pequena compra de TI, não há muitas divisões diferentes ou as pessoas tendem a desempenhar várias funções. Eu tipicamente recomendo não se aprofundar mais do que 10 sub-UOs, embora a Microsoft sugira um limite de 15 sub-UOs antes que as penalidades de desempenho sejam percebidas.
Figure 4 The Shallow Model has a few high-level OUs that contain the majority of objects
Figure 4 The Shallow Model has a few high-level OUs that contain the majority of objects
Se sua pessoa de Recursos Humanos é também sua pessoa de folha de pagamento, não faz sentido criar duas UOs separadas para Recursos Humanos e Folha de Pagamento. No modelo raso, todos os objetos do usuário podem ser agrupados em uma grande UO de Contas ou podem ser mantidos no contêiner Usuários padrão. Na pior das hipóteses, seus objetos do usuário devem ser separados a partir dos objetos do computador.
Para esse modelo, também recomendo que você dê um passo além e separe suas estações de trabalho dos servidores. Em seguida, você pode pelo menos aplicar diferentes Diretivas de Grupo sem ter que definir um GPO que usa uma Consulta do WMI (Windows® Management Instrumentation) para filtrar estações de trabalho ou servidores.
Uma vantagem de manter sua estrutura da UO ampla, e não profunda, é que as pesquisas do Active Directory serão executadas mais rapidamente. Tipicamente recomendo não se aprofundar mais que 10 sub-UOs. Seu controle sobre os objetos não é muito refinado nesse modelo, mas se estiver gerenciando objetos em uma pequena empresa, você não precisará desse controle refinado. Portanto, esse modelo seria difícil de usar com sucesso em uma grande empresa, mas ele funciona muito bem em organizações menores.

O modelo geográfico
No modelo geográfico, você cria UOs separadas para diferentes regiões geográficas. Esse modelo é melhor adequado para organizações que descentralizaram departamentos de TI, mas não desejam incorrer nos custos associados à operação de vários domínios (consulte a Figura 5).
Figure 5 The Geographic Model separates OUs by geographical region
Figure 5 The Geographic Model separates OUs by geographical region
Digamos que você tenha escritórios em Atlanta, Baltimore e Seattle. Se cada local gerencia seus próprios usuários e computadores, isso pode ser uma opção adequada em termos de delegação. Mas o que acontece se um usuário de Seattle voa para Baltimore para um treinamento e bloqueia sua conta? A equipe de TI de Baltimore pode não conseguir ajudar esse usuário se não foram delegadas a ela permissões para a conta desse usuário. Se são 8 da manhã em Baltimore, são 17 horas em Seattle, o que significa que o usuário pode ter que esperar horas até conseguir falar com alguém no escritório de Seattle para obter ajuda.
Algumas empresas globais usam um modelo "follow the sun" (24 horas contínuas, contando com as equipes fisicamente distantes), onde as chamadas de suporte técnico são encaminhadas para um local em um fuso horário onde é no momento horário comercial padrão. Isso significa que a empresa não precisa operar um suporte técnico 24 horas em cada local, mas pode ainda fornecer aos funcionários noturnos ajuda, como desbloquear suas contas, quando necessário.
Se esse é o seu modelo, criar UOs separadas com base no local geográfico provavelmente não é a melhor opção para suas necessidades operacionais. Você teria que delegar permissões separadas a cada suporte técnico regional para cada UO de usuários. No entanto, se seus locais não possuem seus próprios departamentos de TI, o modelo geográfico poderá, na verdade, ser um bom modelo para a sua organização.
O modelo geográfico também é difícil de ser executado em um único domínio devido à natureza de como um domínio é operado. Um domínio tende a ter um modelo de segurança diferente de outros domínios. Isso é mais evidente quando você examina um aplicativo empresarial, como o Microsoft® Exchange.
O Exchange Server em Atlanta pode ter diretivas de mensagens diferentes definidas, mas todos os Exchange Servers da empresa provavelmente possuem os mesmos GPOs aplicados. Se for esse o caso, colocar os Exchange Servers em UOs separadas com base na região faria com que você vinculasse desnecessariamente o mesmo GPO a várias UOs. Em termos de delegação, você precisa perguntar se os administradores do Exchange realmente precisam de permissões únicas para os objetos do computador para os Exchange Servers. Na maioria dos casos, os objetos do computador que são divididos em UOs geográficas são divididos para fins da Diretiva de Grupo, e não da delegação.

O modelo baseado em tipo
O modelo baseado em tipo classifica os objetos por suas finalidades (consulte a Figura 6). Quando você criou seu último objeto de usuário, foi para uma conta de usuário regular, uma conta administrativa ou uma conta de serviço? Em um modelo baseado em tipo, cada um desses objetos é tratado diferentemente.
Figure 6 The Type-Based Model groups objects according to their functions
Figure 6 The Type-Based Model groups objects according to their functions
Na maioria dos casos, você deve distinguir entre diferentes classificações de objetos de usuário para diretivas. Suas diretivas provavelmente serão diferentes com base no tipo de conta de usuário. Por exemplo, permitir que as pessoas façam logon em um computador com uma conta de serviço é geralmente uma prática de negócios ruim. As senhas da conta de serviço são normalmente compartilhadas entre várias pessoas, então se alguém faz logon com uma conta de serviço, sua identidade permanece anônima. Se algo fosse acontecer, você teria problemas para rastrear o usuário que estava conectado quando o evento ocorreu. Nesse exemplo, você precisaria definir uma diretiva sobre contas de serviço que impede o logon interativo. Isso se ajusta bem ao modelo hierárquico mostrado na Figura 3.
Você poderia usar a herança de GPO como vantagem aqui. Por exemplo, você poderia ter uma diretiva de todos os usuários referente a diretivas em vigor para todos os objetos de usuário. Além disso, você poderia ter uma diretiva separada e distinta para contas de serviço, baseada na diretiva de todos os usuários. Essa abordagem garante que suas contas de serviço tenham o mesmo conjunto base de diretivas como todas as outras contas, bem como as restrições de logon específicas.
Essa abordagem também funciona bem para a delegação, onde você está usando a herança de permissão em vez da herança de GPO. Suponha que você queira que os administradores da camada 2 possam redefinir senhas para todas as contas, exceto para as contas do administrador da camada 3. Com uma estrutura de UO simples, você teria que delegar permissões a cada UO que mantém contas de usuários. No entanto, em um modelo baseado em tipo com uma estrutura hierárquica, você pode conceder ao grupo da camada 2 permissões para "redefinir senha" na UO de Contas e, em seguida, na UO da camada 3, você poderia simplesmente não herdar as permissões ou até mesmo definir uma negação explícita para a camada 2 redefinir senhas.
Isso também funciona bem para objetos do computador. Servidores e estações de trabalho podem ser separados, permitindo que diferentes diretivas sejam aplicadas a eles. Os servidores podem então ser mais subdivididos em funções (consulte a Figura 1). Nesse projeto, você pode definir uma diretiva de alto nível na UO de Servidores que afeta todos os servidores e ainda definir diretivas individuais em cada UO de nível inferior.
Por exemplo, digamos que você tenha uma conta de serviço do MOM (Microsoft Operations Manager). Com esse modelo em camadas, é possível criar um GPO do MOM e aplicá-lo a UO de Servidores MOM. E dentro desse GPO, você pode conceder ao serviço MOM direitos de conta para fazer logon como um serviço. Isso apenas se aplicaria aos servidores MOM nessa UO. Os servidores MOM ainda obterão o GPO de servidores da UO de servidores de nível mais alto, mas também irão obter o GPO do MOM especializado, vinculado à UO do MOM.

Documente a criação
Pode ser muito compensador criar uma estrutura de UO que resistirá às várias alterações que um ambiente do Active Directory poderá encontrar. Mas você precisa de alguma maneira de rastrear as características dinâmicas das UOs. Se não tiver isso, poderá rapidamente perder o controle do seu ambiente. Quando as coisas precisam de uma alteração e uma UO precisa ser adicionada ou excluída, deve haver uma orientação clara sobre o que fazer para garantir que seu modelo continue seguindo o projeto, respeitando os três princípios de orientação. É por isso que você precisa possuir um projeto bem-documentado.
A Microsoft fornece guias de documentação no kit de recursos do Windows Server. Esses guias são bons se a sua estrutura é sólida e você não espera alterá-la muito. Mas a maioria das organizações possui uma estrutura muito dinâmica alterada com freqüência. Veja algumas dicas importantes para garantir que sua estrutura de UO seja bem documentada e possa suportar um ambiente dinâmico.
Verifique se todas as informações são relevantes Eu altamente acredito na documentação com objetivo. Muitos documentos operacionais possuem tantas informações irrelevantes que é difícil encontrar o que importa. Não se envolva no processo da documentação apenas visando a documentação. Você realmente precisa incluir o número de objetos em cada UO ou cada ACE (Entrada de Controle de Acesso) na Lista de Controle de Acesso para a UO? Para documentação da UO, as seguintes informações normalmente serão suficientes:
  • Nome da UO
  • Breve descrição
  • Quem a criou — ou com quem entrar em contato para mais informações ou alterações
  • Quando ela foi criada
Não dificulte as atualizações Se você precisa atualizar de modo tedioso algum documento do Microsoft Word complexo, provavelmente você irá adiar a colocação de atualizações. Não há problemas se você adiar a inserção de pequenas alterações quando sabe que em breve terá uma quantidade maior de atualizações para inserir de uma vez. Infelizmente, as pessoas muitas vezes esquecem dessas pequenas alterações ou simplesmente continuam adiando sua inserção e o trabalho nunca é feito. Portanto, atualizar o documento deve ser muito fácil de forma a não desestimulá-lo. Na maioria dos casos, uma simples planilha do Microsoft Excel® com algumas colunas funcionará bem.
Faça comentários no objeto em si Os objetos de UO têm um atributo de descrição onde você pode inserir comentários. Em vez de escrever os comentários no documento do projeto, pense em colocá-los no atributo de descrição para que outras pessoas possam dizer imediatamente para que serve a UO. Se precisar incluir mais detalhes, coloque uma breve descrição no atributo de descrição e inclua mais detalhes no documento de UO.
Automatize a documentação Um script pode ser escrito para despejar o conteúdo da estrutura da UO para um arquivo de texto, uma planilha do Excel ou até mesmo um arquivo HTML. Esse script pode ser executado em uma tarefa programada todas as noites. Isso pode ser muito útil se você incorpora comentários no campo de descrição da UO. Depois, é só uma questão de despejar o atributo de descrição para o arquivo e você automaticamente tem uma estrutura de UO totalmente documentada sempre atual. Se você cria um novo arquivo todas as vezes que o script é executado, em oposição a substituir o documento existente, você pode manter um registro histórico de como a estrutura de UO mudou com o tempo.
Infelizmente, a maioria dos administradores não percebe a importância de uma boa documentação da estrutura de UO até que realmente precisam disso. E, até lá, às 3 horas da manhã, é praticamente impossível descobrir que outras UOs foram acidentalmente excluídas sem executar uma restauração.
Não aguarde até que isso ocorra com você. Eu recomendo enfaticamente que você se torne proativo nessa área e inicie imediatamente um documento da UO e designe uma pessoa para ser responsável para atualizá-lo. E se você seguir a regra de tornar a documentação fácil de atualizar, essa será uma tarefa muito pequena para manter em atividade.

Ken St. Cyr é um consultor da Microsoft com 10 anos de experiência na indústria de TI. Ele projeta e implementa soluções para diretórios com base no Active Directory desde sua criação.


 Administra&#231;&#227;o do Windows: Extens&#227;o do esquema do Active Directory
Administração do Windows Vikas Malhotra

Extensão do esquema do Active Directory
À primeira vista:
  • Noções básicas sobre o esquema padrão do Active Directory
  • Adição de objetos classSchema ou attributeSchema
  • Obtenção e uso de identificadores de objetos
  • Extensão do esquema usando arquivos .ldif
Faça o download do código deste artigo:: Schema2008_05.exe (151KB)

Desde a introdução do Active Directory, com o lançamento do Windows 2000, a Microsoft tem fornecido aos clientes a definição básica do esquema para implementar o Active Directory.
A presença do Active Directory® representou também uma mudança na forma como muitos aplicativos eram escritos e implementados no Windows®. Antes, aplicativos como o Microsoft® Exchange 5.5 eram criados de forma a conter uma estrutura própria de diretórios. Com a disponibilidade do Active Directory, muitos aplicativos (da Microsoft e de outras empresas) começaram a aproveitar a estrutura subjacente fornecida por ele, em vez de criar um esquema próprio a partir do zero.
Esses aplicativos partiram da arquitetura básica fornecida pelo Active Directory, estendendo-a conforme a necessidade. O Microsoft Exchange 2000, por exemplo, utilizou o Active Directory para implementações de mensagens, definindo assim o futuro da arquitetura de mensagens da Microsoft.
Atualmente, muitos aplicativos escritos para funcionar em um ambiente do Active Directory contam com seu esquema subjacente para funcionar. Há também muitos que definem suas próprias alterações no esquema, conforme a necessidade. Logicamente, isso requer um esquema passível de extensão, o que será abordado neste artigo. Além disso, como muitos aplicativos dependem das definições básicas do Active Directory, a estabilidade constante do esquema central é fundamental. Muitos aplicativos precisam operar juntos no mesmo Active Directory, então as alterações feitas para qualquer um deles não devem exercer impacto sobre os demais.

O que é um esquema?
Para muitos profissionais, o esquema do Active Directory é uma "caixa preta", e a idéia de modificá-lo por conta própria pode ser intimidadora. É claro que estender seu esquema do Active Directory não é algo que você precisará fazer todos os dias, mas pode ser um requisito para certos aplicativos ou necessidades de negócios. Portanto, é muito importante entender o que é um esquema e o que ele contém. Afinal, o Active Directory é um ativo vital para muitas organizações, e o seu mau funcionamento devido a uma atualização incorreta pode ter um impacto considerável.
Muitas organizações avaliam, como estratégia, o uso do ADLDS (Active Directory Lightweight Directory Service) no Windows Server® 2008, ou do ADAM (Active Directory Application Mode) no Windows Server 2003, como alternativa ao teste e à implementação direta de definições personalizadas de esquema, em vez da extensão do esquema do Active Directory.
Um esquema é a estrutura subjacente que fornece o formato de um serviço de diretório. O esquema do Active Directory define as classes de objetos e os atributos usados pelos ADDS (Serviços de Domínio Active Directory). O esquema central contém definições para muitas classes (como user, computer e organizationalUnit) e atributos (como telephoneNumber e objectSID) conhecidos. Os objetos presentes na definição do esquema central são conhecidos como objetos de Categoria 1; já os adicionados são chamados de objetos de Categoria 2.
É possível encontrar um esquema do Active Directory no contêiner definido no caminho cn=Schema, cn=Configuration,dc=X, onde X é o namespace da floresta do Active Directory. Observe que uma floresta do Active Directory contém um único esquema; fazer alterações na definição do esquema em uma floresta afeta todos os domínios nessa floresta. A Figura 1 mostra o número de classes e atributos adicionados ao esquema do Active Directory em diferentes versões do Windows Server.
Figure 1 Número de classes e atributos (Close Figure 1)

Versão | Número de atributos adicionados | Número de classes adicionadas | Arquivos de extensão de esquema
Windows Server 2003 | 208 | 49 | Sch14.ldf a sch30.ldf
Windows Server 2003 R2 | 81 | 29 | Sch31.ldf
Windows Server 2008 | 136 | 10 | Sch32.ldf a sch44.ldf
A atualização do esquema em diferentes versões do Windows Server é feita com o uso de um utilitário chamado Adprep. Com as atualizações do Windows Server 2003 R2, a versão do esquema é atualizada para 31. Com o Windows Server 2008, ela é alterada para 44.
Isso pode ser confirmado verificando o valor do atributo objectVersion de cn=Schema,cn=Configuration,dc=X no seu Active Directory, usando uma ferramenta como o ADSIEdit. Observe que alguns aplicativos, como o Exchange Server, o SMS (System Management Server) e outros que dependem do Active Directory, podem modificar o esquema de acordo com suas necessidades.

Elementos básicos
O Active Directory consiste em dois tipos de objetos: classSchema (classe, em resumo) e attributeSchema (atributo, em resumo). Em geral, avalia-se a possibilidade de estender o esquema do Active Directory quando uma organização deseja armazenar dados em certos atributos indisponíveis no esquema existente. Você pode criar um atributo em um esquema do Active Directory especificando, primeiro, um objeto attributeSchema no contêiner do esquema e, depois, definindo as propriedades necessárias para o novo objeto.
Você encontra uma lista de propriedades para objetos attributeSchema, juntamente com informações sobre elas, em go.microsoft.com/fwlink/?LinkId=110445. Como você pode ver, há muitas propriedades que podem ser definidas para objetos attributeSchema; algumas delas são obrigatórias.
Além dos atributos normais, um esquema contém atributos especiais chamados Vinculados, que são implementados aos pares, com o fornecimento de um vínculo progressivo e de um vínculo regressivo. Como exemplo, pense na associação a um grupo no Active Directory. O atributo member de qualquer grupo (por exemplo, um grupo chamado ContosoEmployees, com um membro chamado José Silva) é o vínculo progressivo, e o atributo correspondente memberOf do objeto member é o vínculo regressivo. Quando, por exemplo, o atributo memberOf de José Silva for consultado, o DN (nome diferenciado) do grupo ContosoEmployees será calculado.
O vínculo progressivo se comporta de forma bastante semelhante a qualquer outro atributo. Pode ter um só ou vários valores (assim como o atributo member, que pode conter vários objetos como membros de um grupo). Esses valores são armazenados juntamente com o objeto pai no diretório.
Os vínculos regressivos, por outro lado, são mantidos pelo sistema para garantir a integridade referencial. Quando você consulta o valor de um atributo de vínculo regressivo, os resultados são calculados a partir dos valores de todos os vínculos progressivos correspondentes. Os vínculos regressivos sempre têm vários valores.
Cada classe de objeto nos ADDS é definida por um objeto classSchema no contêiner do esquema. Você encontra uma lista de atributos essenciais para a definição bem-sucedida do objeto classSchema em go.microsoft.com/fwlink/?LinkId=110445.
É possível especificar três tipos de classes: estrutural, abstrata e auxiliar. Esses tipos são definidos pelo valor do atributo objectClassCategory (uma quarta categoria, conhecida como 88, inclui classes definidas antes dos padrões X.500 1993. Esse tipo de classe é especificado pelo valor 0 no atributo objectClassCategory. Não se deve mais definir esse tipo de classe).

Obtenção e uso de identificadores
As identidades de cada objeto classSchema e attributeSchema no diretório são definidas com o uso de um OID (identificador de objeto) obrigatório, definido em relação a governsID para objetos classSchema e em relação a attributeID para objetos attributeSchema. Os OIDs são valores numéricos exclusivos fornecidos por certas autoridades emissoras para identificar os objetos. A numeração é regida pela definição do protocolo LDAP (RFC 2251). Alguns OIDs no esquema do Active Directory são emitidos pela ISO (International Organization for Standardization) e alguns, pela Microsoft. Um OID deve ser exclusivo de um objeto no diretório.
O OID é uma cadeia de números, por exemplo, 1.2.840.113556.1.y.z, conforme descrito na Figura 2. Assim, o OID de um objeto classSchema de usuário, por exemplo, é 1.2.840.113556.1.5.9.
Figure 2 Identificador para o objeto user (Close Figure 2)

Valor | Significado | Descrição
1 | ISO | Identifica a autoridade raiz.
2 | ANSI | Designação de grupo atribuída pela ISO.
840 | EUA | Código de país/região atribuído pela organização.
113556 | Microsoft | Designação de organização atribuída pelo país/região.
1 | Active Directory | Atribuído pela organização (pela Microsoft, nesse caso).
Y | Tipo de objeto | Número que define o tipo diferenciado de objeto (categoria), como classSchema ou attributeSchema. Por exemplo, 5 define a classe object.
Z | Objeto | Número que identifica um objeto específico na categoria. Por exemplo, a classe user tem o número 9 atribuído a ela.
Quando uma organização pretende estender o esquema, ela garante que o OID seja exclusivo obtendo seu próprio número raiz de OID, que é então ramificado para fornecer IDs exclusivos para as novas classes e os novos atributos de objetos criados pela organização. A raiz de OID pode ser obtida diretamente com uma NRA (autoridade nacional de registro) ISO, que nos Estados Unidos é o ANSI (American National Standards Institute).
Você pode acessar o procedimento e a tabela de taxas para obter um OID raiz em ansi.org. Para outras regiões, entre em contato com a organização membro da ISO correspondente. A ISO oferece uma lista em iso.org/iso/about/iso_members.htm.
As organizações costumavam obter OIDs da Microsoft enviando um email para schemreg@microsoft.com. Contudo, isso agora resulta em uma resposta automática com a informação de que o solicitante deve baixar e executar o VBScript em go.microsoft.com/fwlink/?LinkId=110453.
No caso dos OIDs emitidos pela Microsoft, o número é atribuído segundo o espaçamento numérico de OIDs da Microsoft: 1.2.840.113556.1.8000.x, onde x é um número exclusivo atribuído à organização. A organização pode dividir ainda mais esses OIDs para especificar os objetos. Assim, uma organização pode usar 1.2.840.113556.1.8000.x.1.y para novos objetos classSchema e 1.2.840.113556.1.8000.x.2.z para objetos attributeSchema (onde x representa o número exclusivo da organização; y e z são, respectivamente, os números atribuídos para objetos classSchema e attributeSchema específicos). Também é recomendável que um prefixo específico da organização seja usado nos nomes desses objetos para distingui-los.

Definição de atributos vinculados
É importante que o valor attributeSyntax de um vínculo progressivo seja 2.5.5.1, 2.5.5.7 ou 2.5.5.14. Esses valores correspondem a sintaxes que contêm um nome diferenciado, como a sintaxe Object (DS-DN).
O valor attributeSyntax de um vínculo regressivo deve ser 2.5.5.1, que é a sintaxe Object (DS-DN). Por convenção, atributos de vínculos progressivos são adicionados ao valor mayContain da classe abstrata top. Isso permite que o atributo de vínculo regressivo seja lido em objetos de qualquer classe, pois os atributos de vínculos regressivos não são realmente armazenados no objeto; na verdade, são calculados com base nos valores do vínculo progressivo.
O Windows Server 2003 introduziu um recurso que as organizações poderiam utilizar para vincular dois objetos em um esquema: a geração automática de linkIDs. Com esse recurso, o sistema gera automaticamente um linkID para um novo atributo vinculado quando o atributo linkID do atributo é definido como 1.2.840.113556.1.2.50. Um vínculo regressivo correspondente é criado pela definição do linkID para o attributeId ou o ldapDisplayName do vínculo progressivo. O cache do esquema deve ser recarregado após a criação do vínculo progressivo e antes da criação do vínculo regressivo. Caso contrário, o attributeId ou o ldapDisplayName do vínculo progressivo não será encontrado quando o vínculo regressivo for criado. O cache do esquema é recarregado por demanda, alguns minutos depois que a alteração do esquema for feita ou quando o controlador do domínio for reinicializado.
Se o seu Active Directory está no nível do Windows 2000, você precisará solicitar linkIDs da Microsoft enviando um email para schemreg@microsoft.com. Na resposta automática, você verá esta linha: "E-mails sent to schemreg@microsoft.com will be processed only if they are related to linkID registrations for legacy environments." (Os emails enviados para schemreg@microsoft.com somente serão processados se estiverem relacionados aos registros de linkID para ambientes legados.) Para isso, forneça no email as seguintes informações: nome da empresa, nome de contato, endereço de email, número de telefone, prefixo registrado (se for aplicável), OID registrado (se for aplicável).

Pronto para estender o esquema
Digamos que você decidiu estender seu esquema do Active Directory. Talvez essa análise tenha envolvido a eliminação do uso de um diretório alternativo implementado usando o ADLDS (ou o ADAM no Windows Server 2003), depois de verificar que isso não atenderia aos requisitos. Na etapa seguinte, você identificou os novos objetos attributeSchema que deseja adicionar ao esquema e, ao fazer isso, definiu todos os valores necessários (como cn, ldapDisplayName, e assim por diante) que especificam esses novos objetos. Ao definir os valores de atributos para o objeto, você obteve também o OID da Microsoft ou de outra fonte. Essencialmente, você documentou os itens acima como requisitos de negócios e especificações técnicas. Além disso, implementou um ambiente de laboratório imitando seu Active Directory e está pronto para a realização de testes.
Muitas organizações chegam a estabelecer comitês para aprovar ou negar essas alterações e para definir o processo de implementação delas. Essas verificações e avaliações são fundamentais, uma vez que o Active Directory é usado como uma fonte de informações autorizadas em muitas organizações. Por isso, nunca é demais reforçar a importância de mantê-lo em funcionamento após a realização das alterações.
Quando a organização decidir seguir adiante, você deverá definir planos de teste e implementação para o projeto. Você pode estender o esquema adicionando os novos objetos com o snap-in do esquema do Active Directory, que faz parte do MMC (Console de Gerenciamento Microsoft), ou então usando métodos programáticos ou semiprogramáticos para estender o esquema, como LDIFDE para importar arquivos no formato .ldif; CSVDE para importar arquivos no formato .csv; ou com scripts das ADSI (Active Directory Service Interfaces).
Seja qual for o método utilizado, essa função deve ser executada em um servidor conectado ou detentor da função de FSMO (Flexible Single Master Operations) do mestre de esquema na floresta do Active Directory. Além disso, a conta usada na atualização do esquema precisa ter privilégios de administração suficientes para executar a atualização. Portanto, torne-a membro do grupo de administradores de esquema. Por fim, você deve habilitar as atualizações do esquema para a floresta (são desabilitadas por padrão).
A menos que a alteração seja muito simples, deve ser feita de modo automatizado, a fim de promover a padronização entre as fases de implementação de teste e de produção e reduzir os tipos de erros que provavelmente resultariam da execução manual dessas etapas. Suponhamos que você decida implementar sua alteração usando LDIFDE. Para aplicar atualizações ao estender o esquema, você deve adicionar os novos atributos e classes, adicionar os novos atributos às classes e então disparar uma recarga do cache. Vamos analisar alguns cenários.

Adição de atributos
Suponha, para fins de argumentação, que uma organização chamada Contoso quer adicionar um atributo a seu Active Directory para identificar o tamanho do calçado de cada funcionário. A floresta do Active Directory tem dois domínios: contoso.com e employees.contoso.com. O requisito é que todos os objetos criados usando a definição da classe user contenham também esse novo atributo.
É importante lembrar-se de que a alteração do esquema afetará os dois domínios, pois estão na mesma floresta. Vamos supor que você tenha recebido o OID de 1.2.840.113556.8000.9999 da Microsoft e que tenha feito uma subdivisão em 1.2.840.113556.8000.9999.1 para objetos classSchema e 1.2.840.113556.8000.9999.2 para objetos attributeSchema da Contoso. Agora, você definirá todos os valores de atributos para esse novo objeto, conforme mostrado na Figura 3.
Figure 3 Definindo o atributo contosoEmpShoe (Close Figure 3)

Atributo | Valor | Observações
Cn | contosoEmpShoe |
lDAPDisplayName | contosoEmpShoe |
adminDisplayName | contosoEmpShoe |
attributeSyntax | 2.5.5.12 | Especifica uma cadeia de caracteres Unicode.
oMSyntax | 64 | Indica uma cadeia de caracteres Unicode.
objectClass | top, attributeSchema |
attributeID | 1.2.840.113556.8000.9999.2.1 | Conforme definido pela organização.
isSingleValued | TRUE | Somente um valor de tamanho de calçado pode ser armazenado.
searchFlags | 1 | Sua análise mostra que você quer indexar este atributo. Observação: você realizará a análise do teste de estresse no ambiente do laboratório.
isMemberOfPartialAttributeSet | TRUE | Você quer que este atributo esteja disponível no catálogo global.
Além disso, embora o atributo contosoEmpShoe precise estar disponível para todos os objetos criados como objetos da classe user, não é recomendável que você modifique a definição padrão da classe user. Em vez disso, você deve definir uma classe auxiliar chamada contosoUser, que tem o valor de mayContain especificado como contosoEmpShoe, conforme mostrado na Figura 4. Então, você deve adicionar os atributos definidos para a classe auxiliar contosoUser à classe user.
Figure 4 Definindo a classe contosoUser (Close Figure 4)

Atributo | Valor
Cn | contosoUser
lDAPDisplayName | contosoUser
adminDisplayName | contosoUser
governsID | 1.2.840.113556.8000.9999.1.1 (conforme definido pela organização)
mayContain | contosoEmpShoe
possSuperiors | organizationalUnit, container
objectClassCategory | 3 (define uma classe auxiliar)
Agora que você realizou a análise e definiu os valores, é hora de criar o arquivo .ldif, que terá uma aparência semelhante à do código na Figura 5. Você pode copiar o conteúdo da Figura 5 no Bloco de Notas e salvar o arquivo como contosoUser.ldif (também há uma cópia disponível no download de código da technetmagazine.com).
Figure 5 Arquivo .ldif para estender seu esquema (Close Figure 5)
#Attribute definition for contosoEmpShoe

dn: CN=contosoEmpShoe,CN=Schema,CN=Configuration,DC=X
changetype: ntdsschemaadd
objectClass: top
objectClass: attributeSchema
cn: contosoEmpShoe
attributeID: 1.2.840.113556.1.8000.9999.2.1
attributeSyntax: 2.5.5.12
isSingleValued: TRUE
adminDisplayName: contosoEmpShoe
adminDescription: contosoEmpShoe
oMSyntax: 64
searchFlags: 1
lDAPDisplayName: contosoEmpShoe
systemOnly: FALSE

dn:
changetype: modify
add: schemaUpdateNow
schemaUpdateNow: 1
-

# Classes

dn: CN=contosoUser,CN=Schema,CN=Configuration,DC=X
changetype: ntdsschemaadd
objectClass: top
objectClass: classSchema
cn: contosoUser
governsID: 1.2.840.113556.1.8000.9999.1.1
mayContain: contosoEmpShoe
rDNAttID: cn
adminDisplayName: contosoUser
adminDescription: contosoUser
objectClassCategory: 3
lDAPDisplayName: contosoUser
name: contosoUser
systemOnly: FALSE

dn:
changetype: modify
add: schemaUpdateNow
schemaUpdateNow: 1
-

dn: CN=User,CN=Schema,CN=Configuration,DC=X
changetype: ntdsschemamodify
add: auxiliaryClass
auxiliaryClass: contosoUser
-

dn:
changetype: modify
add: schemaUpdateNow
schemaUpdateNow: 1
Depois de gerar o arquivo .ldif, você vai querer testar minuciosamente a implementação em um ambiente de laboratório, verificar a replicação completa do seu domínio e da sua floresta e habilitar a atualização do esquema na floresta. Neste ponto, você deve fazer logon com uma conta que tenha privilégios de administração de esquema. Talvez você queira desabilitar a replicação de saída no mestre de esquema (onde a alteração será executada) e depois executar o seguinte comando para importar o arquivo .ldif:
ldifde –i –f <Path>\contosoUser.ldif –b
<username> <domain> <password> -k –j. –c
"CN=schema,CN=Configuration,DC=X"
#schemaNamingContext
Quando a alteração ocorrer, habilite a replicação de saída no mestre de esquema e verifique se ocorreu a replicação de todos os controladores de domínio.
Respire fundo — você terminou! Você definiu um novo atributo no esquema que será associado aos objetos criados usando a classe user (ou seja, as contas de usuários).
Para verificar a alteração, abra Usuários e Computadores do Active Directory, conecte-se ao domínio employees.contoso.com, navegue até a UO (unidade organizacional) Users e crie uma nova conta de usuário chamada ContosoTestUser. Agora, abra o console adsiedit.msc e conecte-se à partição de domínio dc=employees,dc=contoso,dc=com, expanda a UO Users, clique com o botão direito do mouse em ContosoTestUser e abra a página de propriedades. Procure o atributo contosoEmpShoe. Você pode editar esse atributo para inserir um valor. Pode também usar o utilitário Ldp.exe para verificar e modificar os atributos.
Vejamos agora um exemplo que define e vincula dois atributos, e vamos imaginar um cenário onde a Contoso considere de grande importância o tamanho do calçado dos funcionários e queira que o desempenho anual das pessoas que medem esse tamanho na empresa seja controlado de alguma forma. Embora pareça engraçado, vamos supor ainda que a Contoso, além de manter o controle de quem foi responsável por medir o tamanho do calçado dos funcionários, queira controlar de quem foi o tamanho medido e quantas medições foram feitas — tudo isso com a consulta a um só atributo (talvez você ache que é mais adequado armazenar esses dados em tabelas de banco de dados, mas a idéia aqui é simplesmente explicar o funcionamento dos vínculos progressivos e regressivos).
É claro que, em primeiro lugar, você faria o mesmo tipo de análise mencionado no exemplo anterior. No entanto, aqui é preciso ir mais adiante e gerar os arquivos .ldif linkids1.ldif e linkids2.ldif, conforme mostrado na Figura 6. Então, é preciso executar este comando para importar os arquivos .ldif:
Figure 6 Arquivos .ldif de vínculos progressivos e regressivos (Close Figure 6)

#linkids1.ldif
#Attribute definition for Forward Link Attribute

dn: CN=ContosoShoeSizeTaker,CN=Schema,CN=Configuration,DC=X
changetype: ntdsschemaadd
objectClass: top
objectClass: attributeSchema
cn: ContosoShoeSizeTaker
attributeID: 1.2.840.113556.1.8000.9999.2.2
LinkID: 1.2.840.113556.1.2.50
attributeSyntax: 2.5.5.1
isSingleValued: TRUE
adminDisplayName: ContosoShoeSizeTaker
adminDescription: ContosoShoeSizeTaker
oMSyntax: 64
searchFlags: 1
lDAPDisplayName: ContosoShoeSizeTaker
systemOnly: FALSE

dn:
changetype: modify
add: schemaUpdateNow
schemaUpdateNow: 1
-

#Reload schema

#linkids2.ldif

#Attribute definition for Backward Link Attribute

dn: CN=ContosoShoeSizesTakenByMe,CN=Schema,CN=Configuration,DC=X
changetype: ntdsschemaadd
objectClass: top
objectClass: attributeSchema
cn: ContosoShoeSizesTakenByMe
attributeID: 1.2.840.113556.1.8000.9999.2.3
LinkID: 1.2.840.113556.8000.9999.2.2
attributeSyntax: 2.5.5.1
isSingleValued: FALSE
adminDisplayName: ContosoShoeSizesTakenByMe
adminDescription: ContosoShoeSizesTakenByMe
oMSyntax: 64
searchFlags: 1
lDAPDisplayName: ContosoShoeSizesTakenByMe
systemOnly: FALSE

dn:
changetype: modify
add: schemaUpdateNow
schemaUpdateNow: 1
-

#Add ContosoShoeSizeTaker and ContosoShoeSizesTakenByMe Attribute as MayContain in
#contosoUser class

dn: CN= contosoUser,CN=Schema,CN=Configuration,DC=X
changetype: ntdsschemamodify
add: mayContain
mayContain: ContosoShoeSizeTaker
mayContain: ContosoShoeSizesTakenByMe

dn:
changetype: modify
add: schemaUpdateNow
schemaUpdateNow: 1
-

#Add Backward Link Attribute as MayContain in Top

dn: CN=Top,CN=Schema,CN=Configuration,DC=X
changetype: ntdsschemamodify
add: mayContain
mayContain: ContosoShoeSizesTakenByMe

dn:
changetype: modify
add: schemaUpdateNow
schemaUpdateNow: 1

ldifde –i –f <Path>\linkedids<>.ldif –b
<username> <domain> <password> -k –j. –c
"CN=schema,CN=Configuration,DC=X"
#schemaNamingContext
Agora, quando um objeto de usuário for criado, ele terá também ContosoShoeSizeTaker e ContosoShoeSizesTakenByMe como atributos. Ao criar o objeto de usuário para, digamos, José, o atributo ContosoShoeSizeTaker será preenchido com o DN do funcionário que mediu o tamanho do calçado, chamado Francisco. Agora, quando você analisar as propriedades de objeto de usuário de Francisco e consultar o atributo ContosoShoeSizesTakenByMe, o resultado irá conter o DN de José e dos outros funcionários que tiveram o calçado medido por Francisco. Para concluir o cenário, a gerência pode recompensar Francisco com base na quantidade de DNs existentes no atributo ContosoShoeSizesTakenByMe da sua conta de usuário.

Verificações e avaliações do sistema
Uma atualização crítica como a modificação de esquema não pode ser realizada sem verificações em relação a requisitos de arquitetura. Essas verificações de consistência e segurança são usadas pelo Active Directory para verificar se as alterações não causam inconsistências ou outros problemas, sempre que uma adição ou modificação é feita no esquema do Active Directory.
Primeiro, o valor de governsID para cada classe deve ser exclusivo no esquema. Quando você definir um objeto schemaClass, todos os atributos definidos nas listas systemMayContain, mayContain, systemMustContain e mustContain já devem existir. Ao mesmo tempo, todas as classes definidas nas listas subClassOf, systemAuxiliaryClass, auxiliaryClass, systemPossSuperiors e possSuperiors também já devem existir.
Além disso, a objectClassCategory de todas as classes nas listas systemAuxiliaryClass e auxiliaryClass deve ser a classe 88 ou auxiliar. Da mesma forma, a objectClassCategory de todas as classes nas listas systemPossSuperiors e possSuperior deve ser especificada como a classe 88 ou estrutural.
Ao definir várias classes, as classes abstratas podem herdar somente de outras classes abstratas; as classes auxiliares não podem herdar de classes estruturais; e as classes estruturais não podem herdar de classes auxiliares. Além disso, o atributo especificado no atributo rDNAttID deve ter a cadeia de caracteres Unicode como sua sintaxe e ter um único valor.
Essas são algumas das regras relacionadas aos objetos classSchema. E quanto às regras para os objetos attributeSchema? Assim como o valor governsID para as classes, o valor de attributeID deve ser exclusivo. Também o valor de mAPIID, se houver, deve ser exclusivo. Ainda, se rangeLower e rangeUpper estiverem presentes, rangeLower deve ser menor do que rangeUpper. Os valores de attributeSyntax e oMSyntax devem ser correspondentes. Se o atributo tiver sintaxe de objeto (oMSyntax =127), deverá ter a oMObjectClass correta. O linkID, se houver, deve ser exclusivo. Um vínculo regressivo também precisa ter um vínculo progressivo correspondente.

E se você errar?
Quando o esquema tiver sido estendido com os novos objetos (classes e atributos), eles não poderão ser excluídos. No entanto, é possível desativar uma classe ou um atributo, configurando o atributo isDefunct como TRUE no objeto do esquema. Você não pode desativar objetos de esquema que fazem parte do esquema padrão fornecido com o Active Directory (objetos da Categoria 1). Pode apenas desativar objetos que foram adicionados ao esquema padrão, ou seja, somente objetos da Categoria 2 podem ser desabilitados, e somente quando o Active Directory tiver verificado que a classe não é utilizada nas listas subClassOf, auxiliaryClass ou possSuperiors de qualquer uma das classes não-extintas existentes.
Diante de qualquer tentativa de tornar um atributo extinto, o Active Directory verifica se o atributo não é usado no mustContain ou no mayContain de qualquer classe não-extinta existente. Os objetos desabilitados podem ser reativados com a configuração do atributo isDefunct como FALSE. Se o seu Active Directory estiver no nível do Windows Server 2003, você poderá reutilizar os valores de ldapDisplayName, schemaIdGuid, OID e mapiID do objeto desabilitado.

Conclusão
Adicionar ou modificar definições de classes ou atributos no esquema envolve a adição ou a modificação do objeto classSchema ou attributeSchema correspondente. Esse processo é semelhante à adição ou à modificação de qualquer objeto no Active Directory, exceto pelo fato de que verificações adicionais são realizadas para garantir que as alterações não causem inconsistências ou problemas futuros no esquema.
Embora modificar o esquema do Active Directory seja simples, é importante entender a formação do esquema e como ele funciona para implementar essas alterações. Qualquer alteração no esquema de produção do Active Directory requer muito planejamento e deve ser feita com cautela. É fundamental que você defina os requisitos de negócios e as especificações técnicas para os novos objetos e realize muitos testes em laboratório. Como as alterações podem ter efeitos profundos, é recomendável somente estender o esquema do Active Directory quando for absolutamente necessário.

Vikas Malhotra atua nos Serviços de Consultoria Microsoft, em Nova York. Há 12 anos no setor, ele já trabalhou com muitas organizações de TI, atendendo a necessidades de arquitetura de infra-estrutura em diretórios, mensagens, segurança e redes de dados. É bacharel em engenharia eletrônica e de telecomunicações e possui mestrado em gerenciamento tecnológico de telecomunicações. Entre em contato com ele pelo email vikasmal@microsoft.com.


 System Center: Apresentando o System Center Mobile Device Manager
System Center Matt Fontaine

Apresentando o System Center Mobile Device Manager
À primeira vista:
  • Um sistema típico do Mobile Device Manager
  • Extensão do Active Directory para o Windows Mobile
  • Registro, provisionamento e inventário de dispositivos Windows Mobile

O lançamento do Microsoft System Center Mobile Device Manager 2008 é um avanço empolgante para os profissionais de TI que gerenciam dispositivos Windows Mobile em redes corporativas. Por fornecer recursos de gerenciamento de dispositivos, gerenciamento de segurança e VPN (rede virtual privada) móvel
em um único produto, a nova oferta pode ajudar a diminuir a carga administrativa e a promover um melhor ROI (retorno sobre o investimento) das frotas de dispositivo móveis.
O Mobile Device Manager permite que os profissionais de TI utilizem a infra-estrutura existente do Active Directory® e da Diretiva de Grupo para impor configurações de dispositivos. Os recursos de gerenciamento de dispositivos OTA (via satélite) possibilitam aos profissionais de TI fornecer atualizações e aplicativos aos dispositivos com maior facilidade, enquanto o autoprovisionamento OTA torna a implantação mais simples e dimensionável. A VPN móvel proporciona aos usuários finais acesso a dados e aplicativos protegidos pelo firewall. Ao mesmo tempo, fornece aos administradores uma conexão sempre ativa para o controle dos dispositivos implantados. Com todos esses recursos em um único produto extensível, personalizável e dimensionável, o Mobile Device Manager é uma ferramenta essencial para os profissionais de TI da atualidade.

A necessidade de gerenciamento
Espera-se que a força de trabalho móvel continue a crescer rapidamente nos próximos anos. Os dispositivos móveis, historicamente, têm sido mais difíceis de gerenciar do que outros equipamentos de rede, exatamente devido à sua mobilidade. Eles se conectam à rede de diversas maneiras, e nem todos têm o mesmo nível de segurança — eles podem existir fora do firewall, utilizam sistemas operacionais diferentes dos dispositivos clientes e são pequenos, portanto mais sujeitos a perdas.
A funcionalidade expandida dos dispositivos móveis atuais traz vantagens atraentes para empresas e usuários finais, mas também torna mais complexo o suporte aos dispositivos. Isso pode expor redes e dados corporativos a riscos adicionais de segurança, especialmente quando os dispositivos são usados para acessar aplicativos e dados de clientes confidenciais de LOB (linha de negócios). Esses dispositivos podem criar emergências de segurança em caso de perda, roubo ou uso impróprio.
À medida que diminui a lacuna funcional entre os dispositivos móveis e os clientes de rede tradicionais, aumenta a necessidade de gerenciar esses dispositivos como se fossem laptops ou desktops. Essa é a idéia básica por trás do Mobile Device Manager. Acompanhando o aumento constante da popularidade da plataforma Windows Mobile® entre os usuários corporativos, o Mobile Device Manager se tornará um aspecto crucial dos sistemas de gerenciamento de TI baseados no Windows®.
O Mobile Device Manager foi projetado para fornecer gerenciamento e controle completos de dispositivos Windows Mobile, garantindo que sejam gerenciados com a mesma facilidade encontrada para lidar com PCs ou laptops conectados à rede. Ele tem três funções principais:
Gerenciamento de dispositivos Funcionalidade centralizada para provisionar, monitorar e gerenciar dispositivos Windows Mobile, dimensionável até milhares de usuários por servidor.
Gerenciamento de segurança Melhores mecanismos para proteger dados confidenciais e manter o controle dos dispositivos.
VPN móvel Melhor acesso a dados e aplicativos protegidos pelo firewall, com funcionalidade sempre ativa.
O Mobile Device Manager está alinhado à filosofia mais ampla do System Center, que consiste em equipar os profissionais de TI com as ferramentas necessárias para gerenciar os ativos corporativos como elementos de primeira classe — de forma equiparada a desktops e laptops. Ele conta ainda com uma interface do usuário que parecerá familiar aos profissionais que já utilizam outros produtos do System Center.
Isso significa também que o Mobile Device Manager foi projetado para funcionar bem com a infra-estrutura baseada em Windows já existente. Para citar alguns exemplos, ele usa o Active Directory e a Diretiva de Grupo; funciona com as ferramentas Microsoft já existentes de análise e emissão de relatórios (como o SQL Server®); e pode ser estendido com o uso de snap-ins do Microsoft® Management Console e cmdlets do Windows PowerShellTM.

O sistema do Mobile Device Manager
O Mobile Device Manager é altamente dimensionável e pode dar suporte a milhares de dispositivos em uma única instância, e também a várias opções de configuração. Em termos gerais, há quatro componentes principais de sistema no servidor do Mobile Device Manager: um servidor de gateway, um servidor de gerenciamento de dispositivos, um servidor de registro e bancos de dados do SQL Server (veja a Figura 1).
Figure 1 Typical Mobile Device Manager system
Figure 1 Typical Mobile Device Manager system
O servidor de gateway é normalmente instalado na rede de perímetro. Ele atua como terminal da conexão de rede dos dispositivos, autentica as conexões de dispositivos recebidas, fornece endereços IP estáveis aos dispositivos e realiza outras funções relacionadas à conectividade de dispositivos ou de rede.
O servidor de gerenciamento de dispositivos é o hub de administração e gerenciamento dos dispositivos, incluindo a implementação da Diretiva de Grupo, a distribuição de software OTA e os apagamentos de dispositivos. Ele funciona com os controladores de domínio existentes. Os servidores de gerenciamento de dispositivos atuam como clientes de rede substitutos dos dispositivos Windows Mobile, permitindo que esses dispositivos se comuniquem com outros sistemas.
O servidor de registro cria objetos dos Serviços de Domínio do Active Directory que representam os dispositivos móveis no controlador de domínio, permitindo que esses dispositivos sejam gerenciados da mesma forma que outros membros do domínio. Esse servidor lida também com as solicitações e a recuperação de certificados para os dispositivos móveis. Ele usa o Active Directory como base para autenticar os dispositivos antes de aceitar ou emitir certificados de registro. Os bancos de dados do SQL Server funcionam como repositório para todas as informações relacionadas à configuração, às tarefas, à definição de status dos dispositivos, e assim por diante.
Quando a infra-estrutura está em funcionamento, o Mobile Device Manager tem três tipos de interações com os dispositivos móveis: registro de dispositivos; estabelecimento de conexões de VPN móvel; e gerenciamento de dispositivos. O registro de dispositivos é o processo pelo qual um dispositivo ingressa no domínio do Active Directory. O Mobile Device Manager usa um "segredo compartilhado" — uma senha expirável de utilização única — para permitir que os dispositivos sejam registrados via conexões não seguras. Depois de registrado, um dispositivo pode fazer uma conexão de VPN móvel com o servidor de gateway pelo qual o tráfego de rede do dispositivo é roteado. Usando a conexão de VPN móvel, o administrador ou o sistema podem realizar o gerenciamento do dispositivo, enviando software e configurações.

Extensão do Active Directory para o Windows Mobile
Abordagens híbridas ou ad hoc para a segurança de TI podem ser mais arriscadas do que uma abordagem totalmente integrada. O Mobile Device Manager foi projetado para ajudar a reduzir esses riscos, por fornecer uma maneira de gerenciar dispositivos móveis como PCs Windows usando a infra-estrutura existente de Serviços de Domínio do Active Directory. O resultado é um gerenciamento de identidades e de acesso simplificado, um direcionamento de políticas mais consistente e uma configuração única de segurança.
Assim como acontece com PCs ou servidores, os Objetos de Diretiva de Grupo relacionados a dispositivos Windows Mobile podem ser atribuídos a UOs (unidades organizacionais), grupos de segurança e filtros WMI (Instrumentação de Gerenciamento do Windows). Os administradores podem também impedir que dispositivos específicos obtenham as configurações da Diretiva de Grupo.
Há mais de 130 configurações e políticas para dispositivos Windows Mobile, permitindo o controle granular sobre uma grande variedade de funções. Este é apenas um exemplo:
  • As configurações de senha incluem exigência de senha; tipo e tamanho mínimo; validade da senha; e apagamento local do dispositivo após um número especificado de tentativas fracassadas (incluindo a notificação do usuário quanto ao número de tentativas restantes).
  • As configurações de bloqueio da plataforma permitem que os administradores habilitem ou desabilitem seletivamente funções dos dispositivos, inclusive câmera, LAN sem fio, infravermelho, Bluetooth e armazenamento removível. As mensagens POP, IMAP, SMS e MMS podem ser desativadas e o Windows Update para Windows Mobile pode ser desabilitado.
  • O Mobile Device Manager permite o controle granular de aplicativos. Ele pode impedir que os dispositivos executem aplicativos não-assinados ou com assinaturas não-aprovadas, ou então permitir aplicativos não-assinados específicos a critério do administrador.
  • Para ajudar na proteção de dados, o administrador pode impor a criptografia de arquivos criados em cartões de armazenamento removível (com a chave de criptografia vinculada ao dispositivo). Também está disponível a criptografia no dispositivo, para a proteção de dados confidenciais contidos nele. Além dos arquivos protegidos por padrão, o administrador pode especificar arquivos adicionais a serem criptografados.
  • As configurações de VPN móvel determinam qual o controle dos usuários sobre as conexões de VPN dos seus dispositivos. Podem também ser usadas para definir os níveis de criptografia de dados.
  • As configurações do ActiveSync® definem o formato das mensagens, os filtros de vencimento dos emails, os limites de tamanho, as configurações de sincronização e muito mais.
  • As configurações de S/MIME podem exigir a assinatura e a criptografia das mensagens ou o uso de algoritmos específicos.
Essas e outras configurações dão suporte a uma grande variedade de cenários. Elas permitem que os profissionais de TI decidam que tipos de aplicativos podem ser executados em quais dispositivos. Recursos de hardware podem ser habilitados ou desabilitados via satélite — por exemplo, câmeras podem ser desabilitadas para impedir o comprometimento acidental ou intencional de informações confidenciais. A criptografia de dados pode ser imposta em dispositivos, cartões de armazenamento removível ou ambos, tornando menos provável que dados proprietários em dispositivos ou cartões perdidos ou roubados cheguem às mãos de indivíduos não-autorizados.
O Mobile Device Manager contém ainda outras ferramentas de gerenciamento de segurança. Com milhares de aplicativos disponíveis para os dispositivos Windows Mobile, há uma necessidade evidente de controle dos administradores sobre o que pode ou não ser instalado. O Mobile Device Manager permite criar e impor listas de permissão e bloqueio de aplicativos exatamente para essa finalidade. Ele fornece também recursos avançados de apagamento remoto. Devido à conexão VPN sempre ativa com os dispositivos, eles podem ser apagados imediatamente, sem a necessidade de esperar que se conectem à rede e façam a sincronização. Quando um dispositivo é apagado remotamente, ele é removido do controlador de domínio e seu certificado é revogado. Se um dispositivo é recuperado posteriormente, pode ser reintegrado ao domínio após o novo registro, com uma nova senha de utilização única.

Mantendo os dispositivos móveis sob controle
O Mobile Device Manager foi projetado para tornar o gerenciamento de dispositivos Windows Mobile na rede o mais fácil possível, fornecendo recursos completos de gerenciamento de dispositivos em uma única solução. Isso inclui provisionamento OTA; distribuição e atualização de software OTA; e um gerenciamento de inventário abrangente e centralizado.
O auto-registro OTA é um recurso que provavelmente conquistará os profissionais de TI e usuários mais ocupados. Um usuário digita um endereço de email em um dispositivo Windows Mobile 6.1, que tenta localizar o Servidor de Gerenciamento de Dispositivos Móveis com base no endereço de email fornecido. Se o servidor não for encontrado, será solicitado que o usuário insira manualmente o endereço do Servidor de Gerenciamento. Quando o servidor for encontrado e for determinado que o usuário pode registrar-se, será solicitado que o usuário digite uma senha de utilização única, gerada previamente pelo administrador.
O endereço de email e a senha são usados para autenticar o usuário e para registrar seu dispositivo no Servidor de Gerenciamento. Quando esse processo é concluído, as configurações e as políticas definidas pelo administrador são enviadas para o dispositivo. A abordagem de auto-registro se destina a aumentar a escalabilidade das implantações de dispositivos Windows Mobile e reduzir o tempo e o investimento necessários para colocar esses dispositivos em funcionamento.
Os recursos de distribuição de software OTA do Mobile Device Manager se baseiam no WSUS (Windows Software Update Services) 3.0, o kit de ferramentas de atualização de software já utilizado por muitos profissionais de TI em todo o mundo. Conforme mostrado na Figura 2, o WSUS 3.0 conta com funções de direcionamento e empacotamento de aplicativos capazes de atender a necessidades complexas de TI. É possível fornecer software automaticamente aos dispositivos apropriados com base em regras e políticas definidas pelo administrador. Assim como nas atualizações de servidores e clientes, atualizações e patches para dispositivos móveis podem ser automatizados com o WSUS 3.0. E outro recurso igualmente importante: as atualizações automáticas podem ser desativadas para planejamento e teste de implantação.
Figure 2 Software distribution wizard
Figure 2 Software distribution wizard
Um dos maiores desafios associados ao gerenciamento de equipamentos móveis implantados em grande escala é simplesmente manter tudo sob controle. O Mobile Device Manager centraliza as informações de inventário e fornece relatórios flexíveis e personalizáveis baseados no SQL Server 2005 — mais uma vez, utilizando softwares que muitos usuários já têm instalados e conhecem bem. Os administradores podem coletar mais de uma centena de itens de informações de inventário, incluindo (mas sem limitar-se a) sistema operacional e versão, modelo do dispositivo, aplicativos instalados e políticas de segurança. O inventário é extensível, o que permite ao administrador adicionar itens e configurações do Registro.
Para uma flexibilidade ainda maior, você pode controlar o Mobile Device Manager usando snap-ins do Microsoft Management Console, se prefere uma interface gráfica do usuário (veja a Figura 3), ou com o console do Windows PowerShell, se prefere uma linha de comando. De qualquer forma, o sistema é extensível e personalizável — algo fundamental para usuários corporativos que desejam que o software se adapte à sua organização.
Figure 3 Mobile Device Manager Console
Figure 3 Mobile Device Manager Console

VPN móvel
Há anos que os profissionais de TI trocam emails e mensagens em seus dispositivos móveis. Agora, um dos avanços mais úteis na tecnologia de dispositivos móveis é a capacidade de acessar dados e aplicativos de negócios protegidos pelo firewall. Com o maior acesso, surgem novos riscos à segurança. Por isso, a funcionalidade adicional deve ser gerenciada com cautela, de forma a prevenir vulnerabilidades. O Mobile Device Manager conta com os recursos mais avançados de VPN móvel, permitindo aos usuários acessar dados da intranet que vão desde o CRM (gerenciamento de relacionamento com o cliente) Microsoft DynamicsTM até SAP e Siebel. O modelo foi criado de forma correspondente às estratégias de acesso remoto existentes para desktops e laptops (veja a Figura 4).
Figure 4 Mobile VPN settings
Figure 4 Mobile VPN settings
A VPN móvel conecta o dispositivo ao servidor de gateway usando um recurso de segurança de envelope duplo, no qual os dados são transmitidos em um formato criptografado com SSL, passando por um túnel criptografado com IPsec. Quando o dispositivo é autenticado, o usuário tem acesso aos recursos especificados pela política específica de recursos, em combinação com as credenciais do usuário.
A tecnologia de VPN móvel usada pelo Mobile Device Manager permite o estabelecimento de uma conexão sempre ativa, o que proporciona aos usuários um acesso melhor e também ajuda a garantir que os profissionais de TI possam manter os dispositivos com políticas e configurações atualizadas — e apagar imediatamente um dispositivo perdido ou roubado. A reconexão rápida ajuda a garantir que a sessão do dispositivo continue, sem necessidade de reautenticação, mesmo que uma sessão seja interrompida. O Mobile Device Manager permite uma transição tranqüila entre as redes Wi-Fi e celulares, mantendo a conectividade.
A tecnologia de segurança usada na VPN móvel do Mobile Device Manager se baseia nos padrões do setor, inclusive OMA DM (Open Mobile Alliance for Device Management), IKE (Internet Key Exchange) versão 2 e OMA SCOMO (Software Component Management Object). Isso aumenta a capacidade de extensão e personalização do sistema para lidar com situações específicas enfrentadas pelos profissionais de TI que atuam em ambientes complexos.

Uma solução completa
O Mobile Device Manager fornece um conjunto completo de ferramentas para gerenciar dispositivos Windows Mobile, acessíveis por meio de uma interface única. Ele utiliza o Active Directory e a Diretiva de Grupo para oferecer ferramentas de segurança que ajudam a proteger os dados, os dispositivos e a rede. O gerenciamento de dispositivos é simplificado com o registro, o provisionamento e a atualização OTA, e também por poderosas ferramentas de inventário. A VPN móvel foi projetada para proporcionar a funcionalidade buscada por empresas e usuários, sem comprometer a segurança.
Tudo isso faz parte da idéia de facilitar o trabalho dos profissionais de TI, permitindo que os dispositivos móveis sejam gerenciados na rede como elementos de primeira classe. O Mobile Device Manager confere aos profissionais de TI o poder de fornecer uma experiência de qualidade aos usuários finais, reduzir a sobrecarga administrativa e garantir à gerência um melhor ROI — uma combinação realmente inovadora.
Meus agradecimentos a Brian Hoskins, Derek Snyder, Prithvi Raj, Lax Madapaty e Katharine Holdsworth por suas contribuições para este artigo.

Matt Fontaine é escritor freelancer na área de tecnologia e consultor da BuzzBee Company. Ele atua em diversos setores, inclusive computação de alto desempenho, softwares corporativos, ramo atuarial, ramo imobiliário comercial, engenharia, construção e mercadorias embaladas para consumo. Matt orgulha-se de ser aluno do Evergreen State College.


 System Center: Novidades no System Center Essentials SP1
System Center Pete Zerger

Novidades no System Center Essentials SP1
À primeira vista:
  • Instalação mais fácil com o pacote do instalador integrado
  • Substituições aprimoradas para pacotes de gerenciamento de ajuste fino
  • Suporte a grupos de trabalho
  • Nova tarefa de recálculo do estado de integridade

Com o lançamento do System Center Essentials 2007 no último mês de julho, a Microsoft cumpriu um de seus compromissos com empresas de médio porte, preenchendo a lacuna entre ferramentas caras, complexas, e soluções em shareware
para fornecer uma solução em gerenciamento unificado para operações de TI. O Essentials 2007 foi essencialmente projetado para superar os desafios enfrentados por empresas de médio porte, em que os profissionais de TI costumam realizar muitas tarefas.
O Essentials é fácil de instalar e configurar, permitindo aos profissionais de TI monitorar e gerenciar proativamente clientes e servidores, bem como controlar ativos de hardware e software. Ele foi projetado para simplificar tarefas tradicionalmente complexas como o monitoramento do aplicativo e do serviço de TI, a implantação do software no servidor e no cliente, além da solução de problemas no desktop.
Desde a versão inicial, a Microsoft tem coletado comentários dos clientes no campo que já estão usando o Essentials para gerenciar a infra-estrutura de TI, e essas informações foram incorporadas ao primeiro service pack do produto. Mais do que apenas fornecer correções de bug, o SP1 apresenta aprimoramentos significativos que tornam o produto mais flexível ao atender às necessidades do cliente em vários cenários de implantação. Além disso, aprimoramentos feitos no desempenho melhoram consideravelmente a experiência do usuário e simplificam a administração.
Neste artigo, examinarei os principais avanços oferecidos no Essentials 2007 SP1. Também verei como eles podem simplificar ainda mais o gerenciamento do ambiente.

Instalação mais fácil
O pacote do instalador integrado do SP1 distribui todos os hotfixes do Essentials lançados até hoje, tornando a instalação uma tarefa fácil, que requer apenas alguns cliques. Agora o Essentials também pode ser configurado para usar uma instância do SQL Server® 2005 de 64 bits, ao passo que o Essentials Server reside em uma instância do Windows Server® 2003 de 32 bits. Isso concede aos administradores maior flexibilidade na utilização da infra-estrutura do servidor existente no ambiente em uma topologia de implantação do Essentials distribuída. Além disso, haverá suporte para a plataforma Windows Server 2008 no Essentials 2007 SP1 Server, console e agente. O suporte completo ao Windows Server 2008 é aguardado para logo depois da liberação do novo sistema operacional para fabricação.

Melhor desempenho do console
Se já tiver usado a versão RTM do Essentials 2007, você apreciará a interface muito mais responsiva do Console do Essentials no SP1. O desempenho foi aprimorado nos modos de exibição de Alerta, de Evento, de Desempenho, de Estado e de Status da Tarefa. Por exemplo, em todos os modos de exibição de Alerta, alterações feitas na busca de dados (recuperação) resultam em uma seleção de dados de alerta três vezes mais rápida. Agora as ações e os relatórios são buscados no segundo plano, o que melhora ainda mais o desempenho da interface do usuário. Da mesma forma, Tarefas e Relatórios baseados no contexto (exibidos no painel Ações à direita do Console de Operações) são carregados no segundo plano, o que permite aos modos de exibição responder mais rapidamente às seleções.
O conhecimento do alerta exibido no painel Detalhes do Alerta agora pode ser mostrado ou ocultado de acordo com as preferências do usuário simplesmente clicando nos links Mostrar Conhecimento ou Ocultar Conhecimento (consulte a Figura 1). Essa preferência acaba sendo lembrada durante a exibição de futuros alertas. Agora os administradores também podem copiar e colar os detalhes do alerta usando os atalhos de teclado padrão (como, por exemplo, Ctrl+C e Ctrl+V).
Figure 1 Alert Details pane with Show/Hide Knowledge links
Figure 1 Alert Details pane with Show/Hide Knowledge links

Aprimoramentos feitos na substituição
As substituições são usadas para ajustar os pacotes de gerenciamento, desabilitando regras e monitores onde eles não são necessários, bem como para ajustar vários valores limites. Existem vários aprimoramentos significativos relacionados a substituições que não apenas simplificam o ajuste de regras e monitores para o ambiente, mas que também oferecem maior visibilidade nas substituições já presentes no ambiente do Essentials. O resultado é uma redução na necessidade de criar regras personalizadas e menos tempo gasto na tentativa de identificar as substituições presentes no ambiente.
Por exemplo, depois que você cria uma substituição para qualquer objeto do pacote de gerenciamento, agora é possível observar o resumo das substituições do tipo de objeto na caixa Resumo de Substituições. O Essentials 2007 SP1 garante que a descrição do destino da substituição esteja completa. Se você criar uma substituição para Espaço Livre em Disco Lógico da unidade C:\ do Server1, por exemplo, o resumo mostrará 'server1/c:'. Um exemplo pode esclarecer a importância dessa alteração.
Observe na Figura 2 que, nesse Resumo de Substituições de Espaço Livre em Disco Lógico do Windows Server 2003 na versão RTM do Essentials 2007, é impossível dizer qual computador está hospedando a instância da unidade C:\ de destino da substituição. No mesmo Resumo de Substituições no Essentials SP1, é possível ver que a coluna Nome agora exibe não apenas a instância da unidade de destino, mas também o computador que hospeda essa unidade (consulte a Figura 3).
Figure 2 Overrides Summary in Essentials 2007 RTM
Figure 2 Overrides Summary in Essentials 2007 RTM
Figure 3 The same Overrides Summary in Essentials 2007 SP1
Figure 3 The same Overrides Summary in Essentials 2007 SP1
A severidade do alerta pode ter um impacto substancial sobre o volume do tráfego de alerta coletado pelos administradores. Até agora, se uma regra do Essentials em um pacote de gerenciamento lacrado fosse configurada para gerar um alerta crítico que não fosse crítico em alguns servidores, os administradores não poderiam fazer nada para ajustar essa configuração, já que a severidade do alerta e a prioridade não estavam expostas nas substituições de regra. A única solução alternativa era um exercício muito trabalhoso de criar substituições para desabilitar a regra em algumas máquinas, seguido da recriação da(s) regra(s) em um pacote de gerenciamento lacrado em que os parâmetros de alerta poderiam ser manipulados – claramente uma situação não ideal de uma perspectiva administrativa.
Esse problema é tratado tranqüilamente no SP1, com a severidade do alerta e a prioridade expostas como parâmetros de substituição em todas as regras do pacote de gerenciamento lacrado, como mostrado na Figura 4. Por isso, os administradores podem diminuir ou aumentar rápida e facilmente a severidade e a prioridade dos alertas gerados por regras no Essentials 2007 criando substituições.
Figure 4 Alert severity and priority rule overrides
Figure 4 Alert severity and priority rule overrides
Você talvez tenha observado também a caixa de seleção Imposto na Figura 4, que não está na interface de console da versão RTM do Essentials. Nos casos em que há várias substituições habilitadas para um objeto, a substituição com o sinalizador Imposto selecionado terá maior prioridade. Isso pode vir em boa hora quando a mesma substituição está definida para dois grupos de objetos e alguns deles têm associação em ambos. Definindo a opção Imposto na substituição que você deseja que tenha precedência, é possível ter certeza quanto à configuração de substituição aplicada.
Para facilitar a criação de novos pacotes de gerenciamento, o Essentials 2007 SP1 apresenta a possibilidade de copiar modos de exibição de outros pacotes de gerenciamento existentes para um pacote de gerenciamento sem lacre. Há suporte para a operação de cópia em todos os tipos de modo de exibição (como, por exemplo, Evento, Alerta, Desempenho, Dashboard e Diagrama), e isso pode ser feito no espaço Monitoramento. Por exemplo, se tivesse criado um pacote de gerenciamento para as substituições do Active Directory® e quisesse usar um dos modos de exibição do pacote de gerenciamento do Active Directory no pacote de gerenciamento das substituições do Active Directory, bastaria você copiar e colá-lo na pasta do pacote de gerenciamento personalizado desejado no painel Navegação do espaço Monitoramento.

Novo relatório da substituição
Também vale a pena mencionar o novo Overrides Report do Microsoft® Generic Reporting Library, localizado no painel Relatório do Console do Essentials. Esse relatório oferece uma forma de descrever substituições da perspectiva do pacote de gerenciamento em que elas são armazenadas de acordo com o pacote de gerenciamento ao qual são aplicadas (consulte a Figura 5). Os usuários podem definir os parâmetros para excluir substituições de MP lacradas do relatório. Trata-se de uma opção de filtragem importante porque os pacotes de gerenciamento lacrados da Microsoft e outros contêm muitas substituições com as quais você não se preocupará ao gerar relatórios sobre as alterações feitas no próprio ambiente.
Figure 5 Overrides Report parameters
Figure 5 Overrides Report parameters
Se seguir a prática recomendada pela Microsoft de criar um pacote de gerenciamento personalizado separado para cada pacote de gerenciamento lacrado (um para o MP do Active Directory, um para o MP do Exchange e assim por diante), você terá a possibilidade de restringir mais efetivamente o escopo do relatório para exibir as substituições que se aplicam a um pacote de gerenciamento específico.
Após a seleção dos pacotes de gerenciamento sem lacre apropriados, é possível executar o relatório, que exibe a saída mostrada na Figura 6. Observe que o relatório exibe claramente a regra ou o monitor ao qual a substituição se aplica (a coluna do elemento Afetado), bem como data e hora de instalação e de exclusão associadas ao monitor. Isso ilustra o fato do Overrides Report funcionar não apenas como uma lista das substituições ativas, mas também como um relatório do histórico de alterações feitas na configuração da substituição.
Figure 6 Overrides Report detail
Figure 6 Overrides Report detail
Por fim, na parte inferior do modo de exibição detalhado de cada Regra ou Monitor afetado, você encontrará um modo de exibição da configuração com um hiperlink de rótulo Regra. Isso inicia um modo de exibição Regra ou Monitor separado com o escopo do modo já destinado ao tipo de objeto afetado. Por exemplo, caso você clique no link do modo de exibição da configuração Regra referente à substituição mostrada na Figura 6, uma substituição em uma regra destinada à função de Computador do Servidor de Controlador de Domínio do Active Directory 2003, observe que o modo de exibição Regra resultante só exibe as regras destinadas a esse tipo de objeto.

Suporte a computadores do grupo de trabalho
Um dos pontos significativos dos comentários dos clientes estava relacionado à necessidade de gerenciamento dos servidores e das estações de trabalho nas configurações do grupo de trabalho. Muitos ambientes têm pelo menos um servidor em uma rede de perímetro ou filial não adicionado ao domínio. Como o Essentials exige autenticação mútua entre o Essentials Server e computadores gerenciados por agente, as máquinas do grupo de trabalho fora do limite confiável do servidor do Essentials também ficarão fora do escopo da implantação do agente do Essentials. Em muitos ambientes, isso significa poder deixar componentes essenciais da infra-estrutura sem monitoramento e fora do processo de gerenciamento do patch do Essentials. Como podemos gerenciar com segurança essas máquinas?
O SP1 apresenta uma autenticação baseada em certificados para cenários em que as autenticações Kerberos e do Active Directory não estiverem disponíveis. Isso requer que tanto o Essentials Server quanto o computador gerenciado por agente tenham um certificado digital X.509 instalado. O certificado digital pode ser emitido por uma Autoridade de Certificação raiz autônoma ou corporativa do Windows®. Caso não tenha uma Autoridade de Certificação do Windows atualmente no ambiente, você pode instalar esse recurso por meio de Adicionar/Remover Programas em um controlador de domínio ou servidor membro no ambiente, inclusive o Essentials Server. Para obter mais informações sobre Serviços de Certificados do Active Directory e PKI (infra-estrutura de chave pública) no Windows Server 2003, consulte microsoft.com/windowsserver2003/technologies/pki.
Para configurar a autenticação baseada em certificados no Essentials, você solicita e emite inicialmente um certificado tanto para o Essentials Server quanto para o computador destinado ao gerenciamento. A solicitação pode ser inserida por meio de um site no servidor que funciona como a Autoridade de Certificação.
Depois de ser emitido e instalado, o certificado deve ser "registrado" para ser usado com o Essentials usando o utilitário de linha de comando MOMCertImport. Para concluir a configuração do certificado, basta exportar o certificado para um arquivo (no formato .pfx) e executar MOMCertImport no computador local com a seguinte sintaxe:
MOMCertImport.exe <cert path \ name>
Após a execução de todas essas etapas no Essentials Server e no computador destinado ao gerenciamento, esses sistemas podem mutuamente autenticar e, em seguida, trocar com segurança dados por um canal criptografado. Para concluir o processo de implantação do agente, basta realizar uma instalação manual do agente do Essentials no computador de destino.

Monitoramento de rede e dispositivo
O Essentials 2007 oferece a funcionalidade de monitoramento do dispositivo de rede capaz de descobrir atributos comuns entre muitos dispositivos de rede habilitados para SNMP. Embora o SNMP versão 2c (SNMPv2c) seja o mais difundido atualmente, todos os dispositivos de rede não são criados iguais. Com isso em mente, o SP1 dá suporte ao SNMP versão 1 (SNMPv1) para acomodar o monitoramento de vários dispositivos de rede antigos como, por exemplo, alguns no-breaks, roteadores e servidores de impressão que não são compatíveis com o SNMPv2c. Como mostrado na Figura 7, os administradores podem informar ao Essentials qual versão do SNMP usar por meio de um campo suspenso adicional no Assistente para Gerenciamento de Computadores e Dispositivos.
Figure 7 Enhanced interface for network device discovery
Figure 7 Enhanced interface for network device discovery

Gerenciamento aprimorado de atualizações
Também foram feitos aprimoramentos no gerenciamento de atualizações no SP1. As regras de aprovação automática do WSUS (Windows Server Update Services) 3.0 permitem especificar produtos diferentes e atualizar classificações como, por exemplo, a aprovação automática das atualizações de definição do Microsoft Word.
O suporte a várias regras de aprovação automática também foi adicionado ao Essentials, colocando sua funcionalidade no mesmo patamar da plataforma do WSUS 3.0 (consulte a Figura 8). Isso capacita os administradores a criar aprovações automáticas para várias categorias de atualizações, inclusive atualizações críticas do Windows Vista® e service packs do 2007 Office system. Dessa forma, as regras de aprovação automática serão aplicadas a todas as atualizações que estiverem no servidor do WSUS no momento. Assim, clicando na tarefa Executar Regra(s) Agora na caixa de diálogo Aprovações Automáticas, os administradores podem aplicar imediatamente alterações em atualizações já existentes no Console do Essentials.
Figure 8 Auto-Approvals in Update Management
Figure 8 Auto-Approvals in Update Management
Com o suporte adicionado para a implantação do agente em computadores nas configurações do grupo de trabalho, os administradores poderão controlar o gerenciamento de atualizações de todo o ambiente no Console do Essentials.

Calculando o estado de integridade do objeto
Antigamente, ao exibir o estado dos monitores no Gerenciador de Integridade, os administradores tinham que aguardar a atualização periódica do estado do monitor para determinar se houve êxito em Recuperações ou em outras ações corretivas. Nova na versão SP1 do Gerenciador de Integridade, a tarefa Recalcular Integridade realiza o recálculo sob demanda da integridade do monitor (consulte a Figura 9). Isso pode acelerar substancialmente o processo de solução de problemas eliminando os minutos do tempo de espera entre as ações corretivas enquanto espera para ver se o estado do monitor retorna à integridade.
Figure 9 Recalculate Health Task in Health Explorer
Figure 9 Recalculate Health Task in Health Explorer
Da mesma forma, a tarefa Redefinir Integridade (presente desde a RTM) também passou por alguns aprimoramentos importantes para garantir que todos os monitores efetivamente respondam a uma solicitação a fim de redefinir o estado de integridade para íntegro. Isso acontece mesmo com as solicitações de redefinição executadas no próprio Essentials Server, que nem sempre respondia a solicitações de redefinição na versão RTM.

Diagnóstico controlado por script
O diagnóstico é um tipo especial de tarefa nova embutida no Essentials 2007, que permite a execução automática ou sob demanda de tarefas de coleta de dados quando o alerta é gerado. Um diagnóstico automático é aquele configurado para ser executado sempre que um monitor entra em um estado de erro. Os resultados do diagnóstico são exibidos no painel Detalhes da guia Eventos de Alteração de Estado do Gerenciador de Integridade. Um diagnóstico sob demanda é exibido como hiperlink na mesma área e pode ser executado simplesmente clicando no link. Os resultados são exibidos em uma janela pop-up na máquina local.
Como mostrado na Figura 10, o SP1 estende a funcionalidade do diagnóstico permitindo que os scripts sejam usados em tarefas de diagnóstico (ao contrário das respostas de linha de comando apenas em RTM). Isso fornece a estrutura à execução de respostas de coleta de dados automatizadas mais variadas e elaboradas quando forem encontradas condições de erro. Observe que há suporte para o uso de VBScript e JScript® nessas tarefas de diagnóstico.
Figure 10 Alert Details pane with Show/Hide Knowledge links
Figure 10 Alert Details pane with Show/Hide Knowledge links

Exportar para o Visio
Outro recurso novo no SP1 é o suporte à exportação de diagramas para o formato do Microsoft Visio® 2007, com um botão exposto na barra de ferramentas quando o usuário seleciona um modo de exibição em diagrama. Isso proporciona um recurso de documentação muito prático, uma vez que os pacotes de gerenciamento do Active Directory e do Exchange Server 2003 fornecem diagramas de topologia detalhados prontos para serem usados, o que economiza o tempo importante da elaboração da documentação por parte dos administradores. Além disso, as preferências de layout do diagrama podem ser salvas. Essas preferências serão lembradas pelo Console do Essentials na próxima vez em que o modo de exibição do diagrama for selecionado.

Melhores diretrizes de backup e recuperação
Logo após a instalação do Essentials 2007 SP1, o assistente de instalação agora solicita automaticamente ao usuário para fazer o backup das chaves de criptografia do Essentials Management Server (consulte a Figura 11). Esse par de chaves é usado pelo Essentials Server no armazenamento protegido de Executar como Credenciais no banco de dados Operações. Essas chaves também são obrigatórias caso o Essentials Server deva ser restaurado a partir do backup. Sem esse par de chaves, o Essentials precisaria ser reinstalado e configurado desde o começo.
Figure 11 Essentials encryption key backup
Figure 11 Essentials encryption key backup

Maior qualidade do pacote de gerenciamento
Além dos muitos aprimoramentos feitos no SP1 for Essentials, a equipe de produto do Essentials está fazendo grandes avanços na melhoria da qualidade dos pacotes de gerenciamento da plataforma Essentials por meio de procedimentos de teste variados e rigorosos, bem como por meio de uma maior interação com as equipes de vários produtos e especialistas no assunto de aplicativos. Os resultados se refletirão no lançamento de mais pacotes de gerenciamento que usufruem os novos recursos da plataforma de monitoramento Microsoft, incluindo limites com ajuste automático, monitoramento orientado ao serviço usando modelos de aplicativo distribuídos, bem como o mecanismo de relatório eficiente.
A Microsoft começará a liberar mais pacotes de gerenciamento nativos, aproveitando os novos recursos do Essentials começando em 2008. Os pacotes de gerenciamento do Essentials 2007 podem ser baixados no Catálogo de Pacotes de Gerenciamento System Center go.microsoft.com/fwlink/?LinkId=112399.

Experimente
O SP1 fornece aprimoramentos de desempenho que tornam o System Center Essentials 2007 um bom investimento para o gerenciamento da infra-estrutura de TI das empresas de médio porte. Caso o Essentials 2007 já esteja no seu ambiente, baixe uma cópia do SP1 e experimente você mesmo as melhorias feitas no recurso e no desempenho. Caso ainda não tenha implantado o Essentials 2007 e queira testar o Essentials 2007 com o SP1, é possível baixar o pacote do instalador integrado do SP1. Ambos os pacotes, bem como informações de produto adicionais, podem ser encontrados na home page do Essentials 2007 em microsoft.com/systemcenter/essentials.

Pete Zerger é parceiro de consultoria da AKOS Technology Services e tem nove anos de experiência no setor de TI. Ele se concentra no projeto e na implantação de soluções corporativas em gerenciamento de operações, serviços de diretório e sistema de mensagens. Possui MCSE em sistemas de mensagens, MCTS em SQL Server 2005 e é MVP Microsoft em Microsoft Operations Manager. Ele é fundador do systemcenterforum.org, um site muito conhecido na comunidade e que aborda o Essentials 2007 e o System Center Suite.


 Do editor: Uma calorosa recep&#231;&#227;o a &quot;Explorando o SharePoint&quot;
Do editor
Uma calorosa recepção a "Explorando o SharePoint"

Como você deve lembrar, em Do editor do mês passado, depois de desejar boa sorte ao The Cable Guy, mencionei que esta edição da TechNet Magazine seria a estréia de uma nova coluna. Dê as boas-vindas a "Explorando o SharePoint", uma coluna mensal que aborda tudo o que um profissional de TI deve saber sobre arquitetura, implantação, proteção, manutenção e suporte a uma infra-estrutura do SharePoint. Como prometido, Pav Cherny começa nos levando ao início com uma visão geral dos principais elementos de uma infra-estrutura do SharePoint flexível. No mês que vem, continuaremos a cobertura da administração do site do SharePoint. E nossa oferta continua em pé: caso tenha algum tópico específico sobre o SharePoint que você gostaria que abordássemos, nos escreva pelo email tnmag@microsoft.com.
Também na edição deste mês, Gil Kirkpatrick retoma uma visão geral ampla e aprofundada do processo de backup e de restauração do Active Directory no Windows Server 2008. Em muitas (senão em quase todas) redes orientadas ao Windows, o Active Directory é a origem autoritativa para informações de identidade e de acesso (o que, acho que todos nós podemos concordar, é algo bastante importante). Também se trata de um elemento-chave na infra-estrutura de qualquer implantação do Exchange, do SharePoint, do Gerenciador de Configurações... e a lista segue. Além disso, quando participei de uma das exposições de Gil durante a Directory Experts Conference em Chicago, no mês passado, e ele perguntou quantas pessoas na sala tinham um plano de recuperação de desastre abrangente para o Active Directory, você podia contar nos dedos de uma mão quantos se manifestaram. Isso é o bastante para dizer que todos devem ler o artigo de Gil.
Na mais improvável chance de que o Active Directory não seja o seu ponto forte, não se preocupe, pois há muito mais aqui para você. Matt Fontaine nos apresenta ao Gerenciador de Dispositivo Móvel System Center (uma nova tecnologia obrigatória caso você esteja gerenciando dispositivos com o Windows Mobile na organização), Pete Zerger nos orienta em meio às novidades do System Center Essentials SP1 e Jesper Johansson aplica o Princípio da incerteza de Heisenberg à segurança de TI. A Equipe de scripts está conosco, como sempre, Perguntas e respostas do Exchange está de volta e muito mais.
Por fim, estamos trabalhando em um projeto para o site totalmente novo da TechNet Magazine (ainda encontrado em technetmagazine.com). Alguns de nossos autores favoritos estão desenvolvendo screencasts, vídeos que acompanharão nossos artigos online para orientá-lo passo a passo em meio ao conteúdo. Adoraríamos saber quais tópicos e tecnologias você mais gostaria de ver abordados com esses screencasts. Mais uma vez, envie um email para nós no endereço tnmag@microsoft.com. Obrigado! – Joshua Hoffman


 Cartas: A palavra est&#225; com os leitores
Cartas
A palavra está com os leitores

Clusters do Windows
Como o Windows® Compute Cluster Server é diferente de um cluster convencional do Windows?
— de blogs.technet.com/tnmag

Essa é uma pergunta muito comum! Recebo muitas perguntas sobre cluster de disponibilidade (cluster de failover) quando falo sobre o Windows CCS (Compute Cluster Server). Clusters de computadores são diferentes de clusters de disponibilidade, que fornecem o failover de serviços entre sistemas.
Os clusters de computadores usam uma fila de trabalho ou um agendador para atribuir tarefas a diferentes sistemas do cluster. O agendador (executado no nó principal do cluster) recebe solicitações de agendamento de trabalho e, em seguida, atribui o trabalho aos outros nós de computadores no cluster. Simplificando, o CCS permite que você divida o trabalho entre os computadores, enquanto o cluster de disponibilidade se esforça para fornecer um serviço ininterrupto.
— John Kelbley, gerente sênior de produto técnico

GUI do Robocopy
Obrigado pela coluna sobre a GUI do Robocopy (novembro de 2006, technetmagazine.com/issues/2006/11/UtilitySpotlight). Ela facilita o uso do Robocopy e os agrupamentos de guias me ajudaram a compreender as várias opções de linha de comando.
— Biff M.

Muito obrigado pelos comentários! É ótimo ouvir que você considera essa ferramenta útil. Como sempre, se houver alguma outra ferramenta que você gostaria que abordássemos na TechNet Magazine, fale conosco! Escreva para o nosso email tntools@microsoft.com.

Drivers de dispositivos
Como fazer para listar todos os arquivos específicos associados a drivers de dispositivos particulares?
— T.P.

Se você está tentando determinar a lista de todos os vários arquivos que suportam uma instalação de driver específica, infelizmente não existe uma solução perfeita. Sua melhor aposta é examinar o arquivo INF incluído no driver em questão — em particular, na seção normalmente marcada como *.copyfiles, pois ela se relaciona à identificação de Plug-n-Play (PnPID) para esse driver. Essa seção listará os arquivos copiados durante a instalação do driver.
Isso fica mais difícil, no entanto, com alguns drivers que chamam "CoInstallers" como uma parte do driver — um deles pode, por sua vez, realmente extrair ou instalar outros arquivos. Mas analisar a seção CopyFiles fornecerá a você a maioria dos arquivos na maior parte do tempo — basta olhar com cuidado e entender o que o INF está dizendo.
— Wes Miller, colunista, Os arquivos da área de trabalho

Autenticação do Windows
Estou tentando encontrar artigos ou white papers que ofereçam informações sobre Autenticação do Windows. Especificamente, eu gostaria de saber mais sobre a tecnologia sem fio usando o IAS (Serviço de Autenticação da Internet) em um domínio do Windows 2000 Active Directory®. Você poderia me indicar artigos com essas informações?
— Brett M.

A melhor fonte de conteúdo sobre esse assunto é provavelmente o TechCenter do IAS no TechNet, que você pode encontrar em technet.microsoft.com/network/bb643123. Ele inclui links para vários artigos e white papers sobre a autenticação com o IAS.
Outro fórum online apropriado no qual você pode levantar essas questões é o Grupo de notícias sobre segurança do Windows 2000 Server em microsoft.com/technet/community/newsgroups/dgbrowser/en-us/default.mspx?dg=microsoft.public.win2000.security.

Um leitor apreciativo
Eu li o interessante artigo "Um guia para a computação forense básica", da edição de dezembro de 2007 (que pode ser encontrado em technetmagazine.com/issues/2007/12/Forensics). Primeiro, gostaria de parabenizá-los por publicarem informações tão importantes. Além disso, quero parabenizar o co-autor Tom Cloward, gerente de programas na Microsoft, por usar sua excelente experiência no campo da segurança. Também desejo parabenizar o co-autor Frank Simorjay, gerente de programa técnico e especialista no assunto segurança da Microsoft. Você está empregado no campo da segurança e concordou em compartilhar seu amplo conhecimento sobre o assunto para resolver problemas causados por ataques de segurança pela Internet. Isso é muito louvável. Muito obrigado.
— Mr. S.

Obrigado por sua carta, Mr. S. Nós concordamos que esse é um assunto muito importante e esperamos que você fique feliz em saber que temos mais matérias sobre esse assunto já planejadas nas edições futuras da TechNet Magazine. Obrigado novamente!


 Toolbox: Novos produtos para profissionais de TI
Toolbox
Novos produtos para profissionais de TI
Greg Steen

Analisar o espaço em disco
FolderSizes
foldersizes.com
Como saber o que está ocupando todo o espaço do computador do seu cliente? Talvez você tenha um monitor de espaço em disco instalado para avisar quando o computador estiver próximo ao limite de capacidade. Mesmo assim, determinar como limpar o disco para recuperar uma proporção adequada de espaço livre pode ser uma tarefa árdua. Um utilitário que pode ajudá-lo a identificar o que está ocupando espaço é o FolderSizes, da Key Metric Software.
Quando você inicia o aplicativo pela primeira vez, ele apresenta um breve passo a passo da interface do usuário para ajudá-lo a prosseguir (embora o aplicativo seja muito simples). Para analisar uma unidade ou uma pasta, você precisa apenas clicar nela duas vezes no painel hierárquico Folder Browser (Navegador de Pastas). Depois que o FolderSizes verifica o destino, o programa apresenta um gráfico da utilização do disco e uma exibição de pastas mostrando quanto espaço o conteúdo de cada pasta pai ocupa. E, com um só clique, você pode mudar a visualização das pastas, alternando entre um gráfico de pizza e um gráfico de barras, para entender onde o espaço está sendo utilizado. Pessoalmente, considero o gráfico de barras mais útil para lidar com vários diretórios irmãos.
Se você clicar duas vezes em uma barra, uma fatia da pizza ou uma pasta, serão exibidos detalhes da subpasta. Essa navegação torna rápido e fácil ampliar possíveis pontos problemáticos, como um diretório "oculto" de arquivos mp3 que seu usuário nomeou como "Apresentações de vendas". Ou então, se você tiver um usuário fanático por documentos que gosta de guardar absolutamente tudo no computador, poderá classificar pela última data de modificação para ver quais os arquivos não acessados há muito tempo. Esse é um bom argumento para convencer o usuário de que os arquivos provavelmente podem ser arquivados em um CD ou excluídos definitivamente sem causar problemas.
Outro recurso interessante é a forma como o FolderSizes permite personalizar quantos níveis serão apresentados no gráfico. Por exemplo, é possível exibir um gráfico de todas as pastas na unidade ao mesmo tempo, classificadas da maior para a menor, permitindo isolar pontos problemáticos. Ao encontrar um ponto problemático, você pode clicar com o botão direito para acessar as ações "prompt de comando a partir daqui" e "explorar esta pasta". Isso permite executar qualquer outra verificação ou utilitário necessário.
O FolderSizes inclui ainda um Gerador de Relatórios interno que fornece mais um conjunto de exibições do conteúdo do seu sistema de arquivos de destino. Você pode, por exemplo, localizar os maiores arquivos de um tipo específico ou os arquivos mais antigos no sistema; localizar arquivos temporários ou duplicados; localizar todos os arquivos somente leitura; e determinar todos os arquivos de um proprietário específico no servidor de arquivos. A lista de recursos é longa. E, depois de gerar seu relatório, você pode filtrar a exibição, imprimi-la ou até mesmo exportá-la para XML, HTML ou CSV.
Além de tudo isso, o FolderSizes ainda oferece uma ótima forma de simplificar seus backups, garantindo que você inclua somente os arquivos que precisa mesmo arquivar. Também é possível usar a interface de linha de comando do aplicativo para criar um script e automatizar as verificações dos seus sistemas clientes ou servidores. Então, se você está procurando um modo rápido de isolar o que está consumindo o espaço em disco dos seus servidores ou computadores clientes, experimente o FolderSizes.
Preço: a partir de US$ 50 (licença para um usuário).
FolderSizes offers chart visualization of system folders
FolderSizes offers chart visualization of system folders

Gerenciar contas de usuários
Inactive Users Tracker
netwrix.com/inactive_users_tracker_freeware.html
Quanto maior a sua organização, mais fácil perder o controle das contas de usuários inativos. E, no que se refere à segurança, é sempre uma boa idéia ter um processo instalado para garantir que você possa rastrear as contas de usuários inativos e desativá-las ou removê-las, eliminando uma potencial brecha de segurança. O Inactive Users Tracker, um utilitário freeware da NetWrix Corporation, permite fazer isso de forma simples.
A ferramenta verifica periodicamente seus domínios do Active Directory® em busca de usuários inativos e envia a lista de contas inativas por email para um endereço administrativo à sua escolha. Você pode especificar qual domínio deseja gerenciar, e também qual a conta com permissão para examinar o Active Directory em busca de contas inativas. Pode também definir por quantos dias uma conta deve estar inativa para ser "rotulada" como inativa e incluída na notificação por email. E, logicamente, é possível programar quando o processo será iniciado.
Fora isso, basta configurar seu servidor SMTP para retransmitir o email de notificação ao endereço administrativo e especificar se deseja ou não que o utilitário filtre as contas de usuários inativos usando um filtro de nome — pode ser, por exemplo, que todas as suas contas de consultores comecem com "c_".
Há também uma versão comercial disponível (os preços são adaptados de acordo com o cliente que vai adquirir o produto). Essa versão permite personalizar as mensagens de email enviadas aos seus usuários, oferece suporte à desativação automática de contas de usuários inativos e inclui suporte técnico.
Preço: gratuito
Inactive Users Tracker notifies you about inactive users
Inactive Users Tracker notifies you about inactive users

Aprimorar as comunicações por email
Exclaimer Mail Utilities 2007
exclaimer.com/MailUtilities2007.aspx
Por um lado, no mundo de hoje, com cada vez mais litígios e normas, é muito importante que a sua organização proteja as comunicações por email. Por outro lado, a comunicação e a identidade visual consistentes ajudam a organização a estabelecer um relacionamento melhor com os destinatários de seus comunicados. O Exclaimer Mail Utilities 2007, projetado para funcionar com implantações do Exchange Server 2007, pode ajudá-lo nesses dois aspectos.
O aplicativo tem três recursos básicos que ajudam a unificar e proteger as trocas de emails da sua organização: avisos de isenção, identidade visual e autenticação. Além disso, você pode adicionar módulos que ajudam no combate a spams e vírus.
No que se refere a avisos de isenção, o Exclaimer Mail Utilities ajuda a reduzir sua exposição a litígios e a aumentar sua conformidade com as normas vigentes, como a lei americana HIPAA (Health Insurance Portability and Accountability Act) e a Circular 230, acrescentando uma mensagem personalizada (que pode aparecer antes ou depois do texto do email) a todas as mensagens enviadas pela organização. Quanto à identidade visual, você pode acrescentar facilmente uma imagem e um logotipo a cada mensagem enviada, garantindo uma aparência consistente em todas as comunicações com sua base de clientes. E quanto à autenticação, você pode garantir que uma assinatura automática seja aplicada a todas as mensagens, sejam elas enviadas por um dispositivo inteligente, pelo Microsoft® Outlook® Web Access ou por um cliente padrão do Outlook. A assinatura é gerada dinamicamente a partir de dados que provavelmente você já tem armazenados na sua árvore do Active Directory. E você pode configurar a ferramenta para personalizar essas assinaturas com base em diversos fatores, inclusive se o email é enviado para uma pessoa interna ou externa, quem é o remetente, quem é o destinatário e qual o assunto contido na mensagem.
Os preços do Exclaimer Mail Utilities 2007 são baseados no usuário, a partir de US$ 245 para 25 usuários, com descontos progressivos para quantidades maiores. Os módulos anti-spam, antivírus e de suporte técnico também aumentam o custo básico. O suporte é obrigatório no primeiro ano e tem custos a partir de US$ 55 para 25 usuários. Para fins de desempenho, você precisa de um computador executando o Windows Server® 2003 de 64 bits ou o Windows Server 2008 para executar o Mail Utilities. Se você tem interesse, mas ainda está executando o Exchange Server 2003, há uma outra versão disponível.
Preço: a partir de US$ 245 para 25 usuários.

Resenha de livro
How to Cheat at Securing SQL Server 2005 (Truques para a proteção do SQL Server 2005)
syngress.com
Todos nós, profissionais de TI, sabemos que a segurança deve ser uma das principais preocupações nas implementações de infra-estrutura. Pense em como seus sistemas são interconectados atualmente e quantas informações confidenciais são mantidas neles. Isso se aplica especialmente às instâncias do SQL Server®, que tendem a ser fontes centralizadas de informações confidenciais. Além disso, as normas vigentes para proteger a privacidade das pessoas, como Sarbanes-Oxley e HIPAA, podem trazer problemas jurídicos e financeiros consideráveis, se acontecer algo que comprometa esses dados.
Ao proteger suas instâncias do SQL Server 2005, é provável que você queira dar uma olhada no livro How to Cheat at Securing SQL Server 2005. O título causa certa confusão — o livro, na verdade, não ensina "truques", mas sim apresenta uma referência passo a passo para bloquear suas implantações do SQL Server 2005. A estratégia segue o princípio básico de "acesso mínimo", permitindo apenas o necessário para atender aos requisitos dos negócios e desativando o restante.
Após a introdução, o livro começa analisando como reduzir a área de superfície da sua instância do SQL Server 2005 usando a ferramenta Configuração da Área de Superfície. Você obtém informações úteis, como os serviços padrão com suas opções de inicialização padrão (manual, automática ou desativada) quando o SQL Server 2005 é instalado. No capítulo seguinte, você aprende sobre as funções do SQL Server e como elas podem simplificar muito as tarefas administrativas. O livro mostra, por exemplo, como vincular uma função a um grupo do Windows®. Assim, se você adicionar um novo usuário ao grupo, ele terá acesso concedido automaticamente aos recursos disponíveis para a função.
O capítulo sobre autenticação e acesso granular aborda os logons do Windows e do SQL Server, as vantagens e as desvantagens de cada um. Também explora as práticas recomendadas da Microsoft referentes à autenticação. O livro passa, então, a tratar de autorização, abordando as opções disponíveis para que você ajuste o que os seus usuários poderão fazer na instância (ou, em linguagem de banco de dados, suas permissões baseadas em princípios para protegíveis). Você passa a conhecer recursos como a DAC (conexão dedicada do administrador), uma conexão local, somente para o administrador, que permite seu acesso a uma instância quando uma consulta ou um processo consome todos os recursos, fazendo com que o servidor não responda. É um recurso útil, que não existia nas versões anteriores ao SQL Server 2005.
No SQL Server 2005, esquemas e usuários são separados em entidades distintas. Há um capítulo sobre como definir, atualizar e excluir esquemas via T-SQL e SQL Server Management Studio. A seção traz também boas dicas. Ensina, por exemplo, a não usar o procedimento armazenado sp_adduser para criar novos usuários no SQL Server 2005, a menos que você queira criar um novo esquema. Em vez disso, é melhor usar a instrução CREATE USER T-SQL para criar somente o usuário.
As senhas são, logicamente, outra parte importante da proteção da instalação. O capítulo seguinte trata de políticas de senhas em detalhes, ajudando a obter um nível uniforme de segurança em todas as contas. O autor explora diferentes cenários de implementação para orientá-lo na escolha da melhor política e do melhor tipo de política para o seu ambiente. Então, o livro prossegue, tratando de disparadores DDL (linguagem de definição de dados) e como podem ajudar na proteção contra alterações estruturais indesejadas, além de fornecer trilhas de auditoria para alterações em logons de servidor.
No capítulo seguinte, você descobre que o SQL Server 2005 pode criptografar seus dados de várias maneiras e conhece os esquemas para proteger informações confidenciais. Por fim, o livro apresenta uma visão geral do SQL Reporting Services, do SQL Analysis Services e do SSIS (SQL Server Integration Services), abordando inclusive as diretrizes de práticas recomendadas relacionadas à segurança. Os dois apêndices também são muito úteis, pois trazem idéias para proteger e implementar a Diretiva de Grupo e o Active Directory de forma relacionada ao SQL Server 2005.
Considero dois elementos usados ao longo do livro especialmente úteis. Primeiro, cada capítulo conta com uma seção "Solutions Fast Track" (Roteiro de soluções), que apresenta um resumo em tópicos de recursos, fatos e práticas recomendadas para os itens abordados no capítulo. O segundo é a seção "Frequently Asked Questions" (Perguntas freqüentes), que traz respostas rápidas para perguntas sobre como administrar sua instância do SQL Server 2005. Se você está procurando uma maneira rápida de progredir na administração do SQL Server 2005 sob o ponto de vista da segurança, acrescente o How to Cheat at Securing SQL Server 2005 ao seu material de referência.
Preço: US$ 19,98 o e-book, US$ 49,95 a edição impressa

Captura de tela avançada
ScreenHunter 5 Pro
wisdom-soft.com/products/screenhunter_pro.htm
As capturas de tela são uma ótima forma de documentar instruções passo a passo para o usuário, ilustrar mensagens de erro que ocorrem em aplicativos ou preparar uma apresentação rápida de um recurso. É claro que o Windows tem uma função interna para captura de tela (PrtScr para capturar a tela inteira e Alt-PrtScr para capturar apenas a janela ativa). Contudo, os recursos incorporados no sistema operacional são limitados. Se quiser um controle mais granular sobre o que será capturado e quando, ou então quiser capturar uma tela a partir de uma reprodução de filme, você precisará experimentar um dos diversos utilitários de captura de tela de terceiros disponíveis para executar essas tarefas. Uma dessas ferramentas é o ScreenHunter Pro, da Wisdom Software. Esse utilitário acessível conta com vários recursos úteis que permitem adaptar as capturas de tela, atendendo melhor às suas necessidades específicas.
A interface do usuário é muito simples. Basta selecionar onde a captura de tela deve começar e direcioná-la no sentido desejado, usando as guias adequadamente chamadas de From (De) e To (Até). Quanto ao que pode ser capturado, o aplicativo permite capturar uma área retangular ajustável ou fixa, um objeto ou uma janela específica, a janela ativa, uma parte específica da janela ativa, a tela inteira, uma origem de DirectX® ou protetor de tela, uma reprodução de filme ou um formato mais complexo (uma área desenhada à mão livre, elíptica ou poligonal definida por você). Também é possível capturar vários objetos da janela ou caixas de mensagens ao mesmo tempo (algo muito útil para selecionar somente o aplicativo ativo, juntamente com sua caixa de diálogo ou outras interfaces de janelas). Você pode, então, enviar a captura de tela para a área de transferência, um visualizador ou editor especificado, uma impressora ou um arquivo. Pode até mesmo enviá-la para um endereço de email.
As imagens capturadas podem ser salvas como arquivos BMP, PNG, JPEG ou TIFF com várias qualidades de imagem. Também é possível fazer com que o aplicativo dimensione automaticamente a imagem capturada para um tamanho especificado, adicione uma borda ou uma marca d'água, reduzindo o trabalho de "pós-produção" necessário na imagem. Você pode até mesmo fazer com que o aplicativo capture a tela automaticamente em intervalos especificados, registrando de forma efetiva as atividades realizadas no computador.
Outro recurso interessante é o suporte do ScreenHunter Pro para a função de rolagem automática, permitindo capturar, por exemplo, uma página da Web extensa, com uma região de visualização além dos limites da área de visualização na tela. Assim como muitos profissionais de TI, tenho vários monitores. Por isso, gosto do suporte à captura de vários monitores, que permite coletar todas as informações em suas telas em uma só captura.
O utilitário inclui até mesmo um editor de imagens interno, que permite adaptar as imagens no contexto do mesmo aplicativo. Se você não precisa dos recursos mais avançados — como o envio automático por email, a captura programada, as marcas d'água e a captura de vários monitores — talvez esteja interessado na versão ScreenHunter Plus, um pouco mais barata. Também está disponível uma versão gratuita com recursos limitados.
Preço: US$ 29,95 pelo ScreenHunter Pro
ScreenHunter Pro lets you specify when and what you capture
ScreenHunter Pro lets you specify when and what you capture

Greg Steen


 Perguntas e respostas do Exchange: Implanta&#231;&#227;o do Exchange 2007 SP1
Perguntas e respostas do Exchange
Implantação do Exchange 2007 SP1
Nino Bilic

P Estou me perguntando se o Exchange Server 2007 SP1 está ou não disponível apenas na versão 64 bits? Se ele também fosse disponibilizado em uma versão 32 bits, essa versão daria suporte a um ambiente de produção?
R Em relação a isso, não existe nenhuma diferença entre as versões original (RTM) e SP1 do Exchange 2007. O SP1 está disponível nas opções de 32 e de 64 bits. No entanto, é importante se lembrar de que, assim como acontece com a versão RTM, só há suporte para 64 bits nas funções de servidor instaladas em um ambiente de produção. É possível usar a versão SP1 de 32 bits para executar várias opções de instalação /prepare e gerenciar os servidores de 64 bits, da mesma forma como seria possível com RTM.

P Preciso mesmo concluir primeiro a instalação completa da versão RTM do Exchange 2007 para, só então, aplicar o SP1 e conseguir o servidor do SP1?
R Trata-se de uma característica do Exchange 2007 SP1 bem diferente, em comparação com os service packs das versões anteriores do Exchange. Ao obter os bits do SP1, você está conseguindo essencialmente os bits do RTM também aprimorados com o SP1, e isso significa que não é necessário usar o DVD do RTM em novas instalações do Exchange 2007 SP1.
Dessa forma, para instalar os novos servidores do Exchange 2007 SP1, tudo de que você precisa são os bits do SP1. Mesmo que esteja adicionando o primeiro Exchange 2007 à organização do Exchange Server 2003, por exemplo, você continuará sendo capaz de iniciar imediatamente usando o SP1.
P Tenho um servidor com o Exchange 2007 RTM em execução no Windows Server® 2003 e estou instalando o Exchange 2007 SP1 na máquina agora. Como a Microsoft diz não haver suporte para o Exchange 2007 SP1 no Windows Server 2008, pretendo fazer uma atualização in-loco para o Windows Server 2008 mais tarde. O que você acha desse plano?
R Infelizmente, se trata de uma má idéia. Não há suporte para a atualização in-loco do Windows Server 2003 para o Windows Server 2008 com o Exchange 2007 RTM ou SP1 instalado. Há várias razões técnicas para isso, e você deve compreender que a instalação do Exchange será interrompida se essa atualização in-loco for realizada.
Para obter mais informações, leia "Mission Impossible: In-Place Upgrading Microsoft® Exchange Server 2007 from Windows Server 2003 to Windows Server 2008" em msexchangeteam.com/archive/2007/10/04/447188.aspx.

P Jamais digitei as identificações do produto (product IDs) em alguns dos meus servidores no laboratório. Por isso, quando inicio o Console de Gerenciamento do Exchange, recebo um aviso pop-up dizendo "0 dias" restantes. Poderei atualizar para o Exchange 2007 SP1 sem digitar as chaves do produto (Product Key) desses servidores?
R Sim. A instalação do Exchange 2007 SP1 (consulte a captura de tela) não pode verificar a duração do período de teste de um servidor já instalado. Não há nenhum bloco de atualização in-loco nesse cenário.

P Já instalei o Exchange 2007 SP1 no meu servidor Caixa de Correio. Agora eu gostaria de adicionar a função Acesso para Cliente ao servidor. Preciso mesmo usar o meu Exchange 2007 RTM ou os novos bits do Exchange 2007 SP1?
R Você precisa usar os bits do Exchange 2007 SP1 para instalar funções de servidor adicionais depois que o Exchange 2007 SP1 já tiver sido aplicado. Como já observado, o Exchange 2007 SP1 é um produto completo que contém todos os arquivos necessários à execução do Exchange 2007, e você não precisará dos bits do Exchange 2007 RTM porque o SP1 foi instalado com êxito.
É claro que se você tiver várias funções no servidor que está atualizando para o Exchange 2007 SP1, o uso do SP1 atualizará automaticamente todas as funções instaladas. Não é possível aplicar o SP1 apenas a algumas funções no mesmo servidor físico.

P A minha organização do Exchange tem vários servidores do Exchange 2007, e as funções de servidor são distribuídas entre vários deles. Qual dessas funções de servidor devo atualizar primeiro?
R Antes de fazer qualquer coisa, você deve baixar e ler as notas de versão do Exchange 2007 SP1 (go.microsoft.com/fwlink/?LinkId=112364), porque elas contêm informações importantes sobre o uso do SP1 em uma instalação já existente.
Mas respondendo diretamente à sua pergunta, eis um trecho das notas de versão do SP1 que aborda bem essa questão:

"Recomendamos que você atualize os servidores que estejam executando a função de servidor Caixa de Correio depois de atualizar os servidores que estejam executando as funções de servidor Acesso para Cliente, Unificação de Mensagens, Transporte de Hub ou Transporte de Borda. Caso atualize os servidores nessa ordem, você pode evitar interrupções de serviço potenciais. (Atualizar funções nessa ordem garantirá que os servidores "front" da funcionalidade das caixas de correio consigam se comunicar com o servidor da caixa de correio sem interrupções, e não ter problemas ao tentar se comunicar com um servidor back-end que tenha mais recursos.) Também recomendamos que você atualize os servidores de Acesso para Cliente residentes em sites voltados para a Internet antes de atualizar os servidores de Acesso para Cliente residentes em sites não acessíveis na Internet.
Caso você esteja executando a função de servidor Transporte de Borda na organização do Exchange e tenha criado uma Inscrição de Borda, todos os servidores de transporte participantes do processo EdgeSync devem executar a mesma versão do Exchange 2007. Você deve atualizar todos os servidores de Transporte de Borda inscritos e todos os servidores de Transporte de Hub no site do Active Directory® no qual os servidores de Transporte de Borda estão inscritos. Além disso, você deve fazer isso dentro de 15 dias após a primeira atualização para o Exchange 2007 SP1 de qualquer servidor de transporte que participe do processo de Inscrição de Borda."

P Tenho o ForefrontTM Security for Exchange Server instalado no meu servidor do Exchange 2007 RTM. Preciso fazer algo especial antes de atualizar para o Exchange 2007 SP1?
R A versão RTM do Forefront Security for Exchange Server é incompatível com o Exchange 2007 SP1. Você precisa remover o Forefront Security for Exchange Server ou atualizá-lo para uma versão posterior antes da atualização. As notas de versão do SP1 podem dar a você mais detalhes.
E, a propósito, a instalação do Exchange 2007 SP1 tem uma nova verificação de pré-requisitos que avisará isso se você estiver nessa situação e tentar a atualização.

P Tenho o Exchange 2007 RTM com RU (pacote cumulativo de atualizações) posterior ao RTM instalado. Preciso remover o RU antes de aplicar o Exchange 2007 SP1?
R Você não precisa continuar e remover manualmente nenhum pacote cumulativo de atualizações antes de instalar o Exchange 2007 SP1. A instalação do Exchange 2007 SP1 assumirá a tarefa de se livrar de todas as atualizações cuja remoção pode ser necessária para que o SP1 seja aplicado à máquina.

Nino Bilic é gerente do programa de suporte do Exchange Server. Ele está ficando incrivelmente rico explorando a galáxia e surpreendendo maus elementos no Mass Effect.


 Utilit&#225;rio em destaque: Planejamento da capacidade do SharePoint
Utilitário em destaque
Planejamento da capacidade do SharePoint
Peter Skjøtt Larsen and Satish Mathew

Planejar uma grande instalação do WSS (Microsoft® Windows® SharePoint® Services) e do MOSS (Microsoft Office SharePoint Server) pode algo complexo. Muitos fatores passam a determinar a topologia mais econômica, o hardware e os requisitos da largura de banda. Além disso, há muitas opções de configuração a serem consideradas, dependendo da forma como o sistema será usado. Normalmente, os administradores e os planejadores não contam com muito mais do que regras gerais para ajudar no dimensionamento de um sistema.
Felizmente, a Microsoft lançou a segunda geração do SCCP (Microsoft System Center Capacity Planner) 2007, uma ferramenta para fins gerais que integra um modelo de vários aplicativos a um simulador capaz de estimar como eles se comportam em uma determinada implantação. Essa versão apresenta a nova ferramenta de planejamento da capacidade do SharePoint, que adiciona ao mecanismo mais dois modelos para o WSS 3.0 e o MOSS 2007.
A ferramenta de planejamento da capacidade do SharePoint e o SCCP 2007 está disponível gratuitamente no Centro de Download da Microsoft em microsoft.com/systemcenter/sccp/default.mspx.
Ela coleta os requisitos da organização compilando as respostas para as perguntas sobre o uso esperado e as condições operacionais. Para gerar um design preliminar, um assistente solicita informações relevantes sobre a estrutura e as necessidades do SharePoint projetadas, inclusive o número e o tipo de usuários (autenticados ou anônimos), os parâmetros de rede, a configuração do hardware, os padrões de uso (como, por exemplo, publicação ou colaboração) e os requisitos de armazenamento, de indexação e de consulta.
Results of a simulation in the SharePoint Capacity Planning Tool
Results of a simulation in the SharePoint Capacity Planning Tool
Em seguida, a ferramenta gera uma topologia da linha de base usando nomes específicos da própria instalação. Você executa simulações de carga e de uso em comparação com a topologia sugerida para ver como a instalação proposta funcionaria sob várias condições.
A topologia inicial pode ser modificada com um editor de modelos, sendo possível, assim, executar cenários possíveis para simular o impacto do crescimento no uso, a expansão da filial empresarial, o hardware adicional e o aumento na largura de banda. Como mostra a captura de tela, a simulação gera cargas de servidor estimadas e relatos da experiência do usuário que permitem iniciar a otimização da configuração com base em parâmetros como, por exemplo, o custo, o desempenho e o hardware disponível. É possível exportar um relatório detalhado ou resumido para uma planilha do Excel® e o diagrama da topologia para um arquivo do Visio®.
A ferramenta de planejamento da capacidade do SharePoint alivia a carga da implantação em ambiente intacto, permitindo que você teste várias circunstâncias até chegar a uma configuração inicial razoável. Como também é possível modelar uma topologia existente e percorrer vários cenários possíveis, a ferramenta é útil na exploração de alterações potenciais a serem feitas também em implantações já existentes.

Peter Skjøtt Larsen é gerente de produto sênior na equipe do Microsoft Solution Accelerator. Ele está na Microsoft há quatro anos, trabalhando na migração do UNIX, além da comunicação e colaboração.
Satish Mathew é gerente de programa na equipe do Microsoft Solution Accelerator. Ele está na Microsoft há quase cinco anos, trabalhando inicialmente na equipe do Windows PowerShell antes da transição para sua equipe atual.


 Explorando o SharePoint: Criando a infra-estrutura do SharePoint
Explorando o SharePoint
Criando a infra-estrutura do SharePoint
Pav Cherny
Faça o download do código deste artigo:: SharePoint2008_05.exe (412KB)

Da mesma forma que o sistema de mensagens por email transformou a comunicação comercial, a colaboração baseada na Web está mudando a maneira como as pessoas trabalham juntas e compartilham informações. Como um bom exemplo disso, observe o que a tecnologia do SharePoint oferece. Com o WSS (Microsoft Windows SharePoint Services) 3.0 e o MOSS
(Microsoft Office SharePoint Server) 2007, é possível criar sites de equipe, portais, soluções em gerenciamento de conteúdo da Web, bibliotecas de documentos e centros de pesquisa, isso sem mencionar a integração do 2007 Microsoft® Office system, os formulários baseados em XML, os fluxos de trabalho, o suporte à mobilidade etc.
No entanto, a introdução ao SharePoint® nem sempre é simples. A terminologia pode ser confusa. A arquitetura do sistema pode ser complexa, e o SharePoint exige que você lide com vários componentes, dentre os quais estão o IIS, o Microsoft .NET Framework, o SQL Server® e possivelmente outras tecnologias como, por exemplo, Business Intelligence, InfoPath® Forms Services, RMS (Rights Management Services), Exchange Server e ForefrontTM Security.
É possível se perder rapidamente em meio a integrações e personalizações, dadas as muitas abordagens possíveis para criar soluções em SharePoint, independentemente de ser por meio da interface do usuário interna ou programaticamente. Além disso, quando um aplicativo do SharePoint não funciona, a solução de problemas pode ser complicada. Muitas vezes, você deve ter a cabeça de um desenvolvedor de aplicativo para compreender os componentes envolvidos e a forma como eles interagem. Com todos esses desafios, por onde você começa a criar uma infra-estrutura do SharePoint eficiente, escalonável e gerenciável?
Nesta coluna, mostrarei como começar inicialmente estabelecendo as bases com uma discussão sobre a arquitetura em alto nível e, em seguida, mergulhando na implantação do WSS, incluindo personalizações extremamente básicas da identidade visual. Usando o recurso Self-Service Site Management do WSS 3.0, você verá como delegar permissões para criar e gerenciar sites do SharePoint a usuários individuais ao mesmo tempo em que mantém o controle administrativo centralizado sobre a infra-estrutura do SharePoint.
Observando primeiramente a arquitetura do SharePoint, fica mais fácil compreender as etapas da implantação e da configuração necessárias à implementação de uma infra-estrutura flexível e escalonável. Portanto, vejamos rapidamente as dependências e, em seguida, passamos diretamente à implantação do WSS 3.0. Para obter instruções detalhadas quanto à implantação, consulte o material complementar para referência. É possível encontrar esse material na seção de downloads do site da TechNet Magazine em technetmagazine.com.

Arquitetura do SharePoint
Com o SharePoint, é importante pensar na tecnologia do ponto de vista de um arquiteto de sistema. Você não precisa saber todos os mínimos detalhes, mas caso esteja familiarizado com as dependências gerais que surgem da arquitetura do SharePoint, você pode chegar mais rapidamente a soluções porque é possível prever o necessário à configuração e o porquê.
O SharePoint é uma tecnologia destinada a provisionar aplicativos Web e sites. Trata-se de uma solução em site baseada no IIS que se integra ao IIS por meio do ASP.NET e que conta com um back-end do banco de dados do SQL Server para armazenar dados e conteúdo da configuração. Em suma, o SharePoint combina três arquiteturas diferentes em seu núcleo (IIS, .NET e SQL Server), como ilustrado na Figura 1.
Figure 1 WSS 3.0 architecture based on IIS 6.0 and ASP.NET 3.0
Figure 1 WSS 3.0 architecture based on IIS 6.0 and ASP.NET 3.0
Não deixe que o diagrama o intimide. A arquitetura pode parecer exagerada inicialmente, considerando o número impressionante de componentes. Mas todos eles se encaixam em uma estrutura lógica que, quando examinada sistematicamente, esclarece as dependências do componente.
Conforme a representação, o SharePoint depende do IIS e do ASP.NET para lidar com solicitações e respostas HTTP. Componentes padrão do IIS como, por exemplo, o driver de modo kernel HTTP (http.sys) e o Processo de Trabalho (w3wp.exe), realizam o enfileiramento inicial e o roteamento das solicitações até que elas cheguem ao filtro ISAPI do ASP.NET (aspnet_isapi.dll). Quando você instala o .NET Framework, a rotina de instalação registra aspnet_isapi.dll na metabase do IIS (C:\Windows\System32\Inetsrv\metabase.xml) da seguinte forma:
InProcessIsapiApps="C:\WINDOWS\system32\inetsrv\httpext.dll
C:\WINDOWS\system32\inetsrv\httpodbc.dll
C:\WINDOWS\system32\inetsrv\ssinc.dll
C:\WINDOWS\system32\msw3prt.dll
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll"
Assim que o IIS carrega o filtro ISAPI do ASP.NET, todas as solicitações de entrada referentes a um site podem ser passadas para o ASP.NET, o que é importante porque o SharePoint deve acabar recebendo essas solicitações por meio do ASP.NET. Para conseguir isso, o SharePoint estende a configuração do site selecionado adicionando um mapa de aplicativo curinga que roteia todas as solicitações de entrada, independentemente da extensão do nome do arquivo, para o filtro ISAPI do ASP.NET.
É possível ver isso no Gerenciador do IIS depois da instalação do WSS 3.0 usando a opção de instalação Básica. A rotina de instalação do WSS desativa o site do IIS padrão existente no servidor e cria um novo site padrão na porta 80 em que o mapa de aplicativo curinga do ASP.NET está definido, como mostrado na Figura 2.
Figure 2 Wildcard application map for ASP.NET ISAPI filter
Figure 2 Wildcard application map for ASP.NET ISAPI filter
Para que o ASP.NET, por sua vez, passe as solicitações para o SharePoint, este também deve estender o Pipeline de Solicitação HTTP em meio a um objeto HttpApplication personalizado, implementado por meio de uma classe chamada SPHttpApplication no assembly do Microsoft.SharePoint. O SharePoint define esse objeto de aplicativo personalizado no arquivo de aplicativo do ASP.NET (global.asax), que é possível encontrar no sistema de arquivos, na pasta raiz dos sites do SharePoint estendido. O seguinte código lista o conteúdo desse arquivo global.asax:
<%@ Assembly Name="Microsoft.SharePoint"%>
<%@ Application Language="C#" Inherits="Microsoft.SharePoint.ApplicationRuntime.SPHttpApplication" %>
O ASP.NET analisa dinamicamente e compila esse arquivo para instanciar o objeto de aplicativo do SharePoint.
Para cada solicitação recebida, o ASP.NET dispara uma série de eventos que o aplicativo Web pode processar como, por exemplo, BeginRequest, AuthenticateRequest, ProcessRequest e EndRequest. Os detalhes da manipulação de eventos estão além do escopo da implantação e do gerenciamento do SharePoint, embora seja importante saber que, além de SPHttpApplication especificado em global.asax, o SharePoint implementa identificadores HTTP personalizados e módulos definidos no arquivo web.config do site. Por exemplo, o SharePoint usa um módulo HTTP baseado na classe SPRequestModule, registrado como sendo o primeiro módulo HTTP antes dos módulos padrão do ASP.NET. SPRequestModule inicializa o ambiente de runtime do SharePoint como, por exemplo, registrando um componente SPVirtualPathProvider com o ASP.NET. SPRequestModule se destina ao uso interno do SharePoint, mas os desenvolvedores de solução em SharePoint podem modificar o arquivo web.config para registrar componentes adicionais como, por exemplo, manipuladores e módulos HTTP. Por meio de módulos HTTP personalizados e padrão, o SharePoint usufrui o ASP.NET ao mesmo tempo em que mantém um controle rígido sobre todas as solicitações para aplicativos do SharePoint.
Observe que, quando você cria um aplicativo Web usando o site de Administração Central do SharePoint 3.0, o WSS adiciona o mapa de aplicativo curinga do ASP.NET ao site do IIS selecionado e cria os arquivos global.asax e web.config na pasta raiz do site. Cada aplicativo Web usa seu próprio conjunto de arquivos global.asax e web.config de nível superior.
Para processar solicitações e retornar informações significativas para os navegadores, o WSS 3.0 e o MOSS 2007 contam com o analisador de páginas padrão do ASP.NET, que compila as páginas do ASP.NET solicitadas ou as processa no modo de não-compilação. Mas as páginas do ASP.NET que o SharePoint passa para o analisador do ASP.NET não estão necessariamente localizadas onde aparentam existir. Por exemplo, você não poderá encontrar um arquivo default.aspx na pasta raiz de um site do SharePoint estendido como, por exemplo, o site de Administração Central do SharePoint 3.0, ainda que esteja abrindo default.aspx ao exibir a home page do site. É o componente SPVirtualPathProvider que virtualiza o ambiente carregando o conteúdo da página no sistema de arquivos local ou em um banco de dados de conteúdo do SQL Server e passando-o como um arquivo virtual para o analisador de páginas do ASP.NET. Para o site de Administração Central, o SharePoint carrega o arquivo default.aspx na pasta C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\TEMPLATE\SiteTemplates\CentralAdmin.
A home page, bem como a maior parte das demais páginas do site do SharePoint, está vinculada a uma página mestra do ASP.NET (default.master) que implementa um mesmo layout para menus e controles de navegação. Default.master reside na pasta C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\Template\Global e inclui espaços reservados nomeados para mais páginas de conteúdo que também podem residir no sistema de arquivos local ou em um banco de dados de conteúdo do SQL Server. O ponto-chave é que, ao abrir um site do SharePoint em um navegador da Web, você está, na verdade, exibindo informações de uma coleção de páginas de conteúdo que não estão necessariamente localizadas no servidor Web local e que estão organizadas de acordo com um layout definido em uma página mestra.
A regra geral é que as páginas não-modificadas (ou não-personalizadas, na terminologia do SharePoint) existem como modelos de página no sistema de arquivos local de todos os servidores do SharePoint e que as páginas personalizadas são gravadas no banco de dados de conteúdo para que todos os servidores do SharePoint em um web farm tenham acesso ao mesmo conjunto de páginas (consulte a Figura 3). Pressupõe-se que as páginas não-personalizadas sejam idênticas em todos os servidores e sites do web farm. No entanto, caso você personalize uma página de conteúdo ou uma página mestra em um site do SharePoint, talvez usando o Office SharePoint Designer 2007, o SharePoint armazena automaticamente a página personalizada no banco de dados do conteúdo.
Figure 3 Uncustomized and customized ASP.NET pages in a SharePoint application
Figure 3 Uncustomized and customized ASP.NET pages in a SharePoint application
Além de páginas personalizadas e outros conteúdos do site, o SharePoint também armazena dados de configuração em um banco de dados do SQL Server. O SharePoint mantém os dados de configuração separados do conteúdo porque eles são globais por natureza e o conteúdo, específico de cada aplicativo Web individual e conjunto de sites. Dessa forma, um web farm só pode ter um único banco de dados de configuração, embora possa ter vários bancos de dados de conteúdo.
Todos os servidores do WSS no web farm usam o mesmo banco de dados de configuração para compartilhar metadados, definições de configuração e informações sobre todos os sites do IIS em que o SharePoint foi estendido no web farm. Por outro lado, aplicativos Web podem ser associados a um ou mais bancos de dados de conteúdo (ainda que cada um deles só possa ser associado a um aplicativo Web).
A relação entre sites do IIS, aplicativos Web, conjuntos de sites, sites e bancos de dados de conteúdo pode ser confusa. Na terminologia do SharePoint, o termo aplicativo Web se refere a um site do IIS com o SharePoint estendido. Um aplicativo Web pode incluir vários conjuntos de sites e cada conjunto pode, mais uma vez, incluir um site de nível superior e sites de níveis inferiores que compartilham as mesmas definições de configuração.
Dentre outras coisas, a criação de vários conjuntos de sites permite delegar a administração do conjunto de sites a usuários e grupos diferentes. Um único conjunto de sites não pode incluir vários bancos de dados de conteúdo, mas um aplicativo Web pode usar vários bancos de dados de conteúdo em vários conjuntos de sites para aumentar a escalabilidade e atenuar o impacto sobre o desempenho de um site grande que gera um volume significativo de atividade de banco de dados em outros sites do SharePoint. No entanto, não é boa idéia colocar todos os sites do SharePoint em seu próprio conjunto porque essa forma de implantação limita a funcionalidade entre sites.
O WSS 3.0 não dá suporte a pesquisas de conteúdo em vários conjuntos de sites. Elas exigem o MOSS 2007 ou o Microsoft Search Server 2008. Por exemplo, é possível criar um aplicativo Web e o site de nível superior para http://contoso, e o administrador de um conjunto de sites pode criar sites de nível inferior usando a interface do usuário do SharePoint como, por exemplo, http://contoso/info e http://contoso/events. Todos esses sites estão no mesmo banco de dados de conteúdo porque pertencem ao mesmo conjunto de sites.
Como administrador de um farm, você também pode usar um caminho gerenciado como, por exemplo, /sites e, em seguida, definir conjuntos de sites como http://contoso/sites/IT e http://contoso/sites/HR na Administração Central do SharePoint 3.0. Esses três conjuntos de sites (http://contoso, http://contoso/sites/IT e http://contoso/sites/HR) podem ter administradores, definições de configuração e bancos de dados de conteúdo diferentes, mas continuam todos sendo acessados por meio do mesmo site do IIS (http://contoso) e usam a mesma identidade do pool de aplicativos do aplicativo Web.
É claro que há muito mais detalhes, mas é especialmente importante compreender essa relação entre o IIS, o ASP.NET e o SQL Server para se sentir confortável em relação ao SharePoint. Caso você esteja interessado em ler mais sobre a arquitetura do SharePoint, recomendo o artigo "Descubra aprimoramentos significativos feitos para o desenvolvedor no SharePoint Services", de Ted Pattison, publicado na MSDN® Magazine e disponível em msdn.microsoft.com/msdnmag/issues/06/07/WSS30Preview.

Elementos da infra-estrutura do SharePoint
Agora traduzamos a nossa breve discussão sobre a arquitetura em uma infra-estrutura do SharePoint flexível. Como você certamente deve ter percebido, precisamos do Windows Server®, do IIS, do .NET Framework 3.0 (para o ASP.NET e o Windows® Workflow Foundation), do WSS 3.0 ou do MOSS 2007 e do SQL Server. Embora seja possível aguardar o IIS 7.0 no Windows Server 2008, usaremos o IIS 6.0 no Windows Server 2003, tendo em vista os nossos propósitos, porque no momento da redação deste artigo, trata-se da versão mais implantada. Continuaremos com o WSS 3.0 porque não precisamos de nenhum recurso específico do MOSS 2007 para um piloto inicial do SharePoint.
Em uma abordagem minimalista, é possível instalar o WSS 3.0 com todos os componentes obrigatórios em um único computador (como descrito no WSS 3.0, em single computer.pdf, disponível no material complementar desta coluna), o que é bom o bastante para um servidor em laboratório ou um ambiente de grupo de trabalho pequeno. No entanto, caso pretenda se concentrar na flexibilidade da infra-estrutura do SharePoint, você não deve começar com uma implantação autônoma no ambiente de produção. Tendo em vista a disponibilidade, bem como a futura escalabilidade, é melhor começar com uma infra-estrutura em várias camadas e adicionar mais servidores conforme necessário.
A Figura 4 mostra a infra-estrutura do SharePoint que recomendo caso você esteja em busca de uma configuração de sistema bem simples e flexível. Ela inclui um web farm dos dois servidores do SharePoint e um computador separado com o SQL Server em execução. Essa configuração elimina a sobrecarga do processamento do banco de dados nos servidores Web, aumenta a disponibilidade, a escalabilidade, além de facilitar a manutenção do sistema. Observe que você realmente precisa do Active Directory® por se tratar de um requisito de software do WSS 3.0 na implantação de um web farm. Para obter instruções passo a passo quanto à implantação, consulte o arquivo Basic SharePoint Infrastructure.pdf no material complementar.
Figure 4 Basic SharePoint infrastructure that can accommodate future growth
Figure 4 Basic SharePoint infrastructure that can accommodate future growth
A conta de domínio que você usa para implantar o SharePoint nessa disposição exige as permissões de um administrador local nos servidores Web. Também é necessário adicionar essa conta às funções do SQL Server dbcreator e securityadmin, bem como à função db_owner do banco de dados mestre no SQL Server 2005, como mostrado em Basic SharePoint Infrastructure.pdf. Em seguida, é possível usar o Assistente de Configuração de Produtos e Tecnologias do SharePoint durante a instalação do WSS 3.0 para criar o banco de dados de configuração necessário ao farm de servidores Web e um banco de dados de conteúdo para o site de Administração Central do SharePoint 3.0. Do contrário, um administrador do SQL Server deve provisionar esses bancos de dados para você e adicionar as contas de sistema do WSS à função db_owner.
É importante se lembrar de que a conta de usuário que você usa para instalar o SharePoint não é a conta que o SharePoint usa para acessar os bancos de dados de configuração ou de conteúdo do site de Administração Central. Na verdade, o SharePoint usa a conta de sistema configurada como sendo a identidade do pool de aplicativos do site de Administração Central do SharePoint 3.0.
O Assistente de Configuração de Produtos e Tecnologias do SharePoint solicitará a você as informações da conta. É uma boa idéia usar uma conta de usuário de domínio dedicado para isso como, por exemplo, CONTOSO\WssConfigAdmin. A minha prática geral tem sido usar contas de usuário individuais, dedicadas, para todos os aplicativos Web adicionais criados por mim antes. Usar um pool de aplicativos separado para cada aplicativo Web ajuda a garantir o isolamento do processo e o uso de uma conta de usuário diferente para cada pool de aplicativos ajuda a manter o isolamento da segurança. Porém, deve-se observar que se trata de apenas uma abordagem, e a capacidade de gerenciamento e o impacto potencial sobre o desempenho devem ser avaliados em relação ao próprio ambiente e aos requisitos comerciais.
Outra conta de sistema importante que um administrador de domínio deve criar para você é a conta do serviço de pesquisa. É possível usar a conta da Administração Central, mas tendo em vista a segurança agregada, é melhor usar uma conta de pesquisa dedicada como, por exemplo, CONTOSO\WssSearch, que não tem nenhuma permissão administrativa e que não pode modificar nenhum conteúdo. As permissões de gravação nos bancos de dados de conteúdo não são necessárias porque o serviço de pesquisa só rastreia conteúdo para fins de indexação e mantém os dados da pesquisa em um banco de dados separado.
Ao criar um aplicativo Web em um farm de servidores, você pode associar esse banco de dados de conteúdo a um servidor de pesquisa, que adiciona implicitamente a conta do serviço de pesquisa correspondente à diretiva Leitura Completa do aplicativo Web. Os servidores de pesquisa são servidores do SharePoint que executam o serviço Pesquisa do Windows SharePoint Services. Caso tenha seguido as instruções passo a passo do arquivo Basic SharePoint Infrastructure.pdf file, você configurou ambos os servidores Web como servidores de pesquisa e, dessa forma, é possível distribuir a carga do rastreamento e da indexação de vários bancos de dados de conteúdo. No entanto, também é possível configurar um servidor de pesquisa dedicado em um web farm, excluído do balanceamento de carga e das conexões de cliente para que estas não sejam afetadas por atividades de rastreamento.

Gerenciamento de sites de auto-atendimento
Com uma infra-estrutura do SharePoint básica in-loco, podemos delegar a administração dos conjuntos de sites e dos sites a departamentos individuais e a usuários sem descentralizar o controle administrativo sobre o Active Directory, o farm de servidores Web ou os bancos de dados do SQL Server. Como um administrador do farm, você colabora com os administradores do Active Directory e do SQL Server para provisionar contas do pool de aplicativos e bancos de dados de conteúdo para os aplicativos Web. Nesses aplicativos Web, você acaba criando conjuntos de sites e designando a administradores desses conjuntos o direito de criar sites de nível inferior. Dessa forma, os administradores de conjuntos de sites dentro de departamentos individuais podem gerenciar os recursos do SharePoint com um mínimo de envolvimento do departamento de TI, como ilustrado na Figura 5.
Figure 5 Decentralized site administration in a centralized SharePoint infrastructure
Figure 5 Decentralized site administration in a centralized SharePoint infrastructure
Também é possível dar aos usuários a possibilidade de criar conjuntos de sites em caminhos gerenciados (como, por exemplo, o caminho /sites ou outros caminhos gerenciados com inclusões curingas criadas por você na Administração Central do SharePoint 3.0). Caso você habilite o recurso Self-Service Site Management em um aplicativo Web, os usuários podem criar conjuntos de sites próprios e gerenciar grupos de sites e permissões na interface do usuário do SharePoint. Diferentemente dos sites de nível inferior, os conjuntos de sites não herdam as permissões de um site pai.
O Self-Service Site Management não é apropriado a qualquer ambiente do SharePoint, permanecendo desabilitado por padrão. Caso o habilite, você pode acabar tendo um grande número de conjuntos de sites usados com pouca freqüência nos bancos de dados de conteúdo. No entanto, esse recurso demonstra bem a flexibilidade da administração do SharePoint, e recomendo que você o verifique na implantação do piloto. (Além disso, existem opções no SharePoint para notificar usuários e/ou administradores a respeito de sites inativos para que estes possam ser removidos se necessário.) Você deve habilitar o Self-Service Site Management para um aplicativo Web explicitamente, conforme descrito no arquivo Enabling Self-Service Site Management.pdf do material complementar.

Personalizações e identidade visual do SharePoint
Recursos do SharePoint
  • TechCenter do Windows SharePoint Services
  • Windows SharePoint Services Developer Center
  • Blog da equipe de produtos e tecnologias do Microsoft SharePoint
  • Componentes da arquitetura lógica
  • Projetar farms de servidores e topologias

A esta altura, é um desejo natural incluir o logotipo da empresa, o nome e as cores comerciais na interface do usuário do SharePoint. Porém, lembre-se de que você está prestes a migrar o projeto do SharePoint para o nível de desenvolvedor do ASP.NET. No mínimo, você precisa de um sistema de desenvolvimento como, por exemplo, um servidor do WSS 3.0 autônomo com o Microsoft Office SharePoint Designer 2007 (consulte SharePoint Designer Installation.pdf no material complementar) para que seja possível criar e testar as personalizações sem afetar o ambiente do produto. Além disso, você deve visitar o Windows SharePoint Services Developer Center em msdn2.microsoft.com/sharepoint para saber mais sobre a abundância de opções em personalização oferecidas pelo SharePoint.
Embora o desenvolvimento do SharePoint esteja fora do escopo desta coluna, me permita indicar alguns aspectos que você deve levar em consideração. O SharePoint armazena páginas personalizadas no banco de dados de conteúdo do conjunto de sites correspondente. Em outras palavras, todas as personalizações aplicadas a páginas do site, páginas do aplicativo, páginas mestras, folhas de estilos etc. em um site do SharePoint só são aplicadas no nível do conjunto de sites ou do site. Isso é ótimo para administradores de conjuntos de sites individuais que desejam ajustar a aparência de seus sites usando o SharePoint Designer 2007, mas não tão bom assim para o administrador do farm que deseja impor a identidade corporativa em todos os aplicativos Web, conjuntos de sites e sites em um Web farm.
É possível criar temas ou definições de site personalizados com base em uma cópia de um tema ou definição de site do SharePoint padrão. Também é possível criar páginas mestras personalizadas e adicioná-las à Galeria de Páginas Mestras. No entanto, nenhuma dessas opções impõe a identidade visual global caso Self-Service Site Management esteja habilitado porque um usuário com as permissões para criar conjuntos de sites ou sites ainda pode selecionar um modelo de site padrão que não mostra a identidade corporativa.
A identidade visual global exige que você substitua os componentes do SharePoint padrão para que os componentes personalizados sejam usados em seu lugar. Os desenvolvedores percorrem grandes distâncias para conseguir isso sem modificar os arquivos originais. Uma abordagem é alterar a configuração dos diretórios virtuais no Gerenciador do IIS e apontá-los para novas pastas com arquivos personalizados. Outro método é implementar um módulo HTTP personalizado ou filtro ISAPI que reescreve as URLs a fim de redirecionar as solicitações de páginas padrão específicas para versões personalizadas.

Conclusão
Concentrei-me nas informações gerais do estabelecimento de uma infra-estrutura do SharePoint com o WSS 3.0. Não abordei outros recursos como, por exemplo, fluxos de trabalho, pesquisas, integração do sistema de mensagens e antivírus, nem funcionalidade específica do MOSS 2007 como, por exemplo, portais, diretórios de sites e catálogos de dados corporativos. As personalizações da administração do site e da identidade visual da empresa também abordam apenas as possibilidades dentro do SharePoint. É possível realizar mais personalizações com o WSS 3.0 programando aplicativos personalizados no Visual Studio®.
A infra-estrutura é eficiente o bastante para lidar com crescimento futuro caso você adicione mais servidores Web ou servidores de banco de dados. E, com a distribuição piloto de algumas personalizações, os usuários podem criar sites individuais e normalmente se familiarizam com o SharePoint. Dessa forma, você estabelece os componentes básicos da adoção do usuário, bem como o hardware e o software, que são flexíveis o suficiente para acomodar a alteração e servem de base para uma distribuição completa da produção.

Pav Cherny é especialista em TI e autor especializado em tecnologias Microsoft para colaboração e comunicação unificada. Entre suas publicações estão white papers, manuais de produto e livros com foco nas operações de TI e na administração do sistema. Pav é presidente da Biblioso Corporation.


 Windows PowerShell: Automatizando o gerenciamento de diret&#243;rios
Windows PowerShell
Automatizando o gerenciamento de diretórios
Don Jones

Um dos elementos mais prejudiciais à primeira versão do Windows PowerShell foi o cronograma. A equipe do Windows PowerShell sofreu alguma pressão para entregar o produto (havia um certo produto, chamado Exchange Server 2007, que dependia do Windows PowerShell) e a equipe do Active
Directory tinha muito a fazer naquele momento (um outro produto, chamado Windows Server® 2008, já estava em andamento). Por isso, o Windows PowerShell foi lançado com recursos de gerenciamento do Active Directory® inferiores ao esperado.
Na verdade, os recursos para o Active Directory não estão completamente ausentes do Windows PowerShell®. A equipe do Windows PowerShell fez um enorme esforço de última hora para incluir um suporte aceitável para ADSI (Interface de Serviços do Active Directory), uma tecnologia amigável para scripts já conhecida dos usuários do VBScript.

O método baseado na ADSI
A ADSI é semelhante à WMI (Instrumentação de Gerenciamento do Windows®) em sua forma de funcionamento. Você emite uma consulta, que é gravada com o uso de uma sintaxe especial. A consulta é transmitida a um computador remoto (como um controlador de domínio) e executada. O resultado da consulta é um objeto ou uma coleção de objetos do Active Directory (como um usuário ou um grupo) e você obtém uma referência àquele objeto com a qual pode trabalhar. É possível modificar propriedades do objeto ou executar métodos para salvar suas alterações, criar novos objetos, excluir objetos, e assim por diante. Para criar um usuário, por exemplo, você deve consultar a UO (unidade organizacional) ou o contêiner onde quer que o usuário resida. O objeto obtido tem um método Create, que pode ser usado para criar o usuário.
Em um nível muito básico, usar a ADSI no Windows PowerShell parece algo simples e direto. Por exemplo, este comando recupera um usuário e exibe seu atributo Company:
$user = [ADSI]"LDAP://cn=Ringo,ou=Singers,dc=company,dc=pri"
$user.Get("Company")
Você pode canalizar o usuário para Get-Member para ver suas propriedades e métodos. É uma pena que o Windows PowerShell 1.0 não conte com uma implementação realmente eficaz desses objetos de diretório. Como mostra a Figura 1, o shell não enumera os atributos de diretório do objeto nem exibe seus métodos — como o método Get que usei.
Figure 1 Piping the user to Get-Member to see its properties
Figure 1 Piping the user to Get-Member to see its properties
Esse suporte foi um pouco aperfeiçoado na CTP (Community Technology Preview) do Windows PowerShell 2.0, mas só até certo ponto. Conclui-se que o Microsoft® .NET Framework subjacente não permite aos administradores ver facilmente o que desejam, afinal o Framework foi projetado originalmente para desenvolvedores. O outro problema é que a equipe do Windows PowerShell não pode ir além disso, e um ótimo suporte para o Active Directory precisa vir de quem realmente entende de diretórios. Ou seja, da equipe do Active Directory. Tenho certeza de que isso acontecerá no seu devido tempo, afinal o Windows PowerShell ainda é muito recente. Mas o que você deve fazer enquanto isso?
Talvez você se lembre de que abordei o uso das tecnologias de ADSI incluídas no Windows PowerShell na edição de junho de 2007 desta coluna (technetmagazine.com/issues/2007/06/PowerShell). Sugiro que você releia a coluna se quiser obter mais detalhes sobre essa técnica "nativa". Nesta edição, quero mostrar algumas outras abordagens.

Um ecossistema avançado
O arquiteto do Windows PowerShell, Jeffrey Snover, geralmente menciona o ecossistema avançado que circunda o Windows PowerShell. Isso significa, simplesmente, que a equipe fez um ótimo trabalho garantindo que qualquer pessoa, e não apenas os programadores da Microsoft, possa estender os recursos do Windows PowerShell. Várias empresas já têm feito isso, criando cmdlets nativos do Windows PowerShell que permitem administrar seus produtos a partir da linha de comando — VMWare, IBM, Citrix e Foundry são algumas das principais empresas a atuar dessa forma até agora.
Um dos meus exemplos favoritos desse ecossistema avançado é o software da Quest. A empresa oferece um conjunto de cmdlets gratuitos, não-comerciais, projetados para o gerenciamento do Active Directory. Você pode baixá-los em quest.com/powershell. Eles também oferecem a PowerGUI (powergui.org), uma interface gráfica do usuário gratuita e não-comercial baseada no Windows PowerShell, destinada aos profissionais que ainda não estão preparados para aderir totalmente à experiência de uso da linha de comando. A PowerGUI torna mais fácil o aprendizado para usar os cmdlets de gerenciamento do Active Directory. E, pode acreditar, você vai querer usá-los. Esses cmdlets proporcionam facilidade e capacidade sem precedentes para o gerenciamento do Active Directory (caso você queira ler mais sobre a PowerGUI, ela foi incluída na edição de janeiro de 2008 da coluna Toolbox, que pode ser encontrada em technetmagazine.com/issues/2008/01/Toolbox).

O método baseado no Windows PowerShell
Qualquer processo que envolva cmdlets é a verdadeira forma de trabalhar com o Windows PowerShell. Não é preciso lidar com scripts de aparência tradicional nem com objetos de programação extravagantes. Eis aqui a linha de comando da qual mais gosto. É uma única linha de comando que importa um arquivo CSV e usa as informações contidas nele para criar dezenas ou até mesmo centenas de novos usuários do Active Directory:
Import-CSV 'C:\provision1.csv' |
ForEach-Object {New-QADUser -organizationalUnit 'company.pri/Singers' -name ($_.'First Name' + '.' + $_.'Last Name')
-samAccountName $_.'Logon name' -city $_.city -title $_.'Job title' -department $_.department}
É mesmo um comando longo, mas é incrivelmente poderoso. Ele começa com Import-CSV, um cmdlet nativo do shell que simplesmente lê um arquivo CSV e retorna objetos. Cada linha do arquivo CSV é um objeto único e as colunas do arquivo CSV tornam-se propriedades do objeto. No meu arquivo Provision1.csv, as colunas têm nomes do tipo "Logon Name" e "First Name". Isso é interessante porque os nomes das colunas não são mapeados diretamente para os atributos de usuários do Active Directory. Acho que é comum arquivos assim utilizarem nomes de colunas que soem mais familiares, em vez de nomes específicos do Active Directory. Afinal, talvez você receba o arquivo de alguém do departamento de recursos humanos da sua empresa, e é provável que eles não saibam que Last Name é realmente o atributo sn do Active Directory.
Quando todos os dados no arquivo CSV tiverem sido importados e transformados em objetos, esses objetos serão canalizados para o cmdlet ForEach-Object, que executará um bloco de código — entre chaves na minha linha de comando — para cada objeto. Ou seja, esse script será executado uma vez para cada linha no arquivo CSV. No script, a variável especial $_ é uma referência ao objeto atual — ou seja, a linha atual do arquivo CSV.
Você pode ver que, para cada objeto, executo o cmdlet New-QADUser. Ele faz parte das dezenas de cmdlets no suplemento da Quest. O nome QADUser é digno de nota. O Q, como você deve ter adivinhado, significa Quest. Essa convenção de nomenclatura foi criada para evitar um conflito entre o eventual cmdlet New-ADUser que a equipe do Microsoft Active Directory provavelmente produzirá no futuro. Assim, se os dois cmdlets forem carregados no shell ao mesmo tempo, você e o shell poderão distingui-los facilmente.
O restante da linha de comando consiste em parâmetros do cmdlet New-QADUser. Ele começa especificando a organizationalUnit, o local onde você deseja que todos os novos usuários sejam criados. Em seguida, vem o atributo de nome, que defini como o conteúdo da coluna First Name, seguido de um ponto e do conteúdo da coluna Last Name.
Um último fato interessante: o parâmetro de cidade irá, na verdade, alterar o atributo l (ou Locality-Name) do Active Directory. O cmdlet também aceita um parâmetro chamado l, que faz a mesma coisa. Em geral, os parâmetros relacionados a atributos do Active Directory podem usar o nome do atributo ou o rótulo de texto da ferramenta Usuários e Computadores do Active Directory.

O outro método baseado no Windows PowerShell
O Active Directory é um armazenamento hierárquico e um dos pontos fortes do Windows PowerShell é a capacidade de expor qualquer armazenamento hierárquico como uma unidade de disco. Isso permite usar um conjunto familiar de comandos, como Dir, Del, Ren, Copy, e assim por diante, para gerenciar diversos armazenamentos. Infelizmente, o Windows PowerShell 1.0 não foi lançado com um fornecedor PSDrive para o Active Directory, ou seja, o shell não tem como expor o Active Directory em si como uma unidade.
Mas, felizmente, o ecossistema avançado volta a entrar em cena com as PowerShell Community Extensions. Esse suplemento gratuito, de código aberto, está disponível em codeplex.com/powershellcx. Depois de instaladas, as PowerShell Community Extensions permitem simplesmente direcionar o shell para o seu nome de domínio, para que você comece a gerenciar o diretório como se fosse uma unidade:
CD COMPANY:
CD SINGERS
DIR
Esses comandos farão a alteração para o domínio COMPANY e para a UO Singers e, depois, exibirão uma lista de objetos, conforme mostrado na Figura 2. A partir daí, posso usar comandos como Del para excluir um usuário, Md para criar uma nova UO, e assim por diante. Há algumas armadilhas no fornecedor PSDrive das Community Extensions. Basicamente, elas estão relacionadas a funções que esperaríamos ter implementadas, mas que não estão disponíveis porque nem tudo é mapeado para a forma como o próprio Active Directory trabalha. E é preciso ter muita cautela: fazer a alteração para a raiz do seu domínio e executar o recurso del * irá, na verdade, excluir todos os objetos no domínio, desde que você tenha permissão. Por padrão, não será pedida nem a sua confirmação. A linha de comando é mesmo poderosa, mas isso traz riscos para alguém que não tenha conhecimento e cautela suficientes.
Figure 2 Using the PowerShell Community Extensions to direct the shell and manage the directory
Figure 2 Using the PowerShell Community Extensions to direct the shell and manage the directory

Comece hoje mesmo a usar o shell
Meus alunos sempre perguntam o que podem fazer hoje com o Windows PowerShell. Afinal, nem todos os produtos da Microsoft foram reprojetados para usar o Windows PowerShell e, à primeira vista, pode parecer que o Windows PowerShell ainda está em um período de espera para tornar-se realmente interessante.
Na verdade, já é interessante. Embora a Microsoft ainda não tenha instrumentado o Active Directory para o gerenciamento via linha de comando, outros já fizeram algumas tentativas e saíram-se muito bem. Você pode usar o Windows PowerShell para realizar diversas tarefas administrativas, inclusive automatizar algumas das mais demoradas e cansativas, como a criação de lotes de novos usuários. O grande truque é descobrir o que a comunidade tem feito para aumentar a utilidade atual do Windows PowerShell (talvez você queira explorar o site PowerShellCommunity.org, co-patrocinado pela Microsoft, que eu ajudo a administrar). Com as ferramentas certas carregadas no Windows PowerShell, comece a criar scripts para aquelas tarefas administrativas demoradas que você não quer fazer e torne-se um administrador bem mais eficiente.

Don Jones é co-autor do livro Windows PowerShell: TFM, 2nd Edition (Windows PowerShell: TFM, 2a edição), autor do livro VBScript, WMI, and ADSI Unleashed (Liberando o potencial de VBScript, WMI e ADSI) e diretor do site PowerShellCommunity.org.


 Ei, Equipe de Scripts!: Levantando as sobrancelhas em express&#245;es regulares
Ei, Equipe de Scripts!
Levantando as sobrancelhas em expressões regulares
The Microsoft Scripting Guys
Faça o download do código deste artigo:: HeyScriptingGuy2008_05.exe (150KB)

Rememorando novembro de 2007 , a Equipe de Scripts passa um dia em Paris durante a escala até a conferência Tech•Ed IT Forum realizada em Barcelona. Durante a nossa parada temporária de um dia, tivemos a oportunidade de visitar o Louvre, o museu mais famoso do mundo na cidade.
E como a Equipe de Scripts achou o Louvre? É simples: fomos até a Notre Dame e olhamos à esquerda.
Ah, você quer dizer o que achamos do Louvre? No geral, gostamos. O único problema que tivemos foi que o Louvre, assim como muitos museus, funciona em um modelo olhe-mas-não-toque. Todo mundo sabe que a Mona Lisa ficaria melhor se tivesse sobrancelhas, mas, por alguma razão, as pessoas que administram o Louvre ficam muito zangadas se você tenta corrigir algum dos quadros que estão lá.
Observação: na verdade, todos da Equipe de Scripts gostaram da Mona Lisa. Foi uma surpresa agradável também; depois de toda atenção e repercussão, tínhamos receio de que ele talvez fosse só mais um quadro. Mas não era; ele era bem legal. (Ainda que eu colocasse um pouco de sobrancelha.) Porém, curiosamente, ficamos desapontados com a igualmente famosa Venus de Milo. Nenhum de nós achou a obra tão espetacular assim, e quem escreve esta coluna em nome da Equipe de Scripts ficou perplexo com a idéia da Venus de Milo como um todo. Uma escultura de uma mulher sem braços? Como ela limpava o chão ou lavava a louça!?!
Observação destinada a nossas leitoras (pressupondo que ainda haja alguma): é claro que houve um equívoco. O que queria dizer era: uma escultura de uma mulher sem braços? E mesmo assim ela é capaz de fazer duas vezes o trabalho de qualquer homem, e corretamente.
A Equipe de Scripts pede desculpas por qualquer mal-entendido que a frase original possa ter criado.
De qualquer forma, no momento em que pusemos os olhos nos grandes tesouros do Louvre, passou pela cabeça de duas pessoas da Equipe de Scripts um mesmo pensamento: onde estão os banheiros? Durante a procura, o responsável por esta coluna da Equipe de Scripts teve outro pensamento: a Equipe de Scripts é hipócrita. Afinal, reclamamos de que o Louvre não nos deixaria corrigir a Mona Lisa. E, ao mesmo tempo, somos culpados em um pecado semelhante. Na edição de janeiro de 2008 da TechNet Magazine, escrevemos um artigo sobre como usar expressões regulares em um script. Isso é o equivalente a um exemplo essencial do olhe-mas-não-toque: mostramos a você como usar expressões regulares para identificar problemas em um arquivo de texto, mas não como corrigi-los. Zut alors! (ou Que droga!, em francês)
Observação: mas se a Equipe de Scripts foi ao Louvre em novembro de 2007, como o responsável por esta coluna da Equipe de Scripts teve uma idéia repentina sobre um artigo que não foi publicado na TechNet Magazine até janeiro de 2008? Uau! Que enigma, não é mesmo? Deve ter algo a ver com a diferença de fuso horário entre Redmond e Paris.
Felizmente, porém, e ao contrário do pessoal responsável pelo Louvre, a Equipe de Scripts está disposta a assumir que cometeu um erro. Fizemos mal ao mostrar apenas como procurar coisas usando expressões regulares; deveríamos também ter mostrado como substituí-las usando expressões regulares. Na verdade, deveríamos ter mostrado um script como o da Figura 1.
Figure 1 Pesquisa e substituição (Close Figure 1)
      Set objRegEx = _
    CreateObject("VBScript.RegExp")

objRegEx.Global = True
objRegEx.IgnoreCase = True
objRegEx.Pattern = "Mona Lisa"

strSearchString = _
    "The Mona Lisa is in the Louvre."
strNewString = _
    objRegEx.Replace(strSearchString, _
                     "La Gioconda")

Wscript.Echo strNewString
Mas, para falar a verdade, esse é um uso bastante simples das expressões regulares: tudo o que estamos fazendo aqui é substituir todas as instâncias do valor da cadeia de caracteres Mona Lisa por La Gioconda (que, em italiano, quer dizer "onde foi que pus mesmo aquelas sobrancelhas?"). Confesso: poderíamos ter realizado essa substituição com muito mais facilidade apenas usando a função Replace do VBScript. Mas, não tenha medo: usaremos esse pequeno script para explicar como realizar operações de pesquisa e substituição usando expressões regulares e, feito isso, mostraremos algumas das coisas bem legais que é possível fazer com essas expressões.
Como é possível ver, não há mesmo muito o que fazer nesse script. Começamos criando uma instância do objeto VBScript.RegExp; não é preciso dizer que é esse objeto que nos permite usar expressões regulares em um script do VBScript. Depois de criar o objeto, atribuímos valores a três de suas propriedades:
Global Definindo essa propriedade como True, estamos informando ao script para procurar (e substituir) todas as instâncias de Mona Lisa encontradas no texto de destino. Se a propriedade Global fosse False (o valor padrão), o script procuraria e substituiria apenas a primeira instância de Mona Lisa.
IgnoreCase Definir IgnoreCase como True informa ao script que desejamos realizar uma pesquisa sem diferenciar maiúsculas de minúsculas; em outras palavras, queremos tratar mona lisa e Mona Lisa como sendo idênticas. Por padrão, o VBScript faz uma pesquisa diferenciando maiúsculas de minúsculas, o que significa que – graças às letras maiúsculas e minúsculas – mona lisa e Mona Lisa são considerados valores completamente diferentes.
Pattern A propriedade Pattern mantém o valor que estamos procurando. Nesse caso, estamos à procura de apenas um valor da cadeia de caracteres simples: Mona Lisa.
Em seguida, atribuímos o texto que desejamos pesquisar a uma variável chamada strSearchString:
strSearchString = "The Mona Lisa is in the Louvre."
Depois chamamos o método de expressão regular Replace, que passa dois parâmetros: o texto de destino que desejamos pesquisar (a variável strSearchString) e o texto da substituição (La Gioconda). É isso o que faremos aqui:
strNewString = objRegEx.Replace(strSearchString, "La Gioconda")
E isso é tudo. O texto modificado é armazenado na variável strNewString. Caso reproduzamos o valor de strNewString, devemos obter o seguinte:
The La Gioconda is in the Louvre.
A gramática talvez esteja um pouco discutível, mas você entendeu a idéia geral.
Como observamos anteriormente, está tudo muito bom, tudo muito bem, mas isso é certamente um exagero; poderíamos ter feito exatamente a mesma coisa usando estas linhas de código (na verdade, poderíamos até mesmo ter feito tudo isso em uma linha se quiséssemos):
strSearchString = "The Mona Lisa is in the Louvre."
strNewString = Replace(strSearchString, "Mona Lisa", "La Gioconda")
Wscript.Echo strNewString
Em outras palavras, vejamos se é possível fazer algo interessante com expressões regulares que não podemos fazer com a função Replace do VBScript.
Ninguém tem uma idéia, tem? Bem, eis uma. É comum que nós da Equipe de Scripts acabemos copiando texto de um tipo de documento para outro. Às vezes, isso funciona muito bem; em outras, não. Quando isso não funciona, costumamos ter problemas esquisitos quanto ao espaçamento entre as palavras, problemas estes que resultam em textos como o abaixo:
Myer Ken, Vice President, Sales and Services
Credo! Olhe só todos esses estranhos espaços em branco! E, nesse caso, a função Replace tem uso limitado. Por quê? Bem, aparentemente temos um número aleatório de espaços em branco estranhos: talvez haja sete, dois ou seis espaços em branco entre as palavras. Isso dificulta a correção do problema usando Replace. Por exemplo, caso tentemos procurar dois espaços em branco consecutivos (substituindo esses dois por um único espaço em branco), acabaremos com:
Myer Ken, Vice President, Sales and  Services
Isso é melhor, mas não muito. Existe uma forma de fazermos isso, mas ela requer a procura de um número arbitrário de espaços em branco (digamos, 39), a realização da substituição, a subtração de 1 em relação ao número inicial, a procura de 38 espaços em branco, a realização da substituição, e assim por diante. Como alternativa, poderíamos usar este script de expressões regulares muito mais simples (e à prova de falhas):
Set objRegEx = CreateObject("VBScript.RegExp")

objRegEx.Global = True
objRegEx.Pattern = " {2,}"

strSearchString = _
"Myer Ken, Vice President, Sales and Services"
strNewString = objRegEx.Replace(strSearchString," ")

Wscript.Echo strNewString
A chave deste script (e da maioria dos scripts de expressão regular) é Pattern:
objRegEx.Pattern = " {2,}"
O que estamos fazendo aqui é procurar 2 (ou mais) espaços em branco consecutivos. Como sabemos que Pattern procura dois (ou mais) espaços em branco? Bem, em nossas aspas duplas temos um único espaço em branco seguido desta construção: {2,}. Na sintaxe de expressões regulares que, digamos, procura pelo menos duas instâncias consecutivas do caractere anterior (nesse caso, um espaço em branco). E se houver 3, 4 ou 937 espaços em branco consecutivos? Sem problemas, pois você pegaria todos eles também. (Se, por algum motivo, quiséssemos pegar pelo menos dois espaços em branco, mas não mais do que oito, usaríamos a sintaxe {2,8}, com 8 especificando o número máximo de correspondências.)
Em outras palavras, sempre que encontrarmos dois ou mais espaços em branco, um após o outro, pegaremos todos esses espaços consecutivos e os substituiremos por um único espaço em branco. O que isso fará com o valor da nossa cadeia de caracteres original, a que apresenta todos os espaços em branco estranhos? Isto:
Myer Ken, Vice President, Sales and Services
Viu? A Equipe de Scripts pode melhorar bastante as coisas. Agora isso apenas se o pessoal do Louvre nos deixarem com a Mona Lisa.
Eis um cenário interessante – e não incomum. Suponhamos que a empresa tenha um diretório telefônico e que todos os números de telefone estejam formatados da seguinte forma:
555-123-4567
Mas, agora suponhamos que o seu chefe tenha decidido que todos os números devam ser formatados da seguinte forma:
(555) 123-4567
E como você deve reformatar esses números de telefone de uma vez por todas? Bem, se precisamos ser enfáticos, podemos sugerir que você use um script semelhante a este:
Set objRegEx = CreateObject("VBScript.RegExp")

objRegEx.Global = True
objRegEx.Pattern = "(\d{3})-(\d{3})-(\d{4})"

strSearchString = "555-123-4567"
strNewString = objRegEx.Replace _
(strSearchString, "($1) $2-$3")

Wscript.Echo strNewString
O que estamos fazendo aqui é procurar três dígitos (\d{3}) seguido de um traço, de mais três dígitos e um traço, seguido de 4 dígitos. Em outras palavras, procuramos o seguinte, em que X representa um número entre 0 e 9:
XXX-XXX-XXXX
Observação: como sabíamos que \d{3} pediria ao script para procurar três números consecutivos? Bem, até onde nos lembramos, lemos isso em algum lugar. Na verdade, deve ter sido no surpreendente capítulo final do Código Da Vinci ou na Referência da linguagem VBScript no MSDN® online (consulte go.microsoft.com/fwlink/?LinkID=111387).
Agora, é bem legal que possamos procurar um número de telefone arbitrário usando expressões regulares. No entanto, continuamos tendo um grande problema aqui. Afinal, não podemos substituir esse número de telefone arbitrário por um número de telefone igualmente arbitrário; na verdade, temos de usar o mesmo número, apenas formatado de maneira um pouco diferente. E de que jeito fazemos isso?
Porque, usando o seguinte texto de substituição:
"($1) $2-$3"
$1, $2 e $3 são exemplos de uma expressão regular de "referência inversa". Uma referência inversa é apenas uma parte do texto encontrado que pode ser salvo e, em seguida, reutilizado. Nesse script em especial, estamos procurando três "subcorrespondências":
  • um conjunto de três dígitos
  • um conjunto de mais três dígitos
  • um conjunto de quatro dígitos
Cada uma dessas subcorrespondências é atribuída automaticamente a uma referência inversa: a primeira subcorrespondência é $1; a segunda, $2 e assim por diante até $9. Em outras palavras, nesse script, as três partes do nosso número de telefone são atribuídas automaticamente às referências inversas mostradas na Figura 2.
Figure 2 Referências inversas do número de telefone (Close Figure 2)

Parte do número de telefone | Referência inversa
555 | $1
123 | $2
4567 | $3
Na cadeia de caracteres de substituição, usamos essas referências inversas para garantir a reutilização do número de telefone correto. O nosso texto de substituição diz apenas: use a primeira referência inversa ($1) e a coloque entre parênteses. Deixe um espaço e, em seguida, insira a segunda referência inversa ($2) seguida de um traço. Por fim, acrescente a terceira referência inversa ($3).
No que isso resultará? Isso nos dará um número de telefone semelhante a este:
(555) 123-4567
Nada mau, hein?
Eis uma variação do script do número de telefone. Suponhamos que a organização tenha instalado um sistema telefônico totalmente novo e, como parte da mudança, todos os números de telefone agora têm o mesmo prefixo. Originalmente, os números começavam com 666, 777 ou 888 e agora todos eles começarão com 333. Podemos reformatar os números de telefone e alterar o prefixo do número, tudo ao mesmo tempo? É claro que podemos:
Set objRegEx = CreateObject("VBScript.RegExp")

objRegEx.Global = True
objRegEx.Pattern = "(\d{3})-(\d{3})-(\d{4})"

strSearchString = "555-123-4567"
strNewString = objRegEx.Replace _
(strSearchString,"($1) 333-$3")

Wscript.Echo strNewString
Viu o que fizemos aqui? Nós apenas removemos o prefixo antigo (referência inversa $2) no texto de substituição; em seu lugar, colocamos o valor de prefixo 333 codificado, agora padrão. Como ficará o número de telefone 555-123-4567 depois de executarmos esse script modificado? Ele deve ser bem semelhante a este:
(555) 333-4567
Eis outro uso comum da referência inversa. Suponhamos que haja um valor da cadeia de caracteres semelhante a:
Myer, Ken
Existe alguma maneira de mudar esse valor e exibir o nome assim:
Ken Myer
Bem, pareceríamos bem burros se não existisse, não? Eis aqui um script que faz exatamente isso:
Set objRegEx = CreateObject("VBScript.RegExp")

objRegEx.Global = True
objRegEx.Pattern = "(\S+), (\S+)"

strSearchString = "Myer, Ken"
strNewString = objRegEx.Replace _

strSearchString,"$2 $1")

Wscript.Echo strNewString
Nesse script em especial, estamos procurando uma palavra – (\S+) – seguida de uma vírgula, seguida de um espaço em branco e seguido de outra palavra. (Nesse caso, estamos usando \S+ para representar uma "palavra".) A construção \S+ significa um conjunto consecutivo qualquer de caracteres de um espaço que não está em branco. Em outras palavras, poderíamos ter uma letra, um número, um símbolo; na verdade, poderíamos ter praticamente qualquer coisa que não fosse um espaço, uma tabulação ou um avanço de linha do retorno de carro. Como se pode ver, esperamos encontrar duas subcorrespondências aqui: uma representando o sobrenome ($1) e outra, o nome ($2). Por isso, podemos exibir o nome do usuário como FirstName LastName usando esta sintaxe:
"$2 $1"
Cadê a vírgula? Bem, como estava claro que não precisávamos dela, simplesmente a descartamos.
Observação: é engraçado... por algum motivo, também começamos a pensar no Editor de Scripts. Hummm...
Vamos mostrar mais um antes de irmos embora. (Tudo bem, tudo bem, até o mês que vem.) Isso não é 100 por cento à prova de falhas. Afinal, não queremos que um artigo introdutório como este se complique muito. (E as expressões regulares têm potencial para ficarem exageradamente complicadas.) No entanto, eis um script que, na maior parte dos casos, removerá os zeros à esquerda de um valor como 0000.34500044:
Set objRegEx = CreateObject("VBScript.RegExp")

objRegEx.Global = True
objRegEx.Pattern = "\b0{1,}\."

strSearchString = _
"The final value was 0000.34500044."
strNewString = objRegEx.Replace _
strSearchString,".")

script.Echo strNewString
Como sempre, o único motivo para que isso funcione é o padrão: "\b0{1,}\." Começamos procurando um limite de palavra (\b); que garante que não removemos os zeros em um valor como 100.546. Em seguida, procuramos um ou mais zeros – 0{1,} – seguidos de uma casa decimal (\.). Caso o padrão seja encontrado, substituímos esses zeros (e a casa decimal) por uma única casa decimal ".". Se tudo sair de acordo com o plano, isso transformará a nossa cadeia de caracteres em:
The final value was .34500044.
Acabou o espaço que tínhamos para a coluna deste mês. Antes de nos despedirmos, podemos observar que, nem bem a tinta do quadro secou, e a Mona Lisa já era o assunto de uma controvérsia incrível. Quem é aquela mulher misteriosa? Por que ela sorri daquele jeito? Por que ela não tem sobrancelhas? Muitos historiadores da arte sugerem que a Mona Lisa sequer é uma mulher, e sim que o quadro é, na verdade, um auto-retrato de Leonardo da Vinci. (Se isso for verdade, ele bem que poderia ter se arrumado melhor.) Enquanto isso, a Unarius Educational Foundation foi mais além, dizendo que o retrato é, na verdade, da "alma gêmea" de Leonardo no "plano superior" e que essa alma controlou a mão de Leonardo. Por uma incrível coincidência, foi exatamente assim que a Ei, Equipe de Scripts! deste mês foi escrita.
Isso quer dizer que todas as reclamações devem ser endereçadas a alma-gêmea-do-responsável-por-esta-coluna@a-outra-microsoft.com. Obrigado.

O desafio de script do Dr. Scripto
O desafio mensal que testa não apenas sua habilidade de resolver quebra-cabeças, mas também de criar scripts.

Maio de 2008: Script-doku
Neste mês, jogamos Sudoku, mas com um pouco mais de emoção. Em vez de números de 1 a 9 na grade, temos letras e símbolos que formam um cmdlet do Windows PowerShell™. Na solução final, uma das linhas formadas indicará o nome do cmdlet.
Observação: caso você ainda não saiba como jogar Sudoku, certamente há milhares de sites na Internet com as instruções, logo, não as repetiremos aqui. Desculpe-nos.

O desafio de script do Dr. Scripto
Resposta: Script-doku, maio de 2008

The Microsoft Scripting Guys trabalham para a – bem, são empregados da – Microsoft. Quando não está jogando/treinando/assistindo beisebol (e diversas outras atividades), ela administra o Script Center da TechNet. Confira no site www.scriptingguys.com.


 Security Watch: Princ&#237;pios da seguran&#231;a quantum
Security Watch
Princípios da segurança quantum
Jesper M. Johansson

Pode ser bastante divertido lançar algo inesperado, mas importante, em meio a uma conversa. Há algum tempo, tenho usado o Princípio da incerteza de Heisenberg para explicar conceitos de segurança. (Aqueles que conhecem a minha história do unicórnio sabem que gosto de usar teorias elementares de outras disciplinas para fazer uma observação.) Estranho
quanto isso possa parecer, de fato existem corolários de segurança da informação quanto a alguns conceitos fundamentais em outros ramos da ciência.
O Princípio da incerteza de Heisenberg, que vem da física quantum, se baseia na equação mostrada na Figura 1. O princípio propriamente dito indica que a posição de uma partícula (p) e o momento favorável de uma partícula (x) estão de tal forma relacionados que, caso aumente a precisão da medição da posição, você aumenta a precisão da medição do momento favorável. O limite relacionado à precisão dos dois fatores é um pequeno múltiplo fixo da constante de Planck. Traduzindo, esse princípio diz que não é possível observar com total precisão determinados fatos sobre uma única partícula simultaneamente.
Figure 1 Heisenberg Uncertainty Principle
Figure 1 Heisenberg Uncertainty Principle
Isso está diretamente relacionado à previsão de faixas indeterminadas, que basicamente permitem prever o nível de incerteza quanto ao estado de alguns fatos sobre uma partícula. Embora não seja possível (ainda) prever as faixas, é importante o fato de não ser possível prever com certeza como duas variáveis em uma única rede de computadores afetarão a segurança dessa rede.
Você também deve assumir contrapartidas. Embora você talvez não esteja associado à constante de Planck na segurança das informações, existe uma associação mesmo assim. A contrapartida mais evidente que você tem de assumir se dá entre a segurança e a usabilidade ou a utilidade. Caso você ignore a disponibilidade por um momento – e, francamente, acho que a equipe de segurança não deve ser responsável por outra disponibilidade que não seja a relacionada a ataques de negação de serviço –, a forma mais fácil de proteger algo é o desativando. Dessa forma, o hacking deixa de ser possível. Já a utilidade requer um mergulho de cabeça.
Da mesma forma, embora o custo seja significativamente maior, é possível evitar o vazamento de dados muito mais confidenciais implementando um produto caro de prevenção contra a perda de dados do que enviando um email para todos os funcionários uma vez por ano lembrando-os de que os aplicativos de sistema de mensagens instantâneas não se destinam ao uso corporativo. Mas a organização está disposta a pagar pela ferramenta de prevenção contra a perda de dados? Em termos de segurança, agora é possível ver onde a física quantum adquire mais relevância do que você poderia imaginar.

Gato de Schrödinger
Um conceito de física quantum relacionado, embora diferente, é explicado na parábola do gato de Schrödinger. A história dá conta de que Erwin Schrödinger, um proeminente físico do século 20, travava uma longa batalha no campo dos argumentos com Albert Einstein (outro proeminente físico do século 20 do qual você já deve ter ouvido falar) sobre o conceito da superposição. Schrödinger descobriu as áreas da mecânica quantum que apresentava elementos existentes em uma superposição de dois estados próximos do absurdo.
Para fazer sua observação, Schrödinger desenvolveu um experimento conceitual no qual um gato era colocado em uma caixa fechada hermeticamente. O outro item na caixa era um frasco de veneno cuja liberação era controlada por meio de uma partícula radioativa subatômica (imaginária). Se a partícula radioativa diminuísse, o veneno seria liberado, e o gato morreria.
A partícula subatômica, estando sujeita às leis da mecânica quantum, existe em uma superposição de estados. O gato decididamente atômico, dado seu estado sendo totalmente dependente do estado da partícula subatômica, também existe nessa superposição de estados. Somente observando, de fato, o estado do gato é que podemos finalmente colocá-lo em um estado específico de vida ou de morte.
Schrödinger, obviamente, pretendia com isso ilustrar como são absurdas algumas leis da mecânica quantum quando aplicadas a sistemas atômicos. Contudo, seu exemplo costuma ser creditado com ênfase naquilo que os homens do Direito chamam de "efeito observador". O efeito observador, embora não se aplique a sistemas subatômicos importantes na mecânica quantum, é interessante para nós, profissionais da segurança. Simplificando, ele diz que ao observar algo, você o altera.
O efeito observador
Para explicar isso um pouco melhor, considere o exemplo de uma xícara de chá. Para saber se o chá está quente, você coloca um termômetro na xícara. Digamos que o chá esteja a 80 graus Celsius quando você coloca o termômetro, e este esteja a 22 graus (temperatura ambiente). Assim que você coloca o termômetro no chá, ele começa a absorver calor do chá, que cede parte do calor para aquecê-lo. Ao final do processo, o termômetro e o chá acabarão apresentando a mesma temperatura. No entanto, essa temperatura não será nem de 80 graus, nem de 22 graus; ela estará em algum ponto intermediário. Portanto, medindo a temperatura do chá, você a altera.
O efeito observador também é relevante para a segurança das informações. Sempre que faz algo para reduzir um problema de segurança, você pode acabar modificando sua postura em relação a ela por modificar o sistema. Chamarei isso de SPFE (efeito de fluidez quanto à postura de segurança) por falta de um termo melhor.
Um dos exemplos mais simples é o caso das dependências da conta de serviço. No capítulo 8 do Protect Your Windows Network (protectyourwindowsnetwork.com), abordo a instalação de um IDS (serviço de detecção de intrusões) nos sistemas para detectar ataques. No entanto, o IDS faz logon em um sistema central e exige acesso privilegiado aos sistemas monitorados. Na maior parte do tempo, isso significa que o serviço é executado em uma conta de serviço com alto privilégio.
Caso algum desses sistemas seja comprometido, o invasor pode obter acesso às credenciais da conta de serviço e acessar todos os demais sistemas, além de desabilitar o próprio IDS. Trata-se de um exemplo perfeito do SPFE. Instalando algo para garantir segurança no ambiente, é possível criar um novo problema de segurança em potencial.
Há muitos outros exemplos de SPFE. A descrição feita por Steve Riley do porquê o 802.1x apresenta determinados problemas em redes com fio (microsoft.com/technet/community/columns/secmgmt/sm0805.mspx) é outro grande exemplo. Obviamente, usar firewalls baseados em host é algo extremamente desejável em muitos ambientes. No entanto, caso seja usada com 802.1x, a combinação possibilita um determinado ataque onde ele não era possível antes. Mais uma vez, uma tecnologia modifica a postura em relação à segurança do ambiente e possibilita um ataque que antes não era possível.
Nada disso significa que essas medidas sejam naturalmente inúteis e que devam ser evitadas. O que isso significa é que você precisa considerar as implicações daquilo que faz em termos de segurança no geral. Ao realizar o gerenciamento de risco, você deve considerar o significado real das ações e das prevenções para o risco. Ao atenuar um problema, você não pode simplesmente parar depois de implementar as contramedidas. Em um sentido bem próximo do real, segurança é um processo. Você precisa usar a estratégia de defesa aprofundada, mas considerando como as defesas alterarão a sua postura em relação à segurança e como você abordará as novas ameaças decorrentes da estratégia.

Uma estratégia de proteção experiente
Trabalho nas diretrizes de proteção há mais de 10 anos. Revendo os primeiros guias nos quais trabalhei, percebo que eles não eram nada mais do que listas de configurações que meus colegas e eu pensávamos que você deveria ativar. Naquele momento, a estratégia geral por trás da segurança era ingênua – basicamente, caso algo devesse fornecer segurança, a lógica era de que ele precisava estar ativado. Não se dava muita atenção ao fato de que talvez houvesse motivos legítimos para que ele fosse desativado inicialmente.
Acabei aprendendo que, para que haja uma proteção efetiva, você precisa dar muita atenção à proteção e considerar as ameaças às quais o sistema está sujeito. Essa revelação acarretou a lista de cenários que você vê no Windows 2000 Security Hardening Guide (go.microsoft.com/fwlink/?LinkID=22380). A evolução natural disso era dividir as diretrizes em níveis de ameaça diferentes, que é o que você vê no Windows Server 2003 Security Guide (go.microsoft.com/fwlink/?linkid=14846).
Durante todo esse tempo, me inconformava com o fato de que ainda era possível dividir um sistema mesmo com todas as diretrizes ativadas e in-loco. Isso porque havia patches não-encontrados – alguma prática operacional me inteirou disso –, ou porque algum software inseguro de terceiros foi instalado.
Acontece que a proteção nesses dois guias não fez muito para ajudar na postura de segurança agregada. Tudo se resumiu a algumas coisas especiais. Na verdade, o sistema mais seguro que já criei (msdn2.microsoft.com/library/aa302370) empregava apenas quatro ou cinco dos ajustes contidos nesses guias de segurança e nenhum deles de fato parava qualquer um dos ataques aos quais estava sujeito. Infelizmente, as pessoas querem apenas um grande botão azul "Proteger-me agora" que protegerá automaticamente os sistemas, mas segurança é mais complicada do que isso.

Como abordar riscos
Para estar protegido (em contraposição ao estado finito da segurança), você deve usar uma abordagem razoável em relação aos riscos. Você deve compreender os riscos que está enfrentando, decidir qual deles deseja atenuar e, em seguida, compreender como atenuá-los, e isso raramente é feito com o simples lançamento de opções.
Em geral, essas opções de segurança são projetadas para cenários específicos e não necessariamente criam a melhor configuração para o seu. Na verdade, elas criam um bom ponto de partida na linha de base e são disponibilizadas principalmente porque o mercado exige esses ajustes de proteção rápidos. Por padrão, a maioria já está ativada em softwares modernos e os que não estão certamente apresentam efeitos colaterais significativos.
Além disso, lançar muitas opções pode produzir um sistema sem suporte e instável que talvez não execute as tarefas que você precisa realizar – todas para atenuar as ameaças que você ainda não enumerou. O SPFE e a física quantum nos dizem para refazer a análise depois de protegermos as coisas, mas muitas organizações deixam de fazer isso. Na verdade, elas sequer analisam as ameaças inicialmente. Se começar, de fato, analisando as ameaças, você descobrirá que as coisas que realmente fazem diferença não são restrições anônimas quanto à listagem dos nomes de conta e de todas as alterações feitas na lista de controle de acesso.
Na verdade, o que realmente faz a diferença é determinar se o sistema deve fornecer um determinado serviço, a quem em caso afirmativo e, em seguida, impor essa diretiva. O que faz a diferença é verificar se apenas os sistemas e os usuários que, de fato, precisam se comunicar com você têm permissão para isso. O que faz a diferença é verificar se todos os aplicativos são executados e os usuários contam com os menores privilégios possíveis. Em suma, o que faz a diferença é usar uma abordagem sensata em termos de segurança e realizar a análise das dificuldades de forma que você permita a cada sistema assumir a responsabilidade por sua própria segurança.
É por isso que a abordagem atual em relação à segurança agora emprega ferramentas como Server and Domain Isolation (microsoft.com/sdisolation), ACS (Assistente de Configuração de Segurança) nos produtos Windows Server® e as ferramentas no gerenciamento de funções do Windows Server 2008. Essas ferramentas orientam você durante o processo de compreensão dos cenários para os quais deve dar suporte e, em seguida, ajudam a bloquear os sistemas da maneira apropriada. Tudo bem, essas ferramentas não oferecem a solução completa que todos querem, embora proporcionem uma configuração com suporte que, de fato, realiza as tarefas pelas quais você comprou o software.

Aplicar segurança onde necessário
Tudo isso quer dizer ser possível confiar em outras entidades ou simples ajustes em termos de segurança. Cada ativo deve ser capaz de se defender sozinho porque conceitos como, por exemplo, "perímetro" e "rede interna" não querem dizer nada atualmente.
A grande maioria das redes organizacionais é, na melhor das hipóteses, semi-hostil. Você precisa compreender isso e executar as etapas apropriadas sem depender exclusivamente das diretrizes de proteção automáticas. Para começar, você deve compreender suas necessidades. Além disso, você deve procurar diretrizes de outras pessoas que também compreendam essas necessidades.
Recentemente, um convidado em um webcast recomendou que usuários de pequenas empresas visitassem o site do Departamento de Segurança Interna e baixassem um guia de proteção para o Internet Explorer®. Por que você deve esperar que uma agência governamental encarregada de proteger a ordem de segurança nacional e militar forneça diretrizes sobre como proteger um navegador da Web em pequenas empresas? Trata-se de um exemplo perfeito de uma lógica ineficiente que ainda prevalece no campo da segurança do computador. A pressuposição é de que como as diretrizes foram emitidas por uma agência governamental de três letras, logo, os resultados devem ser altamente seguros.
A opção costuma ser apresentada como uma decisão binária: é possível ter "segurança alta" ou "segurança baixa". Uma forma melhor de apresentar essa opção é entre "segurança alta" ou "segurança apropriada". Segurança não tem tamanho único.
Na verdade, segurança alta não é para todos – e normalmente não é para a maioria! Não se trata de uma meta final que você deva buscar. Trata-se de uma configuração especializada para sistemas em que as pessoas morrerão se o sistema for comprometido. Caso isso seja adequado ao seu perfil de risco e modelo de ameaça, use alta segurança.
Caso isso não seja adequado ao seu perfil de risco e modelo de ameaça, você deve usar algo mais apropriado. É mais do que provável que um dos ajustes que é possível configurar já esteja, por padrão, apropriadamente definido como nível de um perfil de risco moderado. Esse estado padrão, usado na maioria dos produtos Microsoft atuais, garante uma contrapartida razoável entre segurança e usabilidade, utilidade e desempenho. Até onde se estende, a proteção é feita normalmente para você.
Agora você precisa considerar outras etapas da segurança. Um bom local para começar seria o TechNet Security Center (microsoft.com/technet/security) e, é claro, livros como o Windows Server 2008 Security Resource Kit.

É tudo uma questão de gerenciamento de risco
Agora você já deve ter notado aonde quero chegar com isso: gerenciamento de risco. A principal mensagem do Princípio da incerteza de Heisenberg é que você tem contrapartidas. Essa parte do princípio não é uma grande descoberta.
Porém, a mensagem da história do gato de Schrödinger é algo que grande parte das pessoas deixam de levar em conta. Não é importante apenas que você analise todos os lados da questão e tome uma decisão quanto às contrapartidas, mas também considere as alterações introduzidas pelas soluções. Uma boa estratégia de gerenciamento de risco considera como essas alterações afetam o sistema e se elas foram implementadas como parte de uma estratégia de atenuação de risco ou por alguma outra razão.

Expectativa de perda anual
A forma mais comum de quantificar o risco, além de ser o método que você aprende em vários cursos de certificação em segurança, é a equação ALE (expectativa de perda anual), mostrada na Figura 2. A ALE padrão é muito simples. Você determina a probabilidade de um incidente e o custo de cada ocorrência e, em seguida, multiplica os dois valores. Isso resulta na quantia que você deve pagar pelos incidentes de segurança anualmente. Caso o custo do risco seja alto o bastante, você implementa a atenuação.
Figure 2 ALE is the probability of a loss, multiplied by the cost of the loss per incident
Figure 2 ALE is the probability of a loss, multiplied by the cost of the loss per incident
O problema disso é que a ALE padrão deixa de compensar o custo da atenuação. Não apenas a atenuação tem um custo próprio, mas também muitas atenuações têm efeitos colaterais, que também têm um custo associado.
Considere um dos ajustes de segurança mais usados: o bloqueio de conta. Muitas organizações implantam o bloqueio de conta ostensivamente para impedir que os invasores adivinhem senhas. É possível calcular matematicamente a probabilidade de um invasor adivinhar qualquer senha. Caso seja criativo, você também pode imaginar um custo médio da violação resultante do êxito de um invasor ao adivinhar uma senha. Com base nesses dois números, muitas organizações decidiram que a ALE é inaceitável e, por isso, implementaram o bloqueio de conta.
No entanto, essa atenuação em especial tem um custo que você talvez não esteja levando em conta. Existe o custo da implementação da atenuação propriamente dita, é claro, embora ele seja mínimo. Para ser preciso, o cálculo também deve incluir os custos dos efeitos colaterais resultantes da atenuação.
Inicialmente, há um custo associado ao desbloqueio das contas dos usuários por parte do suporte técnico. Caso uma conta seja bloqueada por um curto período, digamos, 15 minutos, ainda existe um custo da perda de produtividade nesse período. Esse fator é contabilizado como sendo o custo de cada incidente, multiplicado pela probabilidade de ocorrer o incidente nesse determinado período. Nesse caso, você multiplicaria o custo pelo número esperado de eventos de bloqueio – um número que os logs talvez já sejam capazes de fornecer.
Você também precisa levar em consideração o fator agravante do usuário. Uma evidência curiosa indica que os usuários usarão senhas menos complicadas se estiverem sujeitos ao bloqueio de conta porque a possibilidade de digitá-las incorretamente é menor. Por isso, a probabilidade do incidente que queremos evitar não chega integralmente a zero depois da implementação da atenuação.
Por fim, talvez haja vulnerabilidades introduzidas pela atenuação que não estavam presentes no sistema antes de sua introdução. No caso do bloqueio de conta, um invasor pode usar esse recurso para desabilitar todas as contas na rede simplesmente adivinhando repetidamente as senhas de maneira incorreta. Existe a probabilidade de que isso também ocorra, além do custo associado de cada incidente.
Levando em conta todos esses fatores, fica claro que você deve modificar a equação da expectativa de perda. Primeiramente, você deve modificar a probabilidade do incidente. Agora a possibilidade de ocorrência do incidente deve ser menor que antes, embora, como você viu anteriormente, ela talvez não chegue inteiramente a zero. O custo de cada incidente também pode ter sido alterado. Para o produto em questão, você precisa adicionar o custo da própria atenuação. Esse custo é composto pelo custo de implementação mais a soma do custo anual de todos os efeitos colaterais. Todos esses custos anuais são o produto da probabilidade de ocorrência do efeito colateral e do custo de cada incidente desse efeito colateral. Simplificando um pouco a apresentação da equação, agora você tem a equação da análise de risco mais precisa mostrada na Figura 3.
A equação aprimorada na Figura 3 oferece uma forma muito mais precisa de analisar o risco de um determinado problema. Muitas organizações já analisaram seus riscos dessa forma. Mas muitas ainda contam com uma visão simplificada do risco que não aponta adequadamente a necessidade de análise do impacto das atenuações. Usando a equação ALE modificada, você está colocando essa necessidade à frente e no centro de tudo.
Figure 3 Considering the additional costs of mitigation
Figure 3 Considering the additional costs of mitigation

O que tudo isso significa
Se você só fizer algo depois de ler este artigo, será preciso questionar a sabedoria convencional por trás das estratégias de segurança. Muito do que fazemos no campo da segurança das informações se baseia em uma visão de mundo bastante estereotipada. E muitas das pressuposições agora estão ultrapassadas.
Os ataques mudaram. Os invasores agora são profissionais, estão nisso por dinheiro, pela supremacia nacional e por ideologia. Não é possível perder tempo e dinheiro em ajustes que não aumentem a segurança. Isso também quer dizer que você deve usar uma abordagem muito mais sofisticada em relação ao gerenciamento de risco.
Primeiro, é importante que você observe que tudo o que faz tem uma contrapartida. Não é possível saber tudo com a mais absoluta certeza.
Segundo, você deve compreender que a operação se dá em um sistema independente. Introduzindo alterações de segurança no sistema, você modifica o próprio sistema, o que significa que deve analisá-lo novamente.
Isso deve ser feito, preferencialmente, antes da implementação efetiva dessas alterações porque é muito comum que elas tenham tal impacto sobre o sistema que fazem mais mal do que bem. Usando ferramentas de análise melhores, as quais lembram a necessidade de análise dessas alterações, você terá menos chances de se esquecer delas.
Por fim, jamais se esqueça do fator humano. Tudo o que você faz na segurança de informações é permitir que a empresa e os usuários da organização trabalhem com a maior segurança possível.
Em uma apresentação recente, comentei que não havia um único usuário atual que comprasse seu computador de forma que pudesse executar um programa antivírus. A segurança é o seu objetivo principal, mas não o da empresa. As organizações que meramente toleram a segurança por isso estar em seus interesses fazem isso momentaneamente. Jamais se esqueça de que o grupo de segurança de informações está lá para atender à empresa, e não o contrário. Se você ignorar esse fato, os usuários farão qualquer coisa para concluir seus trabalhos, mesmo que isso signifique driblar controles de segurança que não compreendem ou com os quais concordam.

Jesper M. Johanssoné arquiteto de software e trabalha na segurança de software, além de ser editor colaborador da TechNet Magazine. Ele possui PhD em sistemas de informações sobre gerenciamento, tem mais de 20 anos de experiência em segurança e é MVP (Most Valuable Professional) Microsoft em segurança corporativa. Seu livro mais recente é Windows Server 2008 Security Resource Kit.


 Os arquivos da &#225;rea de trabalho: Deixando o administrador para tr&#225;s
Os arquivos da área de trabalho
Deixando o administrador para trás
Wes Miller

Há mais de três anos, dei início ao processo de migrar a minha conta de usuário no meu sistema Windows primário de administrador local para usuário local. Trabalhei na Microsoft por mais de sete anos, sempre executando como um administrador com privilégios totais. É claro que isso era prático, mas a absurda falta de segurança
realça a sorte incrível que tive (e que tantos de nós temos) de a execução diária como administrador não ser mais prejudicial a mais sistemas com freqüência maior.
Meu desejo costuma ser de que houvesse uma forma de conseguir estatísticas favoráveis em relação a isso, mas algo e o setor me dizem que muitas organizações – e muitos profissionais de TI – estão em operação como administradores locais. Na Winternals, quando optei pela execução como usuário, foi com a premissa de conhecer a dificuldade que era (como "prosumidor") e compreender em parte como o nosso produto, o Winternals Protection Manager, poderia ajudar uma organização de médio porte. Considerando que a maioria das organizações estava, e continua, executando com uma porcentagem considerável de usuários como administradores, a nossa meta era habilitar os administradores para a execução como usuários, mas diminuindo o máximo possível – ou ao menos os pontos problemáticos – a transição. Independentemente da tecnologia usada por você, não é fácil migrar a organização de uma na qual os usuários são administradores para outra em que eles são usuários, embora essa seja a forma única mais efetiva de reduzir a superfície de ataque dentro da organização. Considere esse um firewall interno do sistema porque é isso que ele é na realidade.

Como chegamos até aqui?
Fica aqui o meu desafio: encare essa
Caso ainda não tenha pensado na migração dos administradores para usuários, você deve. E fica aqui o meu incentivo para que você comece fazendo um teste com você mesmo. Não em uma máquina secundária, porque isso não vale. Faça um teste no sistema primário, o que você usa diariamente. Também deixaria o meu incentivo para que você testasse até mesmo sem usar o UAC (Controle de Conta de Usuário) se estivesse executando o Windows Vista®. Quando você começa a divulgar uma iniciativa dentro da organização no sentido de mudar algo, é uma boa idéia praticá-la antes dessa divulgação. Acho que você descobrirá que a execução como não-administrador não é tão difícil assim – e que, com a segurança agregada a partir disso, você realmente mudará a superfície de ataque da organização.

A ação da maioria dos usuários como administradores está enraizada no histórico do Windows®. Com as primeiras versões do Windows, antes do Windows NT® 3.1, todos os usuários interativos tinham tantos poderes quanto os seguintes – funcionalmente, não havia nenhuma segurança. No ambiente doméstico, isso não era de todo ruim; isso queria dizer que os softwares eram todos instalados da mesma forma. A pressuposição era de que o usuário era o proprietário do computador e de que todos os softwares eram instalados para os usuários desse computador.
Quando surgiu, o Windows NT certamente não tomou conta do mercado corporativo de imediato (deixemos o consumidor de lado). E dada a compatibilidade do Win32® entre o Windows de 32 bits e o Windows NT, a maioria dos fornecedores não refez os aplicativos exclusivamente por conta da infra-estrutura de segurança do Windows NT. Na verdade, só foi depois do Windows 2000 que muitos ISVs (fornecedores independentes de software) orientados a clientes começaram a prestar atenção no Windows NT. É claro que foi o Windows XP o responsável pelo problema porque ele encerrou a família 9x do Windows.
Mas os aplicativos continuaram sendo implantados, pressupondo que todos os usuários do sistema tinham acesso de gravação em Arquivos de Programas (usuários não têm) e em HKEY_LOCAL_MACHINE (HKLM) no Registro (usuários não têm), além de HKEY_CLASSES_ROOT (usuários não têm). Os jogos costumam ser os piores invasores na pressuposição do acesso; consulte o artigo de Matt Clapham sobre esse tópico em technetmagazine.com/issues/2007/02/Gaming.
Isso é problemático porque a maioria dos aplicativos em vários sistemas armazena os arquivos e as configurações do Registro nesses locais e você precisa estar apto a ler e a gravar neles para que possa instalá-los. Infelizmente, alguns aplicativos insistem na gravação nessas chaves após a instalação. Por exemplo, minha filha tem um jogo baseado em Flash. Ele tenta instalar um player personalizado sempre que você o executa – o que significa que, quando a minha filha o executa como usuário, e não como administrador, ocorre uma falha na inicialização do aplicativo com um erro fatal. Embora isso seja algo extremo, além de ser um aplicativo do cliente, a realidade é que muitos aplicativos não-clientes ainda não vão muito bem no mundo dos usuários não-administrativos. Na verdade, se acompanhar o meu desafio (consulte a barra lateral, "Fica aqui o meu desafio: encare essa"), você descobrirá em que medida o próprio Windows não é tolerante à execução como usuário.
Se observar a Figura 1, você verá como é a execução de IPConfig /release como usuário no Windows XP. Se compará-la com a Figura 2, você verá que o mesmo comando no Windows Vista não é tão melhor assim, mas ao menos sabe por que está havendo uma falha. Observe que as ferramentas de rede foram, como um todo, aprimoradas para permitir que os usuários atualizassem os endereços IP. Da mesma forma, a tentativa de executar Gerenciamento de Computador (compmgmt.msc) como usuário permite realizar um número limitado de tarefas, embora normalmente resultem em becos sem saída, como mostrado na Figura 3. Embora não habilite inicialmente muitas das ferramentas no Gerenciamento de Computador, o Windows Vista apresenta mensagens de acesso negado mais claras.
Figure 1 Running as a user under Windows XP
Figure 1 Running as a user under Windows XP
Figure 2 Running as a user under Windows Vista
Figure 2 Running as a user under Windows Vista
Figure 3 Misleading message after running compmgmt.msc as a user on Windows XP
Figure 3 Misleading message after running compmgmt.msc as a user on Windows XP

Por que isso é importante
Então por que você deveria se preocupar com isso? Porque nós, como profissionais de TI, devemos começar a forçar o ajuste dos aplicativos em relação a usuários com menos privilégios, e não o contrário, quando os aplicativos pressupõem que o usuário interativo é o proprietário do sistema.
Infelizmente, as mesmas diretivas que permitem aos administradores gravar em chaves do Registro também concedem a qualquer execução de malware, no contexto do usuário, acesso total a tudo o que eles não tiverem negado explicitamente por meio das ACLs (listas de controle de acesso). No mundo do UNIX, as pessoas seguem a regra a respeito da não-execução como raiz (o equivalente funcional da conta Administrador do Windows) principalmente porque o ecossistema do software que ultrapassa os limites do modelo de segurança é mínimo, praticamente inexistente.
Enquanto isso, o melhor que você tem a fazer é seguir essa sabedoria e só executar como administrador quando isso for explicitamente necessário – melhor ainda, só execute aplicativos individuais como administrador. Fazendo isso, você melhora aquele firewall interno do sistema que mencionei anteriormente. Dessa forma, quando um malware ou spyware tenta fazer algo que não deveria, ocorre uma falha – porque ele não consegue gravar no Registro ou nos locais do sistema de arquivos para, de fato, infectar o sistema (como, por exemplo, instalar um serviço ou driver ou aplicar uma instalação a todos os usuários). Além disso, existe a permissão para que o software antimalware tenha o malware que ele reconhece sem que todo o sistema seja colocado em risco inicialmente.
Observe, no entanto, que os usuários não estão imunes ao ataque. Embora essa classe de malware ainda não exista em larga escala, existe o potencial para que o malware consiga infectar o contexto de um usuário individual ou destruir seus dados. Porém, o vetor de ataque proporcionado por esse software é limitado. Dessa forma, o mesmo que mantém poucas as instâncias de malware em Linux ou no Macintosh (o menor número de vítimas em potencial o torna um parque menos divertido para autores de malware) pode ajudar a garantir a segurança geral dos usuários finais – e a sua – atualmente.

Usuários menos avançados?
Quando estávamos desenvolvendo o Protection Manager, um dos comentários que ouvíamos dos clientes era "estamos executando o Windows XP com todos os nossos usuários como sendo avançados, e não administradores, logo, estamos protegidos". No entanto, a realidade é que usuários avançados estão a apenas algumas etapas dos administradores. Há várias deficiências em potencial que poderiam, com um mínimo de trabalho, permitir a um usuário avançado do Windows XP se tornar um administrador. Na verdade, o grupo de usuários avançados foi eliminado no Windows Vista e no Windows Server® 2008; apenas um sistema atualizado de uma versão anterior do Windows contará com um grupo de usuários avançados. Afinal, você deve sempre evitar usar o grupo de usuários avançados, mesmo que esteja usando o Windows XP.

Permissões com perdas
Se leu a minha coluna de março sobre clientes finos do Windows (technetmagazine.com/issues/2008/03/DesktopFiles), você se lembrará de que fui contra a possibilidade de diminuir o Windows XP para economizar espaço. No mesmo sentido, existe uma prática comum de permitir a migração de administradores para usuários que você deverá considerar, embora tomando cuidado. Trata-se de prática de ajustar as ACLs no Registro e no sistema de arquivos de forma que os usuários possam gravar em locais nos quais normalmente não podem – daí, habilitando aplicativos problemáticos.
Obviamente, a melhor opção é obter uma versão atualizada de um aplicativo que não exige essa alteração, mas isso nem sempre é possível. Caso precise alterar as permissões (ou seja, descartá-las), proceda com muito cuidado. Lembre-se de que o firewall entre um usuário e um administrador é, em grande parte, definido pelas permissões do Registro e do sistema de arquivos. Abri-las reduz a proteção e pode ampliar a superfície de ataque proporcionada pelo malware – assim, faça isso com moderação.

E o UAC?
Nenhuma discussão da migração dos usuários de administradores para usuários está completa sem abordar o UAC do Windows Vista. O UAC, assim como a funcionalidade semelhante do Mac OS X, permite a execução "como administrador" sem que você corra tantos riscos.
Como isso funciona? Observe a Figura 4 na qual o Process Explorer está mostrando informações sobre cmd.exe. A instância de cmd.exe à direita foi iniciada sem elevação comigo em execução como administrador. Dessa forma, mesmo que o usuário à direita seja idêntico ao da esquerda (em que cmd.exe foi iniciado com elevação), o aplicativo propriamente dito não contém os privilégios necessários e os tokens dele (e do usuário que está executando essa instância) para realizar tarefas que exijam direitos administrativos. O UAC funciona reduzindo a superfície de ataque dentro de um contexto interativo do usuário. O único problema é que algo precisa informar ao Windows que essa tarefa exige privilégios administrativos e que o usuário concorda em permitir a elevação necessária à conclusão dessa tarefa.
Figure 4 Two instances of cmd.exe with different privileges
Figure 4 Two instances of cmd.exe with different privileges
Os escudos pequenos no Windows Vista mostram quais tarefas exigem elevação (consulte a Figura 5). Elas exigem elevação sempre que são executadas – e esse é um dos pontos críticos que a imprensa resolveu realçar em relação ao Windows Vista. A alternativa, deixar as credenciais serem mais "fixas", oferece uma ameaça potencial à segurança que poderia ser usada para explorar mais facilmente o sistema.
Figure 5 Shields in Windows Vista indicate the need for elevation
Figure 5 Shields in Windows Vista indicate the need for elevation
Se o UAC estiver habilitado e os usuários estiverem em execução apenas como usuários, será solicitado a eles um conjunto de credenciais administrativas quando um aplicativo exigir privilégios administrativos. Observe que, nesse caso, assim como durante o uso de runas ou psexec, esse aplicativo é literalmente executado no contexto do usuário da inicialização, ao contrário do UAC, executado como um administrador. Nessa situação, as tarefas são executadas no seu contexto, mas com privilégios elevados.

Executando o Windows Vista como um usuário?
A minha preferência pessoal ao executar o Windows Vista é pela efetiva execução como usuário, e não como administrador com UAC, porque acredito que, em empresas de médio porte, essa ainda é a melhor idéia. Afinal, os usuários têm controle total sobre seus sistemas e você talvez tenha reduzido a abertura para o malware.
Além disso, caso pretenda gerenciar os usuários usando Diretiva de Grupo, antivírus, antimalware ou outro tipo de software e queira um controle centralizado sobre a imposição ou a conclusão efetiva dessas tarefas, garantir que os usuários finais não sejam administradores é uma etapa crítica. Caso sejam administradores, os usuários podem interromper serviços, adicionar ou remover drivers e muito mais. É claro que um usuário final hábil em execução como usuário pode usar o Windows PE para ignorar algumas barreiras de segurança. O BitLocker® pode dificultar isso, mas, mais uma vez, lembre-se de que usuários finais com acesso físico podem fazer o que querem em sua máquina, desde que haja tempo suficiente, conhecimento e dedicação.
Executar o Windows Vista como usuário não é tão diferente de executar o Windows XP como usuário. Uso as mesmas ferramentas – PSExec, RunAs (e agora UAC) – para executar as tarefas como um administrador quando necessário. O legal é que algumas tarefas no Windows XP que costumavam exigir privilégios administrativos deixaram de exigi-los. Por exemplo, um usuário do Windows Vista pode instalar uma impressora local. (As impressoras em rede podiam ser instaladas por usuários no Windows XP, mas a instalação de uma impressora local exigia um privilégio administrativo.) No Windows Vista, desde que esteja fisicamente na máquina e o driver da impressora esteja no repositório de drivers, o usuário pode instalar uma impressora e gerenciar seus trabalhos de impressão (consulte go.microsoft.com/fwlink/?LinkId=111534 para obter mais informações). Observe que essa funcionalidade está desabilitada no Windows Server 2008.
Obviamente, as pessoas se divertem com a funcionalidade do relógio (ou com sua falta) durante a execução como usuários no Windows XP – tente clicar duas vezes no relógio como usuário (algo que as pessoas costumam fazer para saber a data, independentemente dele ter sido projetado para funcionar dessa forma), e você obtém o erro mostrado na Figura 6. Nada amigável. No Windows XP, é possível modificar a diretiva de forma que os usuários possam fazer isso, mas no Windows Vista houve uma alteração para que o funcionamento fosse dessa mesma forma. De modo geral, a execução como usuário – independentemente do uso do UAC ou da execução como usuário formal e da elevação como outro usuário – costuma ser mais agradável no Windows Vista do que era no Windows XP.
Figure 6 In Windows XP, non-admins couldn't change the time
Figure 6 In Windows XP, non-admins couldn't change the time

Lembre-se dos limites
Não se esqueça de que migrar usuários para não-administradores não é uma solução completa. Usuários finais dedicados continuam localizados fisicamente em seus PCs e podem muito bem trabalhar para explorar seus próprios sistemas, especialmente se a diretiva ou os privilégios de usuário forem inconvenientes a eles ou os impeçam de realizar seu trabalho.
Caso os seus usuários estejam em execução como administradores, não requer muito trabalho ignorar uma Diretiva de Grupo in-loco. É claro que, com um pouco mais de trabalho, os usuários podem inicializar usando o Windows PE e modificar as permissões para as quais eles normalmente não teriam privilégios – embora, caso use o BitLocker ou outra criptografia de unidade/volume, você possa inviabilizar isso ou, ao menos, dificultá-lo.
A coisa mais importante que é possível fazer caso a organização ainda não tenha iniciado a migração dos usuários finais para a execução como usuários é se familiarizar com os motivos pelos quais você e a organização devem perder tempo, dinheiro e esforços para deixar de ter usuários em execução como administradores.
Certamente, os aplicativos herdados podem ser mais difíceis de se desfazer, mas caso você tenha um aplicativo que simplesmente não pode ser executado como usuário, é má idéia mantê-lo colocando em risco a segurança da organização. Você deve considerar a virtualização do aplicativo – migrando-o literalmente para uma máquina virtual em que o usuário é, de fato, um administrador. Isso permite que o aplicativo seja usado conforme necessário, e ainda continua possibilitando que você proteja o restante do sistema migrando os administradores para usuários.
Observe que, ao longo desta coluna, não usei a palavra "bloqueio" ou nenhum de seus derivados. Muitas pessoas consideram a migração de administradores para usuários parte de uma tarefa normalmente descrita com essa palavra. Talvez seja por conta do meu passado na psicologia ou do meu mundo atual do marketing, mas acho importante não usar palavras que façam com que os usuários finais sintam que seus privilégios estão sendo tomados (ainda que, em um nível semântico, estejam).
Em vez de fazer isso, se concentre nos benefícios de segurança oferecidos à organização e verifique se você conta com um bom plano para casos extremos em que um determinado usuário absolutamente não pode estar em execução como usuário ou em que há uma tarefa específica que exige privilégios administrativos. Independentemente de usar algo manual como o meu script Run.vbs (que você encontrará em technetmagazine.com/issues/2007/03/DesktopFiles) ou uma solução comercial para ajudar na migração (isso permite ocultar os detalhes dos usuários finais e faz as coisas "funcionarem"), é importante pôr o pé na estrada do não-administrador assim que possível. O colaborador assíduo da TechNet Magazine Aaron Margosis é o entusiasta quando se aborda a execução como não-administrador. Caso não esteja familiarizado com seu blog, você deve – trata-se do melhor local para procurar informações aprofundadas sobre esse tópico (consulte blogs.msdn.com/aaron_margosis)﻿.

Wes Miller é o gerente sênior de produto técnico atual da CoreTrace (www.CoreTrace.com) em Austin, no Texas. Anteriormente, ele trabalhou na Winternals Software e como gerente de programa na Microsoft. Entre em contato com ele pelo email technet@getwired.com.


 Anota&#231;&#245;es de campo: M&#250;ltiplos mouses, um &#250;nico PC
Anotações de campo
Múltiplos mouses, um único PC
Kentaro Toyama

Hoje a Índia é um país de contrastes. De um lado, uma superpotência em TI com pessoas de alto nível de escolaridade desenvolvendo tecnologia para suprir as necessidades mundiais de computação. De outro, 70 por cento do país ainda vive com menos de US$ 2 por dia. Esses opostos se encontram ocasionalmente nas salas de aula de computação de escolas pobres do Estado onde se encontram, no máximo, vários PCs. Esses computadores costumam ser doados, uma vez que as escolas, sozinhas, não têm orçamento para comprá-los.
Nesses ambientes, o número de alunos quase sempre supera o de computadores. É algo bastante comum encontrar grupos de até 10 crianças se aglomerando em frente a um PC e, com freqüência, os ânimos se exaltam. Obviamente, o "pessoal" do computador pessoal significa que os PCs foram projetados para serem usados por uma única pessoa. Nós da Divisão de Pesquisa da Microsoft da Índia nos perguntávamos o que poderíamos fazer para levar o acesso aos computadores a mais crianças.
A solução foi surpreendentemente simples: O MultiPointTM permite que vários mouses USB sejam conectados a um computador, e cada mouse corresponde a um cursor de cor diferente na tela (research.microsoft.com/users/udaip/multipoint.htm). Ele efetivamente cria um ambiente para várias pessoas – assim como um console de jogos –, o que torna o software educativo escrito, tendo em vista o paradigma dos vários mouses, capaz de permitir que várias crianças interajam com um PC simultaneamente.
Os alunos mais jovens logo aprenderam o paradigma, apesar das preocupações dos adultos com o mais absoluto caos na tela. Em estudos rigorosos feitos com alunos da 7ª série que comparavam configurações do PC com MultiPoint e cinco pessoas com configurações do PC com apenas um aluno, os pesquisadores descobriram várias coisas. Primeiro, as crianças interagiriam com o PC e com as demais durante períodos muito maiores quando cada uma delas tivesse acesso a um mouse, principalmente por conta do fator agregado da diversão. Segundo, é importante projetar aplicativos de software que incentivem a colaboração, e não a competição direta; do contrário, algumas crianças – especialmente os meninos – passariam a uma competição "do quem é mais rápido" de pouco valor educativo. Por fim, se a colaboração estivesse internalizada, os alunos aprenderiam tanto em um aplicativo do MultiPoint quanto aprendiam usando um PC só para eles, ao menos em tarefas simples de retenção de vocabulário. Há mais informações disponíveis sobre a pesquisa no link do MultiPoint fornecido anteriormente.
Adquirido em grande quantidade, o mouse custa apenas alguns dólares cada, o que significa que, fornecendo aplicativos educativos do MultiPoint para as escolas, o custo da computação por criança pode ser reduzido significativamente. Por exemplo, um PC de US$ 500 compartilhado por cinco alunos com mouses a US$ 5 alcança US$ 105 por criança – e tudo o que reduzir o custo per capita será bem-vindo para aqueles que administram o orçamento escolar.
Os grupos Unlimited Potential (microsoft.com/unlimitedpotential) e Education (microsoft.com/education) da Microsoft reconheceram o valor do MultiPoint para escolas com poucos recursos. Para facilitar a adoção rápida e abrangente, eles lançaram um Software Development Kit que permite aos desenvolvedores de conteúdo educativo aplicar esse paradigma de vários mouses a seus aplicativos do C# com facilidade. O SDK pode ser baixado e usado gratuitamente, e qualquer computador com o Windows® pode executar aplicativos do MultiPoint (microsoft.com/downloads).
Por ser um dos programas com a faixa Unlimited Potential, a meta do SDK do MultiPoint é estender o valor do PC ao máximo de alunos possível e, para isso, precisamos da sua ajuda. Caso você coloque as mãos em um dos aplicativos educativos usando o MultiPoint, nos dê sua opinião a respeito. Criaremos links para os melhores comentários nos sites do MultiPoint.
E o que vem a seguir? A Divisão de Pesquisa da Microsoft da Índia e a equipe do produto Serviços de Terminal estão considerando outra forma de compartilhar um PC: Split Screen, em que duas pessoas, dois teclados e dois mouses compartilham um PC e um monitor. Como este último é dividido no centro, uma sessão separada do sistema operacional pode ser executada em ambos os lados.

Kentaro Toyama é diretor administrativo assistente da Divisão de Pesquisa da Microsoft da Índia (research.microsoft.com/india) e pesquisador-chefe do grupo de tecnologias destinadas a mercados emergentes (research.microsoft.com/research/tem), que desenvolve tecnologias para comunidades de baixo poder econômico de todo o mundo.


 Segredos do Windows: Os &#237;cones de 16 bits est&#227;o t&#227;o fora de moda
Segredos do Windows
Os ícones de 16 bits estão tão fora de moda
Raymond Chen

Como observei na coluna Segredos do Windows de fevereiro de 2008, os recursos desapareceram mesmo do Windows®. Eles costumam fazer isso lentamente e de maneira quase imperceptível com a equipe de um produto comemorando em silêncio o evento sempre que ele acontece. Outro recurso que sumiu do Windows Vista® é a possibilidade do código de 32 bits acessar ícones armazenados em módulos de 16 bits – EXEs e DLLs em sua maioria.
Antes de ter tudo funcionando, lembre-se de que o código de 16 bits pode acessar ícones armazenados em módulos de 16 bits tranqüilamente; isso tudo acontece dentro da camada de emulação de 16 bits. O que desapareceu foi a possibilidade de acessar esses ícones no código de 32 bits ou mais especificamente a possibilidade da extração do ícone de 32 bits funcionar como ExtractIcon no carregamento deles na DLL de 16 bits.
O código de 32 bits que extrai ícones dos módulos de 16 bits não tem o privilégio de usar funções de kernel como, por exemplo, FindResource para localizar o ícone no arquivo. Na verdade, o código deve implementar seu próprio minicarregador que analisa o cabeçalho do módulo de 16 bits, recorre à tabela de recursos e, em seguida, analisa a tabela em busca do recurso do ícone desejado. Somente depois de fazer tudo isso é que o código de 32 bits pode finalmente converter os pixels em um ícone.
Como é possível imaginar, o código que faz isso é muito antigo e frágil. Há muitas oportunidades para erros durante a análise de binários que poderiam ser corrompidos por engano ou por más intenções. A equipe de desempenho solicitará que algumas alterações sejam feitas na forma como o arquivo é aberto para melhorar o desempenho em redes, uma vez que modos de abertura e de compartilhamento diferentes têm conseqüências diferentes em termos de cache na rede. E a equipe de confiabilidade pode pedir que o código de análise seja reescrito para impedir o uso de arquivos mapeados para a memória. Por fim, o custo de manutenção desse tipo de código começa a exceder o valor que ele oferece. Quero dizer, mesmo, quem ainda escreve programas de 16 bits, certo?
Agora, os programas de 16 bits continuarão sendo executados enquanto a camada de emulação de 16 bits estiver lá. (Sim, o Windows Vista de 64 bits não tem uma camada de emulação de 16 bits, mas esse não é um retrocesso em relação ao Windows XP; o Windows XP de 64 bits também não tinha uma camada de emulação de 16 bits. Não melhorou, mas também não piorou.)
Tudo o que você está perdendo no Windows Vista é a possibilidade de executar ExtractIcon usando o programa de 32 bits e conseguir um ícone de uma DLL de 16 bits. Se você tiver um atalho para um programa de 16 bits no menu Iniciar, o ícone desse atalho agora aparecerá como sendo o ícone de um programa genérico porque o Windows Explorer não pode mais extrair o ícone do programa de 16 bits do EXE principal. A perda não é grande. Mas caso isso seja, de fato, um incômodo, é possível editar as propriedades do atalho e dar a ele um ícone de um módulo de 32 bits.
O único local em que vi a perda desse recurso se tornar um problema está nas bibliotecas de ícones produzidas por uma ferramenta para edição de ícones específica. Por algum motivo, esse programa usa como padrão salvar os ícones como recursos nas DLLs de 16 bits, o que significa não ser mais possível acessar esses ícones usando código de 32 bits. É claro que a solução alternativa mais simples é salvar novamente essas bibliotecas de ícones como recursos em DLLs de 32 bits.
Tenho certeza de que alguém acabará escrevendo – se é que já não escreveu – um pequeno programa para extrair todos os ícones de uma DLL de 16 bits e, em seguida, criando uma DLL de 32 bits apenas de recurso com esses ícones. Dessa forma, as pessoas que tiverem ícones antigos em DLLs de 16 bits podem continuar usando-os em atalhos no menu Iniciar. Mas tenho que admitir: se escrever esse programa, você provavelmente não encontrará ninguém que, de fato, precise dele. Número de solicitações para um programa como esse enviados à equipe de interface do usuário do Windows: zero.

Raymond Chen possui um site, The Old New Thing, e escreveu um livro homônimo para tratar do histórico do Windows e da programação Win32. E deixa a passagem livre.