Inquiridor
Mapeamento de rede por VBS

Pergunta
-
Boa Tarde a todos.
Estou passando por uma situação aqui na minha empresa.
Situação é a seguinte:
Nos temos um servidor de arquivos aqui na empresa, o mesmo tem diversas subpastas.
Cada pasta principal tem uma unidade mapeada. Eu usava o net use, exemplo:
net use F: \\servidor\Pasta_Pricipal\pasta final
net use F: \\servidor\Pasta_Pricipal\pasta final
net use F: \\servidor\Pasta_Pricipal\pasta final
net use F: \\servidor\Pasta_Pricipal\pasta final
net use F: \\servidor\Pasta_Pricipal\pasta final
net use F: \\servidor\Pasta_Pricipal\pasta final
net use F: \\servidor\Pasta_Pricipal\pasta final
net use F: \\servidor\Pasta_Pricipal\pasta final
Ficava bonitinho, porem dentro do grupo da minha empresa, temos 3 marcas. Por exemplo: Marca A, marca B, marca C.
E isso estava confundindo os usuários, por exemplo “Pasta administrativa A, Pasta administrativa B, Pasta administrativa C”
No net use ele mostra o caminho, ele não renomeia de acordo com o que eu quero, ah não ser que eu renomeei na mão.
Sendo assim, fiz um script por VBS com o seguinte comando:
“
Option Explicit
Dim objNetwork, strDrive, objShell, objUNC, strODBC, WSHSHELL
Dim CAMINHO, UNIDADE, NOME
Dim CAMINHO2, UNIDADE2, NOME2
Dim CAMINHO3, UNIDADE3, NOME3
Dim CAMINHO4, UNIDADE4, NOME4
Dim CAMINHO5, UNIDADE5, NOME5
Dim CAMINHO6, UNIDADE6, NOME6
Dim CAMINHO7, UNIDADE7, NOME7
"E assim por diante até o 16"
'*****************************************************************************************************************************
'INICIALIZANDO DAS VARIÁVEIS
UNIDADE = "F:"
CAMINHO = "\\servidor\Pasta_Pricipal\pasta final"
NOME = "Administrativo A"
UNIDADE2 = "M:"
CAMINHO2 = "\\servidor\Pasta_Pricipal\pasta final"
NOME2 = "Comercial A"
UNIDADE3 = "P:"
CAMINHO3 = "\\servidor\Pasta_Pricipal\pasta final"
NOME3 = "Corporativo A"
UNIDADE4 = "H:"
CAMINHO4 = "\\servidor\Pasta_Pricipal\pasta final"
NOME4 = "DHO A"
UNIDADE5 = "N:"
CAMINHO5 = "\\servidor\Pasta_Pricipal\pasta final"
NOME5 = "Operacional A"
UNIDADE6 = "U:"
CAMINHO6 = "\\servidor\Pasta_Pricipal\pasta final"
NOME6 = "% %"
UNIDADE7 = "A:"
CAMINHO7 = "\\servidor\Pasta_Pricipal\pasta final"
NOME7 = "Administrativo B"
E assim por diante, até o 16
'*****************************************************************************************************************************
' MAPEAMEANDO OS DRIVES
Set objNetwork = CreateObject("WScript.Network")
ON ERROR RESUME NEXT
objNetwork.RemoveNetworkDRIVE UNIDADE
objNetwork.MapNetworkDrive UNIDADE, CAMINHO
Set objNetwork = CreateObject("WScript.Network")
ON ERROR RESUME NEXT
objNetwork.RemoveNetworkDRIVE UNIDADE2
objNetwork.MapNetworkDrive UNIDADE2, CAMINHO2
Set objNetwork = CreateObject("WScript.Network")
ON ERROR RESUME NEXT
objNetwork.RemoveNetworkDRIVE UNIDADE3
objNetwork.MapNetworkDrive UNIDADE3, CAMINHO3
Set objNetwork = CreateObject("WScript.Network")
ON ERROR RESUME NEXT
objNetwork.RemoveNetworkDRIVE UNIDADE4
objNetwork.MapNetworkDrive UNIDADE4, CAMINHO4
Set objNetwork = CreateObject("WScript.Network")
ON ERROR RESUME NEXT
objNetwork.RemoveNetworkDRIVE UNIDADE5
objNetwork.MapNetworkDrive UNIDADE5, CAMINHO5
Set objNetwork = CreateObject("WScript.Network")
ON ERROR RESUME NEXT
objNetwork.RemoveNetworkDRIVE UNIDADE6
objNetwork.MapNetworkDrive UNIDADE6, CAMINHO6
Set objNetwork = CreateObject("WScript.Network")
ON ERROR RESUME NEXT
objNetwork.RemoveNetworkDRIVE UNIDADE7
objNetwork.MapNetworkDrive UNIDADE7, CAMINHO7
E assim por diante, até o 16
'*****************************************************************************************************************************
' RENOMEANDO OS DRIVES
Set objShell = CreateObject("Shell.Application")
objShell.NameSpace(UNIDADE).Self.Name = NOME
Set objShell = CreateObject("Shell.Application")
objShell.NameSpace(UNIDADE2).Self.Name = NOME2
Set objShell = CreateObject("Shell.Application")
objShell.NameSpace(UNIDADE3).Self.Name = NOME3
Set objShell = CreateObject("Shell.Application")
objShell.NameSpace(UNIDADE4).Self.Name = NOME4
Set objShell = CreateObject("Shell.Application")
objShell.NameSpace(UNIDADE5).Self.Name = NOME5
Set objShell = CreateObject("Shell.Application")
objShell.NameSpace(UNIDADE6).Self.Name = NOME6
Set objShell = CreateObject("Shell.Application")
objShell.NameSpace(UNIDADE7).Self.Name = NOME7
E assim por diante até o 16
'*****************************************************************************************************************************
WScript.Quit “
Ficou lindo! Todas unidades com o nome da marca etc!
Mas dai chegamos ao meu problema.
Quando a pessoa inicia o computador e carrega o usuário, se não estiver conectada na minha rede, não mapeia nenhuma unidade.
Antes com o net use, quando alguém ligava a maquina e não estivesse na nossa rede, iria aparecer normalmente os mapeamentos, porem não conseguiriam se logar, a não ser que estivesse com a VPN conectada.
Resumindo. Quando alguém ligar a maquina quero que aparece todas as pastas mesmo que não esteja conectada na rede.” Não precisa conseguir abrir as pastas, só aparecer como era antigamente no net use”
Todas as Respostas
-
Boa noite,
Você já tentou criar um script que mapeia drives baseadas em membros em um Grupo de Diretório Ativo?
-
-
-
Ola Deivid,
https://stackoverflow.com/questions/13706267/launch-vbs-script-after-pc-startup
A solução seria fazer o script automaticamente rodar toda vez que o PC for recomeçado. Instruções no documento abaixo.
Opa tudo certo?
Fiz isso e tambem não deu certo. Hoje ele já roda toda vez que o computador é iniciado, por GPO. Porem, se estiver fora da minha rede, as pastas de mapeamento somem. "Este esta sendo o problema"