Azure AD Connect: Atualização de uma versão anterior para a mais recenteAzure AD Connect: Upgrade from a previous version to the latest

Este tópico descreve os diferentes métodos que você pode usar para atualizar sua instalação do Azure Active Directory (Azure AD) Connect para a versão mais recente.This topic describes the different methods that you can use to upgrade your Azure Active Directory (Azure AD) Connect installation to the latest release. Recomendamos que você se mantenha atualizado com as versões do Azure AD Connect.We recommend that you keep yourself current with the releases of Azure AD Connect. Também é possível usar as etapas descritas na seção migração Swing ao fazer uma alteração significativa na configuração.You also use the steps in the Swing migration section when you make a substantial configuration change.

Observação

Atualmente, há suporte para atualizar a partir de qualquer versão do Azure AD Connect para a versão atual.It is currently supported to upgrade from any version of Azure AD Connect to the current version. Não há suporte para atualizações in-loco de DirSync ou ADSync e uma migração swing é necessária.In-place upgrades of DirSync or ADSync are not supported and a swing migration is required. Se você quiser atualizar do DirSync, consulte atualizar da ferramenta de sincronização do Azure AD (DirSync) ou o migração Swing seção.If you want to upgrade from DirSync, see Upgrade from Azure AD sync tool (DirSync) or the Swing migration section.
Na prática, os clientes em versões muito antigas podem encontrar problemas que não estão diretamente relacionados ao Azure AD Connect.In practice, customers on extremely old versions may encounter problems not directly related to Azure AD Connect. Servidores que estão em produção por vários anos, normalmente tiveram vários patches aplicados a eles e nem todas elas podem ser consideradas.Servers that have been in production for several years, typically have had several patches applied to them and not all of these can be accounted for. Em geral, os clientes que não fizeram a atualização em 12 a 18 meses devem considerar uma atualização swing em vez disso, como essa é a opção mais conservador e menos arriscada.Generally, customers who have not upgraded in 12-18 months should consider a swing upgrade instead as this is the most conservative and least risky option.

Se você quiser atualizar do DirSync, confira Atualizar da ferramenta de sincronização do Azure AD (DirSync).If you want to upgrade from DirSync, see Upgrade from Azure AD sync tool (DirSync) instead.

Há algumas estratégias diferentes que podem ser usadas para atualizar o Azure AD Connect.There are a few different strategies that you can use to upgrade Azure AD Connect.

MétodoMethod DESCRIÇÃODescription
Atualização automáticaAutomatic upgrade Para clientes com uma instalação expressa, esse é o método mais simples.This is the easiest method for customers with an express installation.
Atualização in-locoIn-place upgrade Se você tiver apenas um servidor, é possível atualizar a instalação in-loco no mesmo servidor.If you have a single server, you can upgrade the installation in-place on the same server.
Migração swingSwing migration Com dois servidores, é possível preparar um dos servidores com a nova versão ou configuração e alterar o servidor ativo quando você estiver pronto.With two servers, you can prepare one of the servers with the new release or configuration, and change the active server when you're ready.

Para informações sobre permissões, consulte as permissões necessárias para uma atualização.For permissions information, see the permissions required for an upgrade.

Observação

Depois que você tiver ativado o novo servidor do Azure AD Connect para iniciar a sincronização de alterações para o Azure AD, não deverá reverter usando o DirSync ou o Azure AD Sync. Fazer downgrade do Azure AD Connect para clientes herdados, incluindo o DirSync e o Azure AD Sync, não tem suporte e pode levar a problemas como a perda de dados no Azure AD.After you've enabled your new Azure AD Connect server to start synchronizing changes to Azure AD, you must not roll back to using DirSync or Azure AD Sync. Downgrading from Azure AD Connect to legacy clients, including DirSync and Azure AD Sync, isn't supported and can lead to issues such as data loss in Azure AD.

Atualização in-locoIn-place upgrade

Uma atualização in-loco funciona para mudar do Azure AD Sync ou do Azure AD Connect.An in-place upgrade works for moving from Azure AD Sync or Azure AD Connect. Ele não funcionará para a migração do DirSync ou para uma solução com o FIM (Forefront Identity Manager) + Azure AD Connector.It doesn't work for moving from DirSync or for a solution with Forefront Identity Manager (FIM) + Azure AD Connector.

Esse será o método preferencial quando você tiver um único servidor e menos de cerca de 100.000 objetos.This method is preferred when you have a single server and less than about 100,000 objects. Se houver várias alterações nas regras de sincronização prontas para uso, uma importação completa e uma sincronização completa ocorrerão após a atualização.If there are any changes to the out-of-box sync rules, a full import and full synchronization occur after the upgrade. Esse método assegura que a nova configuração seja aplicada a todos os objetos existentes no sistema.This method ensures that the new configuration is applied to all existing objects in the system. Essa execução pode levar algumas horas, dependendo do número de objetos no escopo do mecanismo de sincronização.This run might take a few hours, depending on the number of objects that are in scope of the sync engine. O agendador da sincronização delta normal (que, por padrão, sincroniza a cada 30 minutos), será suspensa, mas a sincronização de senha continuará.The normal delta synchronization scheduler (which synchronizes every 30 minutes by default) is suspended, but password synchronization continues. Você pode considerar fazer a atualização in-loco durante um final de semana.You might consider doing the in-place upgrade during a weekend. Se não houver nenhuma alteração na configuração pronta para uso com a nova versão do Azure AD Connect, uma importação/sincronização delta normal será iniciada em vez disso.If there are no changes to the out-of-box configuration with the new Azure AD Connect release, then a normal delta import/sync starts instead.
Atualização in-loco

Se você tiver feito alterações nas regras de sincronização prontas, essas regras serão definidas para a configuração padrão na atualização.If you've made changes to the out-of-box synchronization rules, then these rules are set back to the default configuration on upgrade. Para certificar-se de que sua configuração seja mantida entre as atualizações, verifique se as alterações foram feitas como descrito em Práticas recomendadas para alterar a configuração padrão.To make sure that your configuration is kept between upgrades, make sure that you make changes as they're described in Best practices for changing the default configuration.

Durante a atualização in-loco, poderá haver alterações introduzidas que exijam que atividades de sincronização específicas (incluindo as etapas de importação completa e sincronização completa) sejam executadas após a conclusão da atualização.During in-place upgrade, there may be changes introduced that require specific synchronization activities (including Full Import step and Full Synchronization step) to be executed after upgrade completes. Para adiar tais atividades, consulte a seção Como adiar a sincronização completa após a atualização.To defer such activities, refer to section How to defer full synchronization after upgrade.

Se estiver usando o Azure AD Connect com um conector não padrão (por exemplo, Conector do LDAP Genérico e Conector do SQL Genérico), atualize a configuração do conector correspondente no Synchronization Service Manager após a atualização in-loco.If you are using Azure AD Connect with non-standard connector (for example, Generic LDAP Connector and Generic SQL Connector), you must refresh the corresponding connector configuration in the Synchronization Service Manager after in-place upgrade. Para obter detalhes sobre como atualizar a configuração do conector, consulte a seção do artigo Histórico de lançamento de versão do conector – Solução de problemas.For details on how to refresh the connector configuration, refer to article section Connector Version Release History - Troubleshooting. Se você não atualizar a configuração, as etapas de execução de importação e exportação não funcionarão corretamente para o conector.If you do not refresh the configuration, import and export run steps will not work correctly for the connector. Você receberá o seguinte erro no log de eventos do aplicativo com a mensagem “A versão do assembly na configuração do Conector do AAD (“X.X.XXX.X”) é anterior à versão real (“X.X.XXX.X”) de "C:\Program Files\Microsoft Azure AD Sync\Extensions\Microsoft.IAM.Connector.GenericLdap.dll"”.You will receive the following error in the application event log with message "Assembly version in AAD Connector configuration ("X.X.XXX.X") is earlier than the actual version ("X.X.XXX.X") of "C:\Program Files\Microsoft Azure AD Sync\Extensions\Microsoft.IAM.Connector.GenericLdap.dll".

Migração swingSwing migration

Se você tiver uma implantação complexa ou muitos objetos, talvez seja impossível fazer uma atualização in-loco do sistema dinâmico.If you have a complex deployment or many objects, it might be impractical to do an in-place upgrade on the live system. Para alguns clientes, o processo poderá levar vários dias e, durante esse tempo, nenhuma alteração delta será processada.For some customers, this process might take multiple days--and during this time, no delta changes are processed. Você também pode usar esse método quando planejar fazer alterações significativas em sua configuração e quiser experimentá-las antes de enviá-las por push para a nuvem.You can also use this method when you plan to make substantial changes to your configuration and you want to try them out before they're pushed to the cloud.

O método recomendado para estes cenários é usar uma migração swing.The recommended method for these scenarios is to use a swing migration. Você precisa de (pelo menos) dois servidores, um servidor ativo e um de preparo.You need (at least) two servers--one active server and one staging server. O servidor ativo (exibido com linhas azuis sólidas na imagem abaixo) será responsável pela carga de produção ativa.The active server (shown with solid blue lines in the following picture) is responsible for the active production load. O servidor de preparo (mostrado com linhas tracejadas roxas) está preparado com a nova versão ou configuração.The staging server (shown with dashed purple lines) is prepared with the new release or configuration. Quando estiver totalmente pronto, esse servidor ficará ativo.When it's fully ready, this server is made active. O servidor ativo anterior, agora com a versão ou configuração antiga instalada, se tornará o servidor de preparo e será atualizado.The previous active server, which now has the old version or configuration installed, is made into the staging server and is upgraded.

Os dois servidores podem usar versões diferentes.The two servers can use different versions. Por exemplo, o servidor ativo que você planeja desativar pode usar o Azure AD Sync e o novo servidor de preparo pode usar o Azure AD Connect.For example, the active server that you plan to decommission can use Azure AD Sync, and the new staging server can use Azure AD Connect. Se você usar a migração swing para desenvolver uma nova configuração, será uma boa ideia ter as mesmas versões nos dois servidores.If you use swing migration to develop a new configuration, it's a good idea to have the same versions on the two servers.
Servidor de preparo

Observação

Alguns clientes preferem ter três ou quatro servidores para este cenário.Some customers prefer to have three or four servers for this scenario. Quando o servidor de preparo é atualizado, você não tem um servidor de backup para a recuperação de desastres.When the staging server is upgraded, you don't have a backup server for disaster recovery. Com três ou quatro servidores, pode ser preparar um conjunto de servidores principais/em espera com a nova versão, garantindo que sempre haverá um servidor de preparo pronto para assumir o controle.With three or four servers, you can prepare one set of primary/standby servers with the new version, which ensures that there is always a staging server that's ready to take over.

Estas etapas também funcionam para mudar do Azure AD Sync ou de uma solução com o FIM + Azure AD Connector.These steps also work to move from Azure AD Sync or a solution with FIM + Azure AD Connector. Estas etapas não funcionam para o DirSync, mas o mesmo método de migração swing (também chamado de implantação paralela) com as etapas para o DirSync pode ser encontrado em Atualizar a sincronização do Azure Active Directory (DirSync).These steps don't work for DirSync, but the same swing migration method (also called parallel deployment) with steps for DirSync is in Upgrade Azure Active Directory sync (DirSync).

Usar uma migração swing para atualizarUse a swing migration to upgrade

  1. Se você usar o Azure AD Connect nos dois servidores e planejar fazer apenas uma alteração de configuração, certifique-se de que o servidor ativo e o servidor de preparo estejam usando a mesma versão.If you use Azure AD Connect on both servers and plan to only make a configuration change, make sure that your active server and staging server are both using the same version. Isso facilita a comparação de diferenças mais tarde.That makes it easier to compare differences later. Se você estiver atualizando do Azure AD Sync, esses servidores terão versões diferentes.If you're upgrading from Azure AD Sync, then these servers have different versions. Se você estiver atualizando de uma versão anterior do Azure AD Connect, é uma boa ideia começar com os dois servidores usando a mesma versão, mas isso não é obrigatório.If you're upgrading from an older version of Azure AD Connect, it's a good idea to start with the two servers that are using the same version, but it's not required.
  2. Se você tiver feito alguma configuração personalizada e o servidor de preparo não a tiver, siga as etapas em Mover a configuração personalizada do servidor ativo para o de preparo.If you've made a custom configuration and your staging server doesn't have it, follow the steps under Move a custom configuration from the active server to the staging server.
  3. Se estiver atualizando de uma versão anterior do Azure AD Connect, atualize o servidor de preparo para a versão mais recente.If you're upgrading from an earlier release of Azure AD Connect, upgrade the staging server to the latest version. Se estiver movendo do Azure AD Sync, instale o Azure AD Connect em seu servidor de preparo.If you're moving from Azure AD Sync, then install Azure AD Connect on your staging server.
  4. Permita que o mecanismo de sincronização execute a importação completa e a sincronização completa em seu servidor de preparo.Let the sync engine run full import and full synchronization on your staging server.
  5. Verifique se a nova configuração não causou alterações inesperadas usando as etapas descritas em “Verificar” em Verificar a configuração de um servidor.Verify that the new configuration didn't cause any unexpected changes by using the steps under "Verify" in Verify the configuration of a server. Se algo não acontecer conforme o esperado, siga as etapas para corrigir, executar a importação e a sincronização e verificar os dados até que eles fiquem corretos.If something isn't as expected, correct it, run the import and sync, and verify the data until it looks good, by following the steps.
  6. Altere o servidor de preparo para que ele passe a ser o servidor ativo.Switch the staging server to be the active server. Esta é a etapa final de “Alterar o servidor ativo” em Verificar a configuração de um servidor.This is the final step "Switch active server" in Verify the configuration of a server.
  7. Se estiver atualizando do Azure AD Connect, atualize o servidor que está no modo de preparo para a versão mais recente.If you're upgrading Azure AD Connect, upgrade the server that's now in staging mode to the latest release. Siga as mesmas etapas anteriores para atualizar os dados e a configuração.Follow the same steps as before to get the data and configuration upgraded. Se estiver atualizando do Azure AD Sync, agora você poderá desativar e encerrar o servidor antigo.If you upgraded from Azure AD Sync, you can now turn off and decommission your old server.

Mover uma configuração personalizada do servidor ativo para o servidor de preparoMove a custom configuration from the active server to the staging server

Se você tiver feito alterações de configuração no servidor ativo, precisará garantir que as mesmas alterações sejam aplicadas ao servidor de preparo.If you've made configuration changes to the active server, you need to make sure that the same changes are applied to the staging server. Para ajudar com essa mudança, você pode usar o Documentador de configuração do Azure AD Connect.To help with this move, you can use the Azure AD Connect configuration documenter.

Você pode mover as regras de sincronização personalizadas que você criou usando o PowerShell.You can move the custom sync rules that you've created by using PowerShell. Você deve aplicar outras alterações da mesma maneira em ambos os sistemas, mas não será possível migrar as alterações.You must apply other changes the same way on both systems, and you can't migrate the changes. O documentador de configuração pode ajudá-lo a comparar os dois sistemas para certificar-se de que eles são idênticos.The configuration documenter can help you comparing the two systems to make sure they are identical. A ferramenta também pode ajudar a automatizar as etapas desta seção.The tool can also help in automating the steps found in this section.

Você precisa configurar os seguintes itens da mesma maneira em ambos os servidores:You need to configure the following things the same way on both servers:

  • A conexão às mesmas florestasConnection to the same forests
  • Qualquer filtragem de domínio e de unidade organizacionalAny domain and OU filtering
  • Os mesmos recursos opcionais, como a sincronização de senha e o write-back de senhaThe same optional features, such as password sync and password writeback

Mover regras de sincronização personalizadasMove custom synchronization rules
Para mover regras de sincronização personalizadas, faça o seguinte:To move custom synchronization rules, do the following:

  1. Abra o Editor de Regras de Sincronização em seu servidor ativo.Open Synchronization Rules Editor on your active server.
  2. Selecione uma regra personalizada.Select a custom rule. Clique em Exportar.Click Export. Isso abre uma janela do Bloco de Notas.This brings up a Notepad window. Salve o arquivo temporário com uma extensão PS1.Save the temporary file with a PS1 extension. Isso o transforma em um script do PowerShell.This makes it a PowerShell script. Copie o arquivo PS1 para o servidor de preparo.Copy the PS1 file to the staging server.
    Exportação da regra de sincronizaçãoSync rule export
  3. O GUID do Conector é diferente no servidor de preparo e deve ser alterado.The Connector GUID is different on the staging server, and you must change it. Para obter o GUID, inicie o Editor de Regras de Sincronização, escolha uma das regras prontas que representam o mesmo sistema conectado e clique em Exportar.To get the GUID, start Synchronization Rules Editor, select one of the out-of-box rules that represent the same connected system, and click Export. Substitua o GUID em seu arquivo PS1 com o GUID do servidor de preparo.Replace the GUID in your PS1 file with the GUID from the staging server.
  4. Em um prompt do PowerShell, execute o arquivo PS1.In a PowerShell prompt, run the PS1 file. Isso cria a regra de sincronização personalizada no servidor de preparo.This creates the custom synchronization rule on the staging server.
  5. Repita essa etapa para todas as regras personalizadas.Repeat this for all your custom rules.

Como adiar a sincronização completa após a atualizaçãoHow to defer full synchronization after upgrade

Durante a atualização in-loco, poderá haver alterações introduzidas que exijam que atividades de sincronização específicas (incluindo as etapas de importação completa e sincronização completa) sejam executadas.During in-place upgrade, there may be changes introduced that require specific synchronization activities (including Full Import step and Full Synchronization step) to be executed. Por exemplo, as alterações de esquema do conector exigem a etapa de importação completa e as alterações de regra de sincronização integradas exigem que a etapa sincronização completa seja executada nos conectores afetados.For example, connector schema changes require full import step and out-of-box synchronization rule changes require full synchronization step to be executed on affected connectors. Durante a atualização, o Azure AD Connect determina quais atividades de sincronização são necessárias e registra-as como substituições.During upgrade, Azure AD Connect determines what synchronization activities are required and records them as overrides. No ciclo de sincronização seguinte, o agendador de sincronização seleciona essas substituições e executa-as.In the following synchronization cycle, the synchronization scheduler picks up these overrides and executes them. Quando uma substituição é executada com êxito, ela é removida.Once an override is successfully executed, it is removed.

Pode haver situações em que você não deseja que essas substituições ocorram imediatamente após a atualização.There may be situations where you do not want these overrides to take place immediately after upgrade. Por exemplo, você tem vários objetos sincronizados e deseja que essas etapas de sincronização ocorram depois do horário comercial.For example, you have numerous synchronized objects and you would like these synchronization steps to occur after business hours. Para remover essas substituições:To remove these overrides:

  1. Durante a atualização, desmarque a opção Iniciar o processo de sincronização ao concluir a configuração.During upgrade, uncheck the option Start the synchronization process when configuration completes. Isso desabilita o agendador de sincronização e impede que o ciclo de sincronização ocorra automaticamente antes que as substituições sejam removidas.This disables the synchronization scheduler and prevents synchronization cycle from taking place automatically before the overrides are removed.

    DisableFullSyncAfterUpgrade

  2. Após a conclusão da atualização, execute o seguinte cmdlet para descobrir quais substituições foram adicionadas: Get-ADSyncSchedulerConnectorOverride | flAfter upgrade completes, run the following cmdlet to find out what overrides have been added: Get-ADSyncSchedulerConnectorOverride | fl

    Observação

    As substituições são específicas do conector.The overrides are connector-specific. No exemplo a seguir, as etapas de importação completa e de sincronização completa foram adicionadas ao AD Connector local e no Azure AD Connector.In the following example, Full Import step and Full Synchronization step have been added to both the on-premises AD Connector and Azure AD Connector.

    DisableFullSyncAfterUpgrade

  3. Anote as substituições existentes que foram adicionadas.Note down the existing overrides that have been added.

  4. Para remover as substituições da importação completa e da sincronização completa em um conector qualquer, execute o seguinte cmdlet: Set-ADSyncSchedulerConnectorOverride -ConnectorIdentifier <Guid-of-ConnectorIdentifier> -FullImportRequired $false -FullSyncRequired $falseTo remove the overrides for both full import and full synchronization on an arbitrary connector, run the following cmdlet: Set-ADSyncSchedulerConnectorOverride -ConnectorIdentifier <Guid-of-ConnectorIdentifier> -FullImportRequired $false -FullSyncRequired $false

    Para remover as substituições de todos os conectores, execute o seguinte script do PowerShell:To remove the overrides on all connectors, execute the following PowerShell script:

    foreach ($connectorOverride in Get-ADSyncSchedulerConnectorOverride)
    {
        Set-ADSyncSchedulerConnectorOverride -ConnectorIdentifier $connectorOverride.ConnectorIdentifier.Guid -FullSyncRequired $false -FullImportRequired $false
    }
    
  5. Para retomar o agendador, execute o seguinte cmdlet: Set-ADSyncScheduler -SyncCycleEnabled $trueTo resume the scheduler, run the following cmdlet: Set-ADSyncScheduler -SyncCycleEnabled $true

    Importante

    Lembre-se de executar as etapas de sincronização necessárias assim que possível.Remember to execute the required synchronization steps at your earliest convenience. Você pode executar essas etapas manualmente usando o Synchronization Service Manager ou adicionar as substituições novamente usando o cmdlet Set-ADSyncSchedulerConnectorOverride.You can either manually execute these steps using the Synchronization Service Manager or add the overrides back using the Set-ADSyncSchedulerConnectorOverride cmdlet.

Para adicionar as substituições para a importação completa e para a sincronização completa em um conector qualquer, execute o seguinte cmdlet: Set-ADSyncSchedulerConnectorOverride -ConnectorIdentifier <Guid> -FullImportRequired $true -FullSyncRequired $trueTo add the overrides for both full import and full synchronization on an arbitrary connector, run the following cmdlet: Set-ADSyncSchedulerConnectorOverride -ConnectorIdentifier <Guid> -FullImportRequired $true -FullSyncRequired $true

solução de problemasTroubleshooting

A seção a seguir contém solução de problemas e informações que você pode usar se encontrar um problema ao atualizar o Azure AD Connect.The following section contains troubleshooting and information that you can use if you encounter an issue upgrading Azure AD Connect.

Erro inexistente do conector do Azure Active Directory durante a atualização do Azure AD ConnectAzure Active Directory connector missing error during Azure AD Connect upgrade

Quando você atualiza o Azure AD Connect de uma versão anterior, pode ocorrer o seguinte erro no início da atualizaçãoWhen you upgrade Azure AD Connect from a previous version, you might hit following error at the beginning of the upgrade

Erro

Esse erro ocorre porque o conector do Azure Active Directory com identificador, b891884f-051e-4a83-95af-2544101c9083, não existe na configuração atual do Azure AD Connect.This error happens because the Azure Active Directory connector with identifier, b891884f-051e-4a83-95af-2544101c9083, does not exist in the current Azure AD Connect configuration. Para verificar se este é o caso, abra uma janela do PowerShell, execute o Cmdlet Get-ADSyncConnector -Identifier b891884f-051e-4a83-95af-2544101c9083To verify this is the case, open a PowerShell window, run Cmdlet Get-ADSyncConnector -Identifier b891884f-051e-4a83-95af-2544101c9083

PS C:\> Get-ADSyncConnector -Identifier b891884f-051e-4a83-95af-2544101c9083
Get-ADSyncConnector : Operation failed because the specified MA could not be found.
At line:1 char:1
+ Get-ADSyncConnector -Identifier b891884f-051e-4a83-95af-2544101c9083
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ReadError: (Microsoft.Ident...ConnectorCmdlet:GetADSyncConnectorCmdlet) [Get-ADSyncConne
   ctor], ConnectorNotFoundException
    + FullyQualifiedErrorId : Operation failed because the specified MA could not be found.,Microsoft.IdentityManageme
   nt.PowerShell.Cmdlet.GetADSyncConnectorCmdlet

O cmdlet do PowerShell relata o erro que o MA especificado não pôde ser encontrado.The PowerShell Cmdlet reports the error the specified MA could not be found.

Isso ocorre porque a configuração atual do Azure AD Connect não é suportada para atualização.The reason that this occurs is because the current Azure AD Connect configuration is not supported for upgrade.

Se você deseja instalar uma versão mais recente do Azure AD Connect: feche o assistente do Azure AD Connect, desinstale o Azure AD Connect existente e execute uma instalação limpa do Azure AD Connect mais recente.If you want to install a newer version of Azure AD Connect: close the Azure AD Connect wizard, uninstall the existing Azure AD Connect, and perform a clean install of the newer Azure AD Connect.

Próximas etapasNext steps

Saiba mais sobre como integrar suas identidades locais ao Azure Active Directory.Learn more about integrating your on-premises identities with Azure Active Directory.