none
Windows 10 não mapeia unidades de rede automaticamente (server AD 2012 r2) RRS feed

  • Pergunta

  • Tenho um servidor Windows Server 2012 R2  e estou com problema para mapear unidades de rede durante o logon, nas estações com windows 10. Simplesmente não mapeia. Estações com windows 7 mapeiam normalmente.

    Criei GPO para mapeamento de Unidades, utilizando script .vbs. 

    Porém, não mapeiam. Se acessar servidores pela rede, e mandar mapear manualmente, mapeia sem problema. 

    Para executar o .vbs, tenho um .bat. Os dois arquivos estão no mesmo local (\\servidorad\netlogon)

    Alguém tem alguma idéia do que pode estar acontecendo?

    abaixo, conteudo do .vbs

    on error resume next
    
    'Objetos
    Set WshNetwork = CreateObject("WScript.Network")
    set objShell   = CreateObject( "WScript.Shell" )
    
     Remove mapeamentos
    'WshNetwork.RemoveNetworkDrive "G:", True, True
    'WshNetwork.RemoveNetworkDrive "M:", True, True
    'WshNetwork.RemoveNetworkDrive "N:", True, True
    'WshNetwork.RemoveNetworkDrive "P:", True, True
    'WshNetwork.RemoveNetworkDrive "Q:", True, True
    'WshNetwork.RemoveNetworkDrive "R:", True, True
    
    strUserName = objShell.ExpandEnvironmentStrings("%username%")
    strUserDomain = objShell.ExpandEnvironmentStrings("%userdomain%")
    
    'Configura Dicionário de Grupos
    Set dicGrupo = CreateObject("Scripting.Dictionary")
    dicGrupo.CompareMode = 1
    ADSPath = strUserDomain & "/" & strUserName
    Set userPath = GetObject("WinNT://" & ADSPath & ",user")
    For Each listGroup in userPath.Groups
    	dicGrupo.Add listGroup.Name, "-"
    next
    
    
    'Inicio do Script
    ' *****************************************************
    
    if IsMember("grupo01") then
    
    '	MapDrive "E:", "\\srv\E"
    	MapDrive "O:", "\\srv\O"
    '	MapDrive "E:", "\\srv\E"
    '	MapDrive "O:", "\\srv\O"
    	MapDrive "H:", "\\srv03\pasta" 
    	MapDrive "K:", "\\srv03\pasta" 
    	MapDrive "X:", "\\srv09\pasta"
    	MapDrive "V:", "\\srv\V" 
    
    end if
    
    if IsMember("grupo01") then
    
    '	MapDrive "E:", "\\srv\E"
    	MapDrive "O:", "\\srv\O"
    '	MapDrive "E:", "\\srv\E"
    '	MapDrive "O:", "\\srv\O" 
    	MapDrive "X:", "\\srv09\pasta" 
    	MapDrive "Y:", "\\srv06\pasta"
    	MapDrive "S:", "\\srv06\pasta"
    	MapDrive "V:", "\\srv\V" 
    
    end if
    
    ' *****************************************************
    ' Funções
    Function IsMember(groupName)
    	IsMember = cbool(dicGrupo.Exists(groupName))
    End Function
    
    Function MapDrive(DriveLetter, SharedPath)
    	On Error Resume Next
    	Set objNetwork = CreateObject("Wscript.Network")
    	if objNetwork.DriveExists(SharedPath) then
    		If objNetwork.DriveExists(DriveLetter) then
    			objNetwork.RemoveNetworkDrive DriveLetter, true, true
    		end if
    		objNetwork.MapNetworkDrive DriveLetter, SharedPath, true
    	end if
    	
    end Function

    Se alguém puder dar um help, fico muito grato.

    sexta-feira, 15 de janeiro de 2021 18:26

Todas as Respostas

  • jrmaluf, bom dia,

    Como tu tem um domínio e como tem DC é um Windows Server 2012 R2, recomendo utilizar GPO do tipo "Preferences", para mapeamento de unidades. Se tiver dúvida ou precisar de ajuda para configurar dessa outra forma, por favor, informa que lhe ajudamos.


    FABIANO MELLO - IT Pro | MCP | MTA | MOS | Microsoft Partner | MTAC

    sábado, 16 de janeiro de 2021 14:00
  • Olá

    O script de logon, você incluiu dentro do diretório da GPO que foi configurada?

    Se não, na hora de editar a gpo, abre o diretório e copia o arquivo para lá. 


    Olá, Obrigada por participar da Comunidade TechNet. Paulo Costa ____________________________________________________________________________ Por favor lembre-se de "Marcar como resposta" as respostas que solucionaram seu problema, é uma forma comum de reconhecer aquelas pessoas que te ajudaram, e faz com que seja mais fácil para os outros visitantes encontrar a solução depois. Microsoft oferece esse serviço de forma gratuita, com a finalidade de ajudar os usuários e ampliar a base de dados de conhecimentos relacionados com os produtos e tecnologias de Microsoft. Este conteúdo é proporcionado "tal qual" e não implica nenhuma responsabilidade por parte de Microsoft

    sábado, 16 de janeiro de 2021 21:57
  • Olá,

    use esse tutorial: Como mapear uma unidade de rede automaticamente via GPO (Group Policy) - Uni Academy


    MVP - Daniel Santos Blog: www.engdanielsantos.wordpress.com Twitter: @danielsantos_ti

    domingo, 17 de janeiro de 2021 12:20
  • Opa, obrigado pela resposta. TEm algum modelo referente a esta opção de configuração?
    quarta-feira, 20 de janeiro de 2021 16:22
  • Obrigado pela resposta. Sim, esta configurada na GPO.
    quarta-feira, 20 de janeiro de 2021 16:22
  • Ok...obrigado. Vou olhar o link fornecido. 
    quarta-feira, 20 de janeiro de 2021 16:23
  • Tenho um servidor Windows Server 2012 R2  e estou com problema para mapear unidades de rede durante o logon, nas estações com windows 10. Simplesmente não mapeia. Estações com windows 7 mapeiam normalmente.

    Criei GPO para mapeamento de Unidades, utilizando script .vbs. 

    Porém, não mapeiam. Se acessar servidores pela rede, e mandar mapear manualmente, mapeia sem problema. 

    Para executar o .vbs, tenho um .bat. Os dois arquivos estão no mesmo local (\\servidorad\netlogon)

    Alguém tem alguma idéia do que pode estar acontecendo?

    abaixo, conteudo do .vbs

    on error resume next
    
    'Objetos
    Set WshNetwork = CreateObject("WScript.Network")
    set objShell   = CreateObject( "WScript.Shell" )
    
     Remove mapeamentos
    'WshNetwork.RemoveNetworkDrive "G:", True, True
    'WshNetwork.RemoveNetworkDrive "M:", True, True
    'WshNetwork.RemoveNetworkDrive "N:", True, True
    'WshNetwork.RemoveNetworkDrive "P:", True, True
    'WshNetwork.RemoveNetworkDrive "Q:", True, True
    'WshNetwork.RemoveNetworkDrive "R:", True, True
    
    strUserName = objShell.ExpandEnvironmentStrings("%username%")
    strUserDomain = objShell.ExpandEnvironmentStrings("%userdomain%")
    
    'Configura Dicionário de Grupos
    Set dicGrupo = CreateObject("Scripting.Dictionary")
    dicGrupo.CompareMode = 1
    ADSPath = strUserDomain & "/" & strUserName
    Set userPath = GetObject("WinNT://" & ADSPath & ",user")
    For Each listGroup in userPath.Groups
    	dicGrupo.Add listGroup.Name, "-"
    next
    
    
    'Inicio do Script
    ' *****************************************************
    
    if IsMember("grupo01") then
    
    '	MapDrive "E:", "\\srv\E"
    	MapDrive "O:", "\\srv\O"
    '	MapDrive "E:", "\\srv\E"
    '	MapDrive "O:", "\\srv\O"
    	MapDrive "H:", "\\srv03\pasta" 
    	MapDrive "K:", "\\srv03\pasta" 
    	MapDrive "X:", "\\srv09\pasta"
    	MapDrive "V:", "\\srv\V" 
    
    end if
    
    if IsMember("grupo01") then
    
    '	MapDrive "E:", "\\srv\E"
    	MapDrive "O:", "\\srv\O"
    '	MapDrive "E:", "\\srv\E"
    '	MapDrive "O:", "\\srv\O" 
    	MapDrive "X:", "\\srv09\pasta" 
    	MapDrive "Y:", "\\srv06\pasta"
    	MapDrive "S:", "\\srv06\pasta"
    	MapDrive "V:", "\\srv\V" 
    
    end if
    
    ' *****************************************************
    ' Funções
    Function IsMember(groupName)
    	IsMember = cbool(dicGrupo.Exists(groupName))
    End Function
    
    Function MapDrive(DriveLetter, SharedPath)
    	On Error Resume Next
    	Set objNetwork = CreateObject("Wscript.Network")
    	if objNetwork.DriveExists(SharedPath) then
    		If objNetwork.DriveExists(DriveLetter) then
    			objNetwork.RemoveNetworkDrive DriveLetter, true, true
    		end if
    		objNetwork.MapNetworkDrive DriveLetter, SharedPath, true
    	end if
    	
    end Function

    Se alguém puder dar um help, fico muito grato.

    Pessoal, estou fazendo o mapeamento, através de criação de GPO´s por grupos de acesso. Cada GPO, deveria mapear apenas para os grupos de acesso indicado. Porem, so funciona se "usuarios autenticados" estiver atribuido também, nos filtros de segurança da gpo... alguém sabe me dizer o motivo de estar assim? - o que poderia ser ou o que eu poderia verificar?
    terça-feira, 26 de janeiro de 2021 18:43
  • jrmaluf, boa tarde,

    Manda um print, por favor, de como está aparecendo o filtro de segurança da GPO.


    FABIANO MELLO - IT Pro | MCP | MTA | MOS | Microsoft Partner | MTAC

    terça-feira, 26 de janeiro de 2021 18:46