Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
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
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:
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.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.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.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 onet use
comando para o mesmo servidor de arquivos.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.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.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
Baixe o TSS e extraia o arquivo ZIP para a pasta C:\temp . Crie a pasta se ela não existir.
Abra um comando do PowerShell com privilégios elevados e execute o comando:
Set-ExecutionPolicy unrestricted
Vá para c:\temp\TSS, onde você extraiu o arquivo TSS Zip.
Execute
.\TSS.ps1 -Start -Scenario ADS_GPOEx -Procmon
. Aceite o contrato e aguarde até que o TSS comece a coletar dados.Alterne o usuário e entre com a conta de usuário que não vê a unidade Z mapeada.
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.Alterne o usuário novamente e entre com a conta de usuário que iniciou o log do TSS. Pressione Y.
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
Evento 5017 mostrando a UO "Usuários"
A unidade mapeada do GPO está vinculada à UO "Usuários".
Evento 5312 mostrando a lista de GPOs aplicáveis
Vemos que a Unidade Mapeada do GPO está na lista aplicável.
O evento 4016 mostrando que a extensão do Drive Maps da Diretiva de Grupo foi processada e bem-sucedida
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.
Abra o arquivo <Clientmachinename>_<date_time>_Procmon_0.pml.
Selecione Filtro - Filtro.
Adicione o filtro: Detalhe - contém - Z:.
A saída do filtro mostra dois processos: cmd.exe e net.exe.
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.
Em seguida, configure outro filtro para identificar quem gerou net.exe usando o filtro de processo pai.
Vá para Filtro - Filtro e selecione Redefinir.
Agora aplique o filtro a seguir usando o PID do pai.
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.
Agora, use o mesmo mecanismo e o filtro PID novamente acessando Filtro - de filtro, selecionando Redefinir e aplicando o seguinte filtro:
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.
Resumo
Net.exe está excluindo a unidade mapeada e seu processo pai é cmd.exe. O seguinte comando é executado:
net use z: /delete
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"
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
Método 2: Usar o snap-in de gerenciamento de Diretiva de Grupo (GPMC.msc)
Abra GPMC.msc em um controlador de domínio ou computador em que você tenha o snap-in instalado.
Clique com o botão direito do mouse no domínio e selecione Pesquisar.
Nos itens de pesquisa, selecione GUID e insira o GUID do GPO que encontramos no comando do cmd.exe.
Identificamos que o GPO DomainWideSettings tem o script de logon.
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.