Compartilhar via


Guia de cenário: o GPO para mapear uma unidade de rede não se aplica conforme o esperado

Este guia de cenário explica como usar o TSS (TroubleShootingScript) para coletar dados para solucionar um problema no qual um GPO (Objeto de Política de Grupo) para mapear uma unidade de rede não se aplica conforme o esperado.

Guia de Solução de Problemas

Antes de continuar, consulte as diretrizes de solução de problemas de Aplicação da Diretiva de Grupo.

Ambiente

  • Nome de domínio: contoso.com
  • Sites do Active Directory: quatro sites (dois controladores de domínio por site) (Phoenix, Londres, Tóquio e Mumbai)
  • Número de controladores de domínio: oito
  • Sistema operacional do controlador de domínio: Windows Server 2019
  • Sistema operacional do computador cliente: Windows 11, versão 22H2

Diagrama da topologia do ambiente.

Neste cenário

Antes de começarmos a solucionar problemas, aqui estão algumas perguntas de escopo que podem nos ajudar a entender a situação e restringir a causa do problema:

  1. Quais são os sistemas operacionais cliente e servidor?
    Resposta: As máquinas cliente são Windows 11, versão 22H2, e o servidor de arquivos onde a unidade mapeada está localizada está no servidor Linux.

  2. Como você configura as preferências da Política de Grupo?
    Resposta: Temos um GPO chamado Mapped-Drive e esse GPO é configurado usando a extensão de unidades mapeadas das preferências da Política de Grupo.

    Captura de tela do resultado da política de grupo.

  3. Todos os usuários sob o escopo do GPO Mapped-Drive foram afetados?
    Resposta: Configuramos esse GPO para a unidade organizacional (UO) "Usuários de TI". Testamos com quatro a cinco usuários. Para todos eles, a unidade Z não está mapeada.

  4. O que acontece se você mapear manualmente a unidade em vez de usar as preferências de Diretiva de Grupo?
    Resposta: Podemos mapear com sucesso a unidade Z usando o net use comando para o mesmo servidor de arquivos.

  5. Esse GPO é um novo GPO ou o GPO funcionou antes?
    Resposta: Este GPO estava funcionando anteriormente e foi usado por todos os usuários para obter unidades mapeadas. Desde os últimos dias, as unidades mapeadas não estão funcionando.

  6. Ao executar gpresult /h e revisar a saída, você observa que a Unidade Mapeada do GPO está na lista aplicável?
    Resposta: Sim, observamos que o GPO de unidade mapeada é aplicado na lista aplicável.

    Captura de tela dos GPOs aplicados.

    Captura de tela que mostra que o GPO foi aplicado com êxito.

  7. Você configurou alguma filtragem de segurança, filtro WMI ou definiu alguma configuração de Negar (Aplicar) para o usuário ou um grupo?
    Resposta: O GPO é configurado com configurações padrão e nenhuma alteração é feita no GPO da perspectiva da filtragem de segurança, filtro WMI ou configuração de quaisquer permissões de negação.

Solução de problemas

Primeiro, colete os dados a seguir para solução de problemas. Como precisamos rastrear o logon ou a entrada, precisamos executar as tarefas a seguir como administrador local ou qualquer outra conta de usuário com credenciais de administrador local.

Observação

Essas etapas exigem que a troca rápida de usuário seja habilitada. Se você encontrar problemas ao tentar alternar usuários, verifique se a seguinte política ou valor do Registro está definido:

  • Política de Grupo: os pontos de entrada Ocultar para Política de Grupo de Troca Rápida de Usuário em Configuração do Computador\Modelos Administrativos\Sistema\Logon.
  • Chave do Registro: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System.
  • Valor de registro: HideFastUserSwitching
  1. Baixe o TSS e extraia o arquivo ZIP para a pasta C:\temp . Crie a pasta se ela não existir.

  2. Abra um comando do PowerShell com privilégios elevados e execute o comando:

    Set-ExecutionPolicy unrestricted
    

    Captura de tela do resultado do comando Set-ExecutionPolicy.

  3. Vá para c:\temp\TSS, onde você extraiu o arquivo TSS Zip.

  4. Execute .\TSS.ps1 -Start -Scenario ADS_GPOEx -Procmon. Aceite o contrato e aguarde até que o TSS comece a coletar dados.

    Captura de tela da ferramenta TSS.

  5. Alterne o usuário e entre com a conta de usuário que não vê a unidade Z mapeada.

  6. Depois que o login for bem-sucedido, abra um prompt de comando e execute gpresult /h appliedgpo.htm. Confirme se o GPO Mapped-Drive está na lista aplicável.

  7. Alterne o usuário novamente e entre com a conta de usuário que iniciou o log do TSS. Pressione Y.

  8. O TSS interromperá a coleta de dados e os dados coletados estarão localizados na pasta C:\MSDATA como um arquivo Zip ou uma pasta chamada TSS_<Machinename>_<Time>_ADS_GPOEx.

Para obter mais informações sobre o TSS, consulte Introdução ao conjunto de ferramentas TroubleShootingScript (TSS).

Análise de dados

Vá para a pasta c:\msdata onde o TSS salvou todos os relatórios e extraia o conteúdo do arquivo ZIP. Examine o arquivo chamado <Client_machinename-Time>><_Microsoft-Windows-GroupPolicy-Operational.evtx.

Evento inicial 4001

Captura de tela da ID do evento 4001.

Evento 5017 mostrando a UO "Usuários"

A unidade mapeada do GPO está vinculada à UO "Usuários".

Captura de tela do ID do evento 5017.

Evento 5312 mostrando a lista de GPOs aplicáveis

Vemos que a Unidade Mapeada do GPO está na lista aplicável.

Captura de tela da ID do evento 5312.

O evento 4016 mostrando que a extensão do Drive Maps da Diretiva de Grupo foi processada e bem-sucedida

Captura de tela do ID do evento 4016.

Rastreamento de preferências de Diretiva de Grupo

Nos logs operacionais da Diretiva de Grupo, observamos que a Diretiva de Grupo foi processada e as preferências de Diretiva de Grupo foram aplicadas com êxito. Além do acima, também podemos revisar o registro / rastreamento de preferências de Política de Grupo coletados pela ferramenta TSS.

O rastreamento de preferências de Política de Grupo é um registro extra que podemos habilitar para qualquer extensão do lado do cliente de preferências de Política de Grupo. O rastreamento GPOEx do TSS é habilitado por padrão.

Observação

Se você deseja habilitar manualmente o log GPSVC, siga Habilitando o log de depuração de preferências de política de grupo usando o RSAT.

Aqui, apresentamos como revisar e pesquisar o log do GPSVC para confirmar se a Política de Grupo foi aplicada ao cliente com êxito.

Em <Clientmachinename>_<Date_Time_GPPREF_User.txt>, observamos que a extensão GPP Mapped Drives está iniciando o processamento.

Observação

Para fins de brevidade e legibilidade, a análise contém apenas trechos de dados relevantes para solução de problemas e não todos os dados no log.

yyyy-mm-dd hh:mm::ss:sss [pid=0x3134,tid=0x4fc] Entering ProcessGroupPolicyExDrives()
yyyy-mm-dd hh:mm::ss:sss [pid=0x3134,tid=0x4fc] SOFTWARE\Policies\Microsoft\Windows\Group Policy\{5794DAFD-BE60-433f-88A2-1A31939AC01F}

A extensão Unidades Mapeadas de Política de Grupo identificou um GPO configurado com essa extensão e o nome é Unidade Mapeada:

yyyy-mm-dd hh:mm::ss:sss [pid=0x3134,tid=0x4fc] GPC : LDAP://CN=User,cn={6D6CECFD-C75A-43FA-8C32-0B5963E42C5B},cn=policies,cn=system,DC=contoso,DC=com
yyyy-mm-dd hh:mm::ss:sss [pid=0x3134,tid=0x4fc] GPT : \\contoso.com\SysVol\contoso.com\Policies\{6D6CECFD-C75A-43FA-8C32-0B5963E42C5B}\User
yyyy-mm-dd hh:mm::ss:sss [pid=0x3134,tid=0x4fc] GPO Display Name : Mapped-Drive
yyyy-mm-dd hh:mm::ss:sss [pid=0x3134,tid=0x4fc] GPO Name : {6D6CECFD-C75A-43FA-8C32-0B5963E42C5B}

Observamos que a unidade Z foi mapeada com sucesso:

yyyy-mm-dd hh:mm::ss:sss [pid=0x3134,tid=0x4fc] Starting class <Drive> - Z:.
yyyy-mm-dd hh:mm::ss:sss [pid=0x3134,tid=0x4fc] Policy is not flagged for removal.
yyyy-mm-dd hh:mm::ss:sss [pid=0x3134,tid=0x4fc] Completed class <Drive> - Z:.
yyyy-mm-dd hh:mm::ss:sss [pid=0x3134,tid=0x4fc] Completed class <Drives>.
yyyy-mm-dd hh:mm::ss:sss [pid=0x3134,tid=0x4fc] EVENT : The user 'Z:' preference item in the 'Mapped-Drive {6D6CECFD-C75A-43FA-8C32-0B5963E42C5B}' Group Policy Object applied successfully.
yyyy-mm-dd hh:mm::ss:sss [pid=0x3134,tid=0x4fc] Completed class <Drive> - Z:.
yyyy-mm-dd hh:mm::ss:sss [pid=0x3134,tid=0x4fc] Completed class <Drives>

Use procmon para encontrar o processo de remoção da unidade Z

Neste momento, sabemos que as preferências de Política de Grupo são aplicadas, mas a unidade Z não está visível. Podemos mapear manualmente a unidade, mas a unidade será excluída durante a entrada ou o logon. Portanto, há algumas outras configurações que excluem a unidade Z no computador durante o logon.

Em seguida, precisamos analisar o rastreamento procmon para observar o que excluiu a unidade mapeada. A ferramenta TSS também coleta o rastreamento procmon com a -Procmon opção que usamos para coletar os dados.

O traço procmon pode ser esmagador. Siga estas etapas para configurar um filtro para exibir os dados. O filtro pode ser usado para solucionar quaisquer problemas relacionados a unidades mapeadas.

  1. Abra o arquivo <Clientmachinename>_<date_time>_Procmon_0.pml.

  2. Selecione Filtro - Filtro.

  3. Adicione o filtro: Detalhe - contém - Z:.

    Captura de tela do filtro do monitor de processo.

  4. A saída do filtro mostra dois processos: cmd.exe e net.exe.

    Captura de tela do resultado do filtro que mostra cmd.exe e net.exe.

  5. Clique duas vezes em net.exe e vá para a guia Processo que inclui os seguintes parâmetros:

    • Linha de comando: a operação de exclusão da unidade mapeada.
    • PID pai: O processo pai do net.exe é 13436.
    • Usuário: o nome do usuário em cujo contexto esse processo foi executado. Em nosso exemplo, é a própria conta de usuário.

    Captura de tela da guia Processo das propriedades do evento no Procmon.

Em seguida, configure outro filtro para identificar quem gerou net.exe usando o filtro de processo pai.

  1. Vá para Filtro - Filtro e selecione Redefinir.

  2. Agora aplique o filtro a seguir usando o PID do pai.

    Filtre o rastreamento usando a condição PID is 13436.

Observamos que o PID está cmd.exe e parece que está processando um GPO com os seguintes parâmetros:

  • Linha de comando: C:\Windows\system32\cmd.exe /c "\contoso.com\SysVol\contoso.com\Policies{E347CA05-D21D-433D-9BCA-2FE555336749}\User\Scripts\Logon\deletedrives.bat"
  • PID pai: O processo pai do cmd.exe é 14900.
  • Usuário: o nome do usuário em cujo contexto esse processo foi executado. Em nosso exemplo, é o próprio usuário.

Captura de tela da guia Processo do processo 13436.

Agora, use o mesmo mecanismo e o filtro PID novamente acessando Filtro - de filtro, selecionando Redefinir e aplicando o seguinte filtro:

Captura de tela da guia Processo do processo 14900.

Observamos que GPScrpit.exe é o processo pai do processo cmd.exe . Usando essa dica, observamos que há um script de Política de Grupo que excluiu a unidade mapeada.

Captura de tela do processo 14900, que é o processo de Aplicativo de Script de Política de Grupo.

Resumo

  1. Net.exe está excluindo a unidade mapeada e seu processo pai é cmd.exe. O seguinte comando é executado:

    net use z: /delete
    
  2. CMD.exe está processando um arquivo .bat deletedrives.bat e seu processo pai é GPScript.exe.

    C:\Windows\system32\cmd.exe /c "\contoso.com\SysVol\contoso.com\Policies{E347CA05-D21D-433D-9BCA-2FE555336749}\User\Scripts\Logon\deletedrives.bat"
    
  3. GPScript.exe é o processo executado durante o logon para processar todos os scripts de logon.

Precisamos identificar o GPO que contém esse script de logon. Aqui estão dois métodos.

Método 1: Usar a saída Gpresult /h coletada durante a coleta de logs

Captura de tela da saída Gpresult /h.

Método 2: Usar o snap-in de gerenciamento de Diretiva de Grupo (GPMC.msc)

  1. Abra GPMC.msc em um controlador de domínio ou computador em que você tenha o snap-in instalado.

  2. Clique com o botão direito do mouse no domínio e selecione Pesquisar.

  3. Nos itens de pesquisa, selecione GUID e insira o GUID do GPO que encontramos no comando do cmd.exe.

    Pesquise GPO por GUID.

Identificamos que o GPO DomainWideSettings tem o script de logon.

Localize o GPO que causou o problema.

Se você não quiser que o GPO DomainWideSettings exclua a unidade mapeada, use um destes métodos:

  • Remova os scripts de logon do GPO DomainWideSettings , pois esse GPO é usado para definir outras configurações em todo o domínio.
  • Desvincule completamente o DomainWideSettings do GPO.
  • Defina uma "Herança de Política de Bloqueio" na UO "Usuários" em que o objeto de usuário está localizado.
  • Defina uma opção Negar "Aplicar GPO" para o grupo "Usuários" no GPO DomainWideSettings.