Análise e Correção de Active Directory / DirSync – Casos comuns e recorrentes

Olá comunidade tecnica. Neste artigo (uma sequência de 3) eu reuno informações muito importantes sobre correção de AD, troubleshoot em DirSync, considerações de ambientes de ADFS e Hybrid Deployment. É um apanhado de algumas

experiências de projetos que irá ajudá-los no dia-a-dia e nos projetos de vocês.

Vamos lá…?

Qual a importância do Active Directory para Office 365?

Concordam com isso? então vamos dar prosseguimento…

Active Directory

O Active Directory é peça fundamental para projetos com:

É possível, sim,  realizar um projeto sem DirSync, mas não é uma realidade para grandes clientes.

 

Infraestrutura do Active Directory

O mais importante de tudo é que o Active Directory esteja saudável

…mas as informações abaixo não são foco imediato e/ou premissa para um projeto de O365:

Objetos & Atributos

Os objetos, especificamente seus atributos, são o ponto chave para uma sincronização bem sucedida.

Aqui está o principal desafio numa implantação de Dirsync: problemas com caracteres inválidos em atributos que podem levar a falha na sincronização de alguns objetos ou caracteres substituídos por underline “_”.

Caracteres substituídos por underline:

Objetos possuem um ou mais dos caracteres abaixo no ProxyAddresses ou mail:

CaractereNome
 espaço
</td> <td valign="top" width="200">apóstrofe</td></tr> <tr> <td valign="top" width="200">(</td> <td valign="top" width="200">abre parêntese</td></tr> <tr> <td valign="top" width="200">)</td> <td valign="top" width="200">fecha parêntese</td></tr> <tr> <td valign="top" width="200">@</td> <td valign="top" width="200">arroba</td></tr> <tr> <td valign="top" width="200">‘</td> <td valign="top" width="200">acento agudo</td></tr> <tr> <td valign="top" width="200">&amp;</td> <td valign="top" width="200">“e” comercial</td></tr> <tr> <td valign="top" width="200">\</td> <td valign="top" width="200">barra invertida</td></tr> <tr> <td valign="top" width="200">=</td> <td valign="top" width="200">sinal de igualdade</td></tr> <tr> <td valign="top" width="200">?</td> <td valign="top" width="200">interrogação</td></tr> <tr> <td valign="top" width="200">/</td> <td valign="top" width="200">barra</td></tr> <tr> <td valign="top" width="200">%</td> <td valign="top" width="200">percentagem</td></tr></tbody></table> <h3>Ferramentas</h3> <p>Microsoft Office 365 Deployment Readiness Tool </p> <p>(<a href="http://community.office365.com/en-us/forums/183/p/2285/8155.aspx">http://</a><a href="http://community.office365.com/en-us/forums/183/p/2285/8155.aspx">community.office365.com/en-us/forums/183/p/2285/8155.aspx</a>)</p> <p>No Readiness Tool as seguintes informações são levantadas:</p> <ul> <li><strong>Domains </strong> <li>Email domain discovery and number of users leveraging each domain  <li><strong>User Identity and Account Provisioning</strong>  <li>Statistical information  <li>Active Directory schema and forest/domain functional data  <li>Trusts extract (checks for multi-forest constraints)  <li>Directory Synchronization  <li><font color="#a5a5a5">Pre-requisite checks </font> <li><font color="#a5a5a5">Attribute assessment</font>  <li>Single sign on  <li><font color="#a5a5a5">Attribute assessment</font>  <li><strong>Exchange Online</strong>  <li>Statistical information  <li>Public folder, public delegates, and proxyaddresses extract  <li>3rd party and unified messaging proxyaddresses information  <li><strong>Lync Online</strong>  <li>Statistical information  <li>SIP domains summary  <li><strong>SharePoint Online</strong>  <li>User object count assessment  <li><strong>Client and End User Experience</strong>  <li>Summary of domain joined machines for rich experience/SSO readiness  <li><strong>Network </strong> <li>Port analysis on certain Office 365 endpoints  <li>DNS records assessment </li></ul> <p>Windows PowerShell Command Builder para Office 365</p> <p>(<a href="http://www.microsoft.com/resources/TechNet/en-us/Office/media/WindowsPowerShell/WindowsPowerShellCommandBuilder.html">http://</a><a href="http://www.microsoft.com/resources/TechNet/en-us/Office/media/WindowsPowerShell/WindowsPowerShellCommandBuilder.html">www.microsoft.com/resources/TechNet/en-us/Office/media/WindowsPowerShell/WindowsPowerShellCommandBuilder.html</a>)</p> <p>Exemplos de Scripts do PowerShell para a implantação do Office 365</p> <p>(<a href="http://technet.microsoft.com/en-us/library/hh974317">http://</a><a href="http://technet.microsoft.com/en-us/library/hh974317">technet.microsoft.com/en-us/library/hh974317</a>)</p> <p>Exemplo:</p> <ul> <li>GetSyncedObjectCount  <li>NewDirSyncPowerShellShortcut </li></ul> <p>Office 365 Deployment Guide</p> <p>(<a href="http://technet.microsoft.com/en-us/library/hh852466.aspx">http<a href="http://technet.microsoft.com/en-us/library/hh852466.aspx">://</a><a href="http://technet.microsoft.com/en-us/library/hh852466.aspx">technet.microsoft.com/en-us/library/hh852466.aspx</a></a>)</p> <p>DirSync</p> <ul> <li>Desenhado para ser um “appliance”  <li>“Configurar e esquecer” </li></ul> <p>Acréscimo do limite de sincronização do tenant</p> <p><font color="#ff0000" face="Courier New">Error 016: Synchronization has been stopped. This company has exceeded the number of objects that can be synchronized. Contact Microsoft Online Services Support.</font> </p> <p>Lembrem-se: o Directory Synchronization (DirSync) pode sincronizar apenas os primeiros 20.000 objetos.</p> <p><img style="border-bottom-style: none;border-left-style: none;border-top-style: none;border-right-style: none" class="wlEmoticon wlEmoticon-pointingup" alt="Apontando para cima" src="https://cooperati.com.br/wp-content/uploads/2012/10/wlEmoticon-pointingup.png"> 20.000 objetos e não 20.000 mailboxes!!</p> <p>Nota: Planos “P” não suportam a implantação de DirSync</p> <p>Pude notar em alguns projetos que as falhas existentes na sincronização, geralmente estão relacionadas à:  <ul> <li>Ausência de informação em surName (sobrenome) e givenName (primeiro nome);  <li>Uma solução é usar o displayName para preencher esse atributo, usando um script.  <li>UPN possui um domínio não roteável (maiores detalhes posteriormente)  <li>Atributo mail e/ou proxyAddresses em branco ou com valores duplicados entre vários objetos.  <li>Caracteres acentuados em alias (mailNickname)</li></ul> <h3>Preparação do Active Directory</h3> <p>Office 365 Deployment Guide for Enterprise | Appendix F Directory Object Preparation  <p><a href="http://technet.microsoft.com/en-us/library/hh852533">http://</a><a href="http://technet.microsoft.com/en-us/library/hh852533">technet.microsoft.com/en-us/library/hh852533</a>  <p><a href="https://cooperati.com.br/wp-content/uploads/2012/10/image.png"><img style="border-right-width: 0px;padding-left: 0px;padding-right: 0px;border-top-width: 0px;border-bottom-width: 0px;border-left-width: 0px;padding-top: 0px" border="0" alt="image" src="https://cooperati.com.br/wp-content/uploads/2012/10/image_thumb.png" width="620" height="194"></a>  <p><u>Dica</u>: É possível pegar todas essas validações e
gerar um script que analisa o Active Directory  <h3>Atributos sincronizados pelo DirSync</h3> <p>“List of attributes that are synchronized to Office 365 and attributes that are written back to the on-premises Active Directory Domain Services” (<a href="http://support.microsoft.com/kb/2256198/en-us">http://support.microsoft.com/kb/2256198/en-us</a>)  <p>Dentre outros desafios, como a migração em si, num projeto com Lotus Notes, também temos atributos em branco no e-mail.  <p>Directory Preparation For Lotus Notes Migration (DirPrep)  <p>O script de Preparação de Diretório (DirPrep) facilita a migração com êxito do Lotus Notes para o Office 365.  <h3>DirPrep prepara o Active Directory a partir do Notes para migração para o Exchange Online.</h3> <p>O processo de preparação de diretório usa o script DirPrep para preencher todos os atributos relacionados ao email para contas de usuário, criar contas para representar caixas de correio de grupo/compartilhadas, criar contas para salas e recursos e criar grupos no Active Directory para cada grupo que está sendo migrado do Lotus Notes.  <p>(<a href="http://technet.microsoft.com/en-us/library/hh974319.aspx">http://<a href="http://technet.microsoft.com/en-us/library/hh974319.aspx">technet.microsoft.com/en-us/library/hh974319.aspx</a></a>)  <h3>Mais informações sobre limite de sincronismo</h3> <p><font color="#a5a5a5">A Directory Service quota is implemented by using Office 365 as a method to limit the maximum number of objects that can be created and owned by a single security principal. If an online company has a legitimate need to synchronize more than the Directory Service quota limit, the company must submit an Service Request with the Office 365 Technical Support. </font> <p><font color="#a5a5a5">Q. Do objects that were manually added through the Office 365 portal or the Office 365 API such as Exchange Online PowerShell count against my online company quota? </font> <p><font color="#a5a5a5">A. Yes. </font> <p><font color="#a5a5a5">Q. Do deleted objects count against my online company quota? </font> <p><font color="#a5a5a5">A. Yes . When an Office 365 customer deletes an object from his or her online company, the deleted object is put into a deleted objects container in the Office 365 Directory Service. The object remains in the deleted objects container until the tombstone lifetime expires. The expiration is currently set to 30 days for Microsoft Online Services. All objects in the deleted objects container continue to consume up to 25 percent of the AD DS quota for an online company. </font> <p><font color="#a5a5a5">For example, consider the following scenario. An online company is evaluating Office 365 by using a nonproduction on-premises AD DS environment. The company performs a bulk synchronization of 8,000 group objects and contact objects by using the Directory Synchronization Tool. Later, the online company decides to do the following: </font> <p><font color="#a5a5a5">1. Delete those group objects and contact objects from the company's on-premises nonproduction AD DS environment </font> <p><font color="#a5a5a5">2. Add 8,000 user objects to its on-premises nonproduction AD DS environment </font> <p><font color="#a5a5a5">3. Synchronize the updates to its online company </font> <p><font color="#a5a5a5">The 8,000 group objects and contact objects are moved to the deleted objects container in the Office 365 Directory Service (DS). And, these objects continue to consume up to 25 percent of the online company quota (This percentage is equal to 2,000 objects, or 8,000 × 25 percent) until they are permanently removed after the 30-day tombstone period. Therefore, after synchronizing the 5,000 new user objects, the online company will consume 10,000 objects of its available AD DS quota, 2,000 from deleted objects plus 8,000 from new user objects. During the 30-day tombstone period (and this period may coincide with the online company evaluation period), the online company may be unable to add any additional objects by using the Directory Synchronization. This condition occurs because the online company's Directory Service quota has been reached. </font> <p><font color="#a5a5a5">In this scenario, the online company that is performing the evaluation of Office 365 must reduce the number of objects in its non-production on-premises AD DS environment to complete the product evaluation. However, if the online company cannot reduce the number of objects, the company must request an increase in its Office 365 Directory Service quota.</font>  <p><strong><em>Serão sincronizados:</em></strong>  <ul> <li>Todas as contas de usuários (exceto algumas contas de sistema)  <li>Todos os contatos mail-enabled (mas não contatos que não são mail-enabled)  <li>Todos os Grupos de Segurança e Grupos de Distribuição mail-enabled</li></ul> <p><strong><em>Comportamento do Sincronismo:</em></strong>  <ul> <li>Novos usuários adicionados ao Active Directory são sincronizados para o Office 365  <li>Usuários, grupos ou contatos existentes que são apagados no on-premises são apagados também do Office 365.  <li>Usuários que são desabilitados no on-premises são desabilitados no Office 365  <li>Atributos existentes de usuários, contatos e grupos (que são sincronizados) que forem modificados no on-premises serão modificados no Office 365  <li>Nem todos os atributos são sincronizados, mas os mais significativos (em torno de 100).  <li>Uma vez implantada a sincronização, o Active Directory on-premises se torna “dono” dos objetos  <li>Em outras palavras, modificações em objetos sincronizados devem ocorrer no Active Directory on-premises  <li>Objetos sincronizados não podem ser modificados ou apagados via portal ou powershell  <li>Para remover tais objetos, eles devem ser apagados no Active Directory on-premises</li></ul> <p><strong><em>Usuários</em></strong></p> <ul> <li>Mail-enabled/mailbox-enabled são sincronizados como mail-enabled (não mailbox-enabled)  <li>Visível na GAL do Office 365 (ao menos que estejam ocultas no on-premises)  <li>Contas desabilitadas  <li>Target address é sincronizado para usuários mail-enabled  <li>Usuários simples são sincronizados como usuários simples  <li>Não são provisionados como mail-enabled no Office 365  <li>Resource mailboxes são sincronizados como resource mailboxes  <li>Usuários sincronizados não são assinalados com uma licença automaticamente  <li>Requer intervenção ou via Portal de Administração ou PowerShell para designar a licença.</li></ul> <p><strong><em>Informações Gerais</em></strong>  <ul> <li>Senhas não são sincronizadas  <li>Sincronização é no sentido on-premises para o Office 365  <li>Exceto se o “write-back” for habilitado  <li>Ocorre a cada três horas (por padrão)  <li>Use “Start-OnlineCoexistenceSync” cmdlet para forçar a sincronização  <li>O intervalo pode ser modificado através do arquivo Microsoft.Online.DirSync.Scheduler.exe.config.  <li>Atributo SyncTimeInterval (Usar intervalos coerentes)  <li>Deve ser instalado na rede interna e não na DMZ  <li>Comunicação é feita através da porta 443 (<u><a href="http://onlinehelp.microsoft.com/en-us/office365-enterprises/ff652544.aspx">http://</a></u><u><a href="http://onlinehelp.microsoft.com/en-us/office365-enterprises/ff652544.aspx">onlinehelp.microsoft.com/en-us/office365-enterprises/ff652544.aspx</a></u>)  <li>Não há uma solução de HA  <li>Uma queda no DirSync não gera indisponibilidade os serviços do Office 365  <li>Não instale junto com outro servidor desempenhando serviço de Diretório (ADDS, ADFS, etc.)  <li>Dê preferência a versão 64bits baseado no FIM  <li>Versão 32 bits não está mais disponível para download.  <li>O computador deve ser capaz de se comunicar com qualquer controlador de domínio da floresta</li></ul> <p><strong><em>Sincronização</em></strong>  <ul> <li>O atributo objectGuid AD attribute é assinalado como valor do atributo sourceAnchor durante a sincronização inicial de um objeto  <li>Isto é conhecido como “hard match”  <li>Dirsync sabe qual objeto é o “dono” do objeto sincronizado examin
ando o atributo sourceAnchor  <li>DirSync pode também sincronizar objetos criados pelo portal se um dos endereços proxyaddresses for igual ao do objeto no Active Directory  <li>Isto é conhecido como “soft match”  <li>Os atributos proxyAddresses são sincronizados  <li>Necessita de um domínio correspondente no tenant  <li>Updates são sincronizados mesmo após o assinalamento de licença</li></ul> <p><u>Nota:</u> Por padrão a floresta inteira do Active Directory é o escopo da sincronização.</p> <p><strong><em>Processo de Sincronização</em></strong>  <p>1. Verificar se o objeto existe com o mesmo SourceAnchor (hard match)  <p>a) Se o objeto for encontrado, será atualizado  <p>2. Se não foi feito o hardmatch será tentando um match usando o endereço SMTP (soft match)  <p>a) Se o objeto for encontrado, grava SourceAnchor para uso em sincronismos posteriores  <p>3. Se nenhum dos matches acima tiveram sucesso um novo objeto será criado.  <p><em>É recomendado um servidor que exceda o requerimento mínimo</em></p> <table border="0" cellspacing="0" cellpadding="2" width="468"> <tbody> <tr> <td valign="top" width="178"><strong>Número de objetos no AD</strong></td> <td valign="top" width="89"><strong>CPU</strong></td> <td valign="top" width="111"><strong>Memória</strong></td> <td valign="top" width="88"><strong>Hard Disk</strong></td></tr> <tr> <td valign="top" width="178">Menos que 10.000</td> <td valign="top" width="89">1.6 GHz</td> <td valign="top" width="111">4 GB</td> <td valign="top" width="88">70 GB</td></tr> <tr> <td valign="top" width="178">10.000 – 50.000</td> <td valign="top" width="89">1.6 GHz</td> <td valign="top" width="111">4 GB</td> <td valign="top" width="88">70 GB</td></tr> <tr> <td valign="top" width="178">50.000 – 100.000</td> <td valign="top" width="89">1.6 GHz</td> <td valign="top" width="111">16 GB</td> <td valign="top" width="88">100 GB</td></tr> <tr> <td valign="top" width="178">100.000 – 300.000</td> <td valign="top" width="89">1.6 GHz</td> <td valign="top" width="111">32 GB</td> <td valign="top" width="88">300 GB</td></tr> <tr> <td valign="top" width="178">300.000 – 600.000</td> <td valign="top" width="89">1.6 GHz</td> <td valign="top" width="111">32 GB</td> <td valign="top" width="88">450 GB</td></tr> <tr> <td valign="top" width="178">Mais que 600.000</td> <td valign="top" width="89">1.6 GHz</td> <td valign="top" width="111">32 GB</td> <td valign="top" width="88">500 GB</td></tr></tbody></table> <p><strong><em>Permissões</em></strong></p> <ul> <li>Usuário logado no computador com o DirSync instalado deve ser um membro do grupo local MIIS Admins. Este grupo foi criado durante a instalação do DirSync.  <li>Durante a configuração do DirSync será necessário prover:  <li>Credencial de Enterprise Admin do Active Directory on-premise.  <li>Esta conta não é salva na instalação ou configuração do Dirsync  <li>É apenas utilizada para criar a conta de domínio “MSOL_AD_Sync” no container “CN=Users” do domínio raiz da floresta  <li>Utilizada para delegar as seguintes permissões em cada partição de domínio da floresta:  <li>Replicating Directory Changes  <li>Replicating Directory Changes all  <li>Replication Synchronization  <li>Credencial de Global Administrator no Microsoft Online Services.  <li>Se utilizando SQL, direitos dentro do SQL para criar a base de dados do Dirsync, e configurar a conta do SQL Service com o papel de db_owner  <li>O DirSync roda sob contexto de um usuário comum com privilégios específicos. Não usa a conta de administração.</li></ul> <p>&nbsp;</p> <h3>Office 365 – Usuários Aparecem com o Domínio O365 após o DirSync</h3> <p>Este vídeo mostra como resolver problemas relacionados com nome, e-mail ou proxy adresses de&nbsp; usuários que estão sendo mostrados com o domínio errado após uma sincronização do diretório.  <p><a href="http://community.office365.com/en-us/blogs/office_365_technical_blog/archive/2011/05/06/video-office-365-users-appear-with-o365-domain-after-dirsync.aspx">http</a><a href="http://community.office365.com/en-us/blogs/office_365_technical_blog/archive/2011/05/06/video-office-365-users-appear-with-o365-domain-after-dirsync.aspx">://</a><a href="http://community.office365.com/en-us/blogs/office_365_technical_blog/archive/2011/05/06/video-office-365-users-appear-with-o365-domain-after-dirsync.aspx">community.office365.com/en-us/blogs/office_365_technical_blog/archive/2011/05/06/video-office-365-users-appear-with-o365-domain-after-dirsync.aspx</a>  <p>&nbsp; <h3>Agora é suportado criar filtros para a sincronização.</h3> <p><a href="http://community.office365.com/en-us/wikis/sso/configure-filtering-for-directory-synchronization.aspx">http://community.office365.com/en-us/wikis/sso/configure-filtering-for-directory-synchronization.aspx</a>  <p>...testem amplamente o fluxo de mensagens, pois mensagens que originalmente eram Mail Enabled Users não aparecerão mais na GAL e poderão gerar algum grau de inconsistência.  <p>

Nota: Dependendo da necessidade de “filtro”, trabalhar com o atributo msExchHideFromAddressLists já poderá ser uma opção boa o suficiente pois representa um risco menor.

 

Como forçar a sincronização em Delta do DirSync?

No caminho onde a ferramenta de sincronização foi instalada (normalmente C:\Program Files\Microsoft Online Directory Sync)

Dê um duplo clique no arquivo DirSyncConfigShell.psc1

image

image

image

 

Como abrir a console do DirSync?

Para abrir o console do DirSync, execute o arquivo miisclient.exe que normalmente é instalado no seguinte caminho:

C:\Program Files\Microsoft Online Directory Sync\SYNCBUS\Syncronization Service\UIShell

Com ele podemos verificar:

image

image

image

 

Como
forçar a sincronização *FULL* do DirSync?

Em alguns casos pode ser necessária a sincronização total do ambiente para o Office 365.

Para fazermos isto devemos alterar a seguinte chave do registro do servidor onde o Dirsync foi instalado: HKLM/Software/Microsoft/MSOLCoExistence

Nesta chave alterar o valor do registro FullSyncNeeded para 1, conforme abaixo:

image

 

Como modificar o intervalo de sincronização?

Para modificarmos o intervalo padrão de sincronização (três horas), devemos efetuar o seguinte procedimento no servidor onde o Dirsync está instalado:

Alterar o arquivo que se encontra no diretório de instalação, normalmente o caminho C:\Program Files\Microsoft Online Directory Sync\

Neste diretório editar com o bloco de notas o seguinte arquivo: Microsoft.Online.DirSync.Scheduler.exe.Config

image

 

Semana que vêm darei continuidade na parte II focando ADFS. Até lá!

Share

    Deixe um comentário

    O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

    © 2019 All Rights Reserved. Cooperati.